} catch (Exception e) {
e.printStackTrace();
}
}
}
Node old_condition = oldNode.getFirstChild();
if(old_condition!=null && old_condition.isPrecondition()){
Node new_condition=newNode.getFirstChild();
if(new_condition!=null && !new_condition.isPrecondition())new_condition=m_newTargetTree.insertPreconditionNode(newNode);
if(new_condition!=null)addTargetMapPair(old_condition, new_condition, status+1);
}
for(Node oldChild:oldNode.getChildren()){
Debug.println("$$$ addTargetMapPair oldChild="+oldChild+", oldChild.m_name="+oldChild.getName());
if(oldChild.isMultipleMap()){
Node oldChild0=Utils.getMultipleMappingOriginal(oldChild), newChild0=null;
// TODO: the result ct0 could be wrong, since it is possible to have more than one key mapped to the same value.
for(Entry<Node, Node> entry:m_targetMapArea.m_table_new2old.entrySet()){
if(entry.getValue()==oldChild0){
newChild0=entry.getKey();
break;
}
}
String oldChild_i_mapping=ScriptUtils.getInstanceTag(oldChild.m_deName);
Debug.println("$$$ cs.isMultipleMap() oldChild0="+oldChild0+", newChild0="+newChild0+", oldChild_i_mapping"+oldChild_i_mapping);
for(Node newChild:newNode.getChildren()){
if(newChild.isMultipleMap()){
Debug.println("\tMultiple mapping ct="+newChild);
Node newChild1=Utils.getMultipleMappingOriginal(newChild);
String newChild_i_mapping=ScriptUtils.getInstanceTag(newChild.m_deName);
Debug.println("$$$ cs.isMultipleMap() newChild1="+newChild1+", newChild_i_mapping"+newChild_i_mapping);
if(newChild1!=null&&newChild0!=null&&oldChild_i_mapping.equals(newChild_i_mapping)&&newChild1.getName().equals(newChild0.getName())){
Debug.println("Multiple mapping matches found");
addTargetMapPair(oldChild,newChild,status+1);
break;
}
}