@@ -0,0 +1,2048 @@
+package dataMapper.diagram.custom.configuration.operators;%0A%0Aimport java.util.ArrayList;%0A%0Aimport org.eclipse.emf.common.util.EList;%0A%0Aimport dataMapper.Element;%0Aimport dataMapper.Operator;%0Aimport dataMapper.OperatorRightConnector;%0Aimport dataMapper.SchemaDataType;%0Aimport dataMapper.Split;%0Aimport dataMapper.TreeNode;%0Aimport dataMapper.diagram.custom.configuration.function.AssignmentStatement;%0A%0Apublic class SplitTransform implements OperatorsTransformer %7B%0A%0A%09@Override%0A%09public AssignmentStatement transform(Operator operator) %7B%0A%09%09AssignmentStatement assign = new AssignmentStatement();%0A%09%09StringBuilder statement = new StringBuilder();%0A%09%09ArrayList%3CElement%3E splitOutputs = getOutputElements(operator);%0A%09%09Element splitInput = getInputElement(operator);%0A%09%09String index = %22%22;%0A%09%09if(splitInput.getFieldParent().getSchemaDataType().equals(SchemaDataType.ARRAY))%7B%0A%09%09%09index = %22%5Bi%5D%22;%0A%09%09%7D%0A%09%09Split split = (Split) operator;%0A%09%09int i=0;%0A%09%09for(Element output : splitOutputs)%7B%0A%0A%09%09%09%09statement.append(output.getFieldParent().getName()+index+%22.%22+output.getName()+ %22 = %22 + splitInput.getFieldParent().getName()+index+%22.%22+splitInput.getName()+%22.split(%5C%22%22+split.getDelimiter()+%22%5C%22)%22+%22%5B%22+i+%22%5D;%5Cn%22);%0A%0A%09%09%09i++;%0A%09%09%7D%0A%09%09%0A%09%09assign.setStatement(statement.toString());%0A%09%09return assign;%0A%09%7D%0A%09%0A%09private Element getInputElement( Operator operator) %7B%0A%09%09return operator.getBasicContainer().getLeftContainer().getLeftConnectors().get(0).getInNode().getIncomingLink().get(0).getOutNode().getElementParent();%0A%09%7D%0A%09@Override%0A%09public TreeNode getOutputElementParent(Operator operator) %7B%0A%09%09return getOutputElements(operator).get(0).getFieldParent();%0A%09%7D%0A%09%0A%09private ArrayList%3CElement%3E getOutputElements(Operator operator) %7B%0A%09%09EList%3COperatorRightConnector%3E rightConnectors = operator.getBasicContainer().getRightContainer().getRightConnectors();%0A%09%09ArrayList%3CElement%3E elementList = new ArrayList%3CElement%3E();%0A%09%09for(OperatorRightConnector connector : rightConnectors)%7B%0A%09%09%09elementList.add(connector.getOutNode().getOutgoingLink().get(0).getInNode().getElementParent());%0A%09%09%7D%0A%09%09return elementList;%0A%09%7D%0A%0A%7D%0A

implement code generation class for split operator