Fix Feature TDI-18966: when setting optional on the input loop node, then the loop nodes can be unavailable in the source file.

http://jira.talendforge.org/browse/TDI-18966

git-svn-id: http://talendforge.org/svn/tos/trunk@80240 f6f1c999-d317-4740-80b0-e6d1abc6f99e
This commit is contained in:
wliu
2012-03-21 11:07:21 +00:00
parent 44c0e87df5
commit bb69995bc7
2 changed files with 7 additions and 11 deletions

View File

@@ -52,7 +52,7 @@ public class Document implements java.io.Serializable{
* @param matchingMode
* @return
*/
public List<Map<String, Object>> LookupDocument(String loopXPath, Map<String, Object> lookupInfo,
public List<Map<String, Object>> LookupDocument(String loopXPath,boolean isOptionalLoop, Map<String, Object> lookupInfo,
Map<String, String> xpathOfResults, Map<String, String> nsMapping,
Map<String, String> xpathToTypeMap,Map<String, String> xpathToPatternMap,String matchingMode) {
if (doc == null || lookupInfo == null) {
@@ -66,7 +66,7 @@ public class Document implements java.io.Serializable{
docToFlat.setDoc(document);
docToFlat.setOriginalLoop(loopXPath);
docToFlat.setXmlNameSpaceMap(nsMapping);
docToFlat.flatForLookup();
docToFlat.flatForLookup(isOptionalLoop);
if(docToFlat.isLoopChanged()) {//never change the original lookup information object state
lookupInfo = docToFlat.getLookupInfo();
xpathOfResults = docToFlat.getXpathOfResults();