void removeInputByName(String name) { synchronized (inputs) { NamedInputPortNode removeMe = null; for (NamedInputPortNode nipn : inputs) { if (nipn.getPortName().equals(name)) { removeMe = nipn; } } if (removeMe != null) { this.inputs.remove(removeMe); } } }
private NamedInputPortNode nodeForName(String portName) throws WorkflowStructureException { for (NamedInputPortNode node : inputs) { if (node.getPortName().equals(portName)) { return node; } } throw new WorkflowStructureException("No port found with name '" + portName + "'"); }
public Map<String, Integer> getDesiredCardinalities() { Map<String, Integer> result = new HashMap<String, Integer>(); for (NamedInputPortNode nipn : inputs) { result.put(nipn.getPortName(), nipn.getCardinality()); } return result; }
@Override public String toString() { return getClass().getSimpleName() + " " + getPortName() + "(" + getCardinality() + ")"; }
@Override public String toString() { return getClass().getSimpleName() + " " + getPortName() + "(" + getCardinality() + ")"; }
private NamedInputPortNode nodeForName(String portName) throws WorkflowStructureException { for (NamedInputPortNode node : inputs) { if (node.getPortName().equals(portName)) { return node; } } throw new WorkflowStructureException("No port found with name '" + portName + "'"); }
private NamedInputPortNode nodeForName(String portName) throws WorkflowStructureException { for (NamedInputPortNode node : inputs) { if (node.getPortName().equals(portName)) { return node; } } throw new WorkflowStructureException("No port found with name '" + portName + "'"); }
public Map<String, Integer> getDesiredCardinalities() { Map<String, Integer> result = new HashMap<String, Integer>(); for (NamedInputPortNode nipn : inputs) { result.put(nipn.getPortName(), nipn.getCardinality()); } return result; }
public Map<String, Integer> getDesiredCardinalities() { Map<String, Integer> result = new HashMap<String, Integer>(); for (NamedInputPortNode nipn : inputs) { result.put(nipn.getPortName(), nipn.getCardinality()); } return result; }
public void removeInputByName(String name) { synchronized (inputs) { NamedInputPortNode removeMe = null; for (NamedInputPortNode nipn : inputs) { if (nipn.getPortName().equals(name)) { removeMe = nipn; } } if (removeMe != null) { this.inputs.remove(removeMe); removeMe.removeFromParent(); } } }
public void removeInputByName(String name) { synchronized (inputs) { NamedInputPortNode removeMe = null; for (NamedInputPortNode nipn : inputs) { if (nipn.getPortName().equals(name)) { removeMe = nipn; } } if (removeMe != null) { this.inputs.remove(removeMe); removeMe.removeFromParent(); } } }
private static Element elementForNode(AbstractIterationStrategyNode node) { Element nodeElement = null; if (node instanceof DotProduct) { nodeElement = new Element("dot"); } else if (node instanceof CrossProduct) { nodeElement = new Element("cross"); } else if (node instanceof PrefixDotProduct) { nodeElement = new Element("prefix"); } else if (node instanceof NamedInputPortNode) { NamedInputPortNode nipn = (NamedInputPortNode) node; nodeElement = new Element("port"); nodeElement.setAttribute("name", nipn.getPortName()); nodeElement.setAttribute("depth", nipn.getCardinality() + ""); } else { throw new IllegalArgumentException("Unknown node " + node); } Enumeration<?> children = node.children(); while (children.hasMoreElements()) { TreeNode tn = (TreeNode) children.nextElement(); nodeElement .addContent(elementForNode((AbstractIterationStrategyNode) tn)); } return nodeElement; }
private static Element elementForNode(AbstractIterationStrategyNode node) { Element nodeElement = null; if (node instanceof DotProduct) { nodeElement = new Element("dot", XMLSerializationConstants.T2_WORKFLOW_NAMESPACE); } else if (node instanceof CrossProduct) { nodeElement = new Element("cross", XMLSerializationConstants.T2_WORKFLOW_NAMESPACE); } else if (node instanceof PrefixDotProduct) { nodeElement = new Element("prefix", XMLSerializationConstants.T2_WORKFLOW_NAMESPACE); } else if (node instanceof NamedInputPortNode) { NamedInputPortNode nipn = (NamedInputPortNode) node; nodeElement = new Element("port", XMLSerializationConstants.T2_WORKFLOW_NAMESPACE); nodeElement.setAttribute("name", nipn.getPortName()); nodeElement.setAttribute("depth", nipn.getCardinality() + ""); } else { throw new IllegalArgumentException("Unknown node " + node); } Enumeration<?> children = node.children(); while (children.hasMoreElements()) { TreeNode tn = (TreeNode) children.nextElement(); nodeElement .addContent(elementForNode((AbstractIterationStrategyNode) tn)); } return nodeElement; }
private static Element elementForNode(AbstractIterationStrategyNode node) { Element nodeElement = null; if (node instanceof DotProduct) { nodeElement = new Element("dot", XMLSerializationConstants.T2_WORKFLOW_NAMESPACE); } else if (node instanceof CrossProduct) { nodeElement = new Element("cross", XMLSerializationConstants.T2_WORKFLOW_NAMESPACE); } else if (node instanceof PrefixDotProduct) { nodeElement = new Element("prefix", XMLSerializationConstants.T2_WORKFLOW_NAMESPACE); } else if (node instanceof NamedInputPortNode) { NamedInputPortNode nipn = (NamedInputPortNode) node; nodeElement = new Element("port", XMLSerializationConstants.T2_WORKFLOW_NAMESPACE); nodeElement.setAttribute("name", nipn.getPortName()); nodeElement.setAttribute("depth", nipn.getCardinality() + ""); } else { throw new IllegalArgumentException("Unknown node " + node); } Enumeration<?> children = node.children(); while (children.hasMoreElements()) { TreeNode tn = (TreeNode) children.nextElement(); nodeElement .addContent(elementForNode((AbstractIterationStrategyNode) tn)); } return nodeElement; }
@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 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 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()); }
assertTrue(terminal.getChildAt(0) instanceof NamedInputPortNode); assertEquals("input_1", ((NamedInputPortNode) terminal .getChildAt(0)).getPortName()); } else if (processor.getLocalName().equals("processor_b")) { AbstractIterationStrategyNode terminal = (AbstractIterationStrategyNode) iterationStrategies assertTrue(terminal.getChildAt(0).getChildAt(1) instanceof NamedInputPortNode); assertEquals("input_2", ((NamedInputPortNode) terminal .getChildAt(0).getChildAt(0)).getPortName()); assertEquals("input_3", ((NamedInputPortNode) terminal .getChildAt(0).getChildAt(1)).getPortName());
assertTrue(terminal.getChildAt(0).getChildAt(0) instanceof NamedInputPortNode); assertEquals("input_1", ((NamedInputPortNode) terminal .getChildAt(0).getChildAt(0)).getPortName()); } else if (processor.getLocalName().equals("processor_b")) { AbstractIterationStrategyNode terminal = (AbstractIterationStrategyNode) iterationStrategies .getChildAt(0).getChildAt(0)).getPortName()); assertEquals("input_2", ((NamedInputPortNode) terminal .getChildAt(0).getChildAt(1)).getPortName());
assertTrue(terminal.getChildAt(0).getChildAt(0) instanceof NamedInputPortNode); assertEquals("input_1", ((NamedInputPortNode) terminal .getChildAt(0).getChildAt(0)).getPortName()); } else if (processor.getLocalName().equals("processor_b")) { AbstractIterationStrategyNode terminal = (AbstractIterationStrategyNode) iterationStrategies assertTrue(terminal.getChildAt(0).getChildAt(1) instanceof NamedInputPortNode); assertEquals("input_2", ((NamedInputPortNode) terminal .getChildAt(0).getChildAt(0)).getPortName()); assertEquals("input_3", ((NamedInputPortNode) terminal .getChildAt(0).getChildAt(1)).getPortName());