protected Element processorToXML(Processor processor) throws IOException, JDOMException { Element result = new Element(PROCESSOR, T2_WORKFLOW_NAMESPACE); Element nameElement = new Element(NAME, T2_WORKFLOW_NAMESPACE); nameElement.setText(processor.getLocalName()); result.addContent(nameElement); // input and output ports Element inputPorts = processorInputPortsToXML(processor); Element outputPorts = processorOutputPortsToXML(processor); result.addContent(inputPorts); result.addContent(outputPorts); // annotations result.addContent(annotationsToXML(processor)); // list of activities Element activities = new Element(ACTIVITIES, T2_WORKFLOW_NAMESPACE); for (Activity<?> activity : processor.getActivityList()) { activities.addContent(activityToXML(activity)); } result.addContent(activities); // dispatch stack result.addContent(dispatchStackToXML(processor.getDispatchStack())); // iteration strategy result.addContent(iterationStrategyStackToXML(processor .getIterationStrategy())); return result; }
public Element processorToXML(Processor processor) throws IOException, JDOMException { Element result = new Element(PROCESSOR, T2_WORKFLOW_NAMESPACE); Element nameElement = new Element(NAME, T2_WORKFLOW_NAMESPACE); nameElement.setText(processor.getLocalName()); result.addContent(nameElement); // input and output ports Element inputPorts = processorInputPortsToXML(processor); Element outputPorts = processorOutputPortsToXML(processor); result.addContent(inputPorts); result.addContent(outputPorts); // annotations result.addContent(annotationsToXML(processor)); // list of activities Element activities = new Element(ACTIVITIES, T2_WORKFLOW_NAMESPACE); for (Activity<?> activity : processor.getActivityList()) { activities.addContent(activityToXML(activity)); } result.addContent(activities); // dispatch stack result.addContent(dispatchStackToXML(processor.getDispatchStack())); // iteration strategy result.addContent(iterationStrategyStackToXML(processor .getIterationStrategy())); return result; }
IterationStrategyStackXMLDeserializer.getInstance().deserializeIterationStrategyStack(iterationStrategyStack, result.getIterationStrategy());
IterationStrategyStackXMLDeserializer.getInstance().deserializeIterationStrategyStack(iterationStrategyStack, result.getIterationStrategy());
assertEquals("processor_A should have 1 input",1,processor_A.getInputPorts().size()); assertEquals("The should only be 1 activity",1,processorStringConstant.getActivityList().size()); assertEquals("Processor_A should have 1 iteration stragegy",1,processor_A.getIterationStrategy().getStrategies().size());
assertEquals("processor_A should have 1 input",1,processor_A.getInputPorts().size()); assertEquals("The should only be 1 activity",1,processorStringConstant.getActivityList().size()); assertEquals("Processor_A should have 1 iteration stragegy",1,processor_A.getIterationStrategy().getStrategies().size());
assertEquals("processor_A should have 1 input",1,processor_A.getInputPorts().size()); assertEquals("The should only be 1 activity",1,processorStringConstant.getActivityList().size()); assertEquals("Processor_A should have 1 iteration stragegy",1,processor_A.getIterationStrategy().getStrategies().size());
.getIterationStrategy(); assertEquals(1, iterationStrategies.getStrategies().size()); if (processor.getLocalName().equals("processor_a")) {
.getIterationStrategy(); assertEquals(1, iterationStrategies.getStrategies().size()); if (processor.getLocalName().equals("processor_a")) {
.getIterationStrategy(); assertEquals(1, iterationStrategies.getStrategies().size()); if (processor.getLocalName().equals("processor_a")) {
@Test public void dotProduct() throws Exception { Dataflow translated = WorkflowModelTranslator.doTranslation(iterateDot); Processor proc = null; for (Processor candidate : translated.getProcessors()) { if (candidate.getLocalName().equals("iterate")) { proc = candidate; break; } } assertNotNull("Can't find processor", proc); IterationStrategy itStrat = proc.getIterationStrategy().getStrategies() .get(0); assertEquals("Iteration should have 1 child", 1, itStrat .getTerminalNode().getChildCount()); IterationStrategyNode first = itStrat.getTerminalNode().getChildAt(0); assertTrue("Implicit strategy should be dot product ", first instanceof DotProduct); assertEquals("Should have 3 children", 3, first.getChildCount()); NamedInputPortNode node0 = (NamedInputPortNode) first.getChildAt(0); NamedInputPortNode node1 = (NamedInputPortNode) first.getChildAt(1); NamedInputPortNode node2 = (NamedInputPortNode) first.getChildAt(2); // Should be reverse order assertEquals("in2", node0.getPortName()); assertEquals("in1", node1.getPortName()); assertEquals("in0", node2.getPortName()); }
@Test public void implicitStrategy() throws Exception { Dataflow translated = WorkflowModelTranslator .doTranslation(iterateImplicit); Processor proc = null; for (Processor candidate : translated.getProcessors()) { if (candidate.getLocalName().equals("iterate")) { proc = candidate; break; } } assertNotNull("Can't find processor", proc); IterationStrategy itStrat = proc.getIterationStrategy().getStrategies() .get(0); assertEquals("Iteration should have 1 child", 1, itStrat .getTerminalNode().getChildCount()); IterationStrategyNode first = itStrat.getTerminalNode().getChildAt(0); assertTrue("Implicit strategy should be cross product ", first instanceof CrossProduct); assertEquals("Should have 3 children", 3, first.getChildCount()); NamedInputPortNode node0 = (NamedInputPortNode) first.getChildAt(0); NamedInputPortNode node1 = (NamedInputPortNode) first.getChildAt(1); NamedInputPortNode node2 = (NamedInputPortNode) first.getChildAt(2); // Should be reverse order assertEquals("in2", node0.getPortName()); assertEquals("in1", node1.getPortName()); assertEquals("in0", node2.getPortName()); }
@Test public void crossProduct() throws Exception { Dataflow translated = WorkflowModelTranslator .doTranslation(iterateCross); Processor proc = null; for (Processor candidate : translated.getProcessors()) { if (candidate.getLocalName().equals("iterate")) { proc = candidate; break; } } assertNotNull("Can't find processor", proc); IterationStrategy itStrat = proc.getIterationStrategy().getStrategies() .get(0); assertEquals("Iteration should have 1 child", 1, itStrat .getTerminalNode().getChildCount()); IterationStrategyNode first = itStrat.getTerminalNode().getChildAt(0); assertTrue("Implicit strategy should be cross product ", first instanceof CrossProduct); assertEquals("Should have 3 children", 3, first.getChildCount()); NamedInputPortNode node0 = (NamedInputPortNode) first.getChildAt(0); NamedInputPortNode node1 = (NamedInputPortNode) first.getChildAt(1); NamedInputPortNode node2 = (NamedInputPortNode) first.getChildAt(2); // Should be reverse order assertEquals("in2", node0.getPortName()); assertEquals("in1", node1.getPortName()); assertEquals("in0", node2.getPortName()); }