private EventHandlingInputPort findInputPort(Processor processor, String name) { for (EventHandlingInputPort inputPort : processor.getInputPorts()) { if (inputPort.getName().equals(name)) { return inputPort; } } return null; }
private EventHandlingInputPort findInputPort(Processor processor, String name) { for (EventHandlingInputPort inputPort : processor.getInputPorts()) { if (inputPort.getName().equals(name)) { return inputPort; } } return null; }
private EventHandlingInputPort findProcessorInputPort( Map<String, Processor> createdProcessors, String portName, String processorName) throws DeserializationException { EventHandlingInputPort result = null; Processor p = createdProcessors.get(processorName); if (p == null) throw new DeserializationException( "Unable to find processor named:" + processorName); for (ProcessorInputPort port : p.getInputPorts()) { if (port.getName().equals(portName)) { result = port; break; } } return result; }
private EventHandlingInputPort findProcessorInputPort( Map<String, Processor> createdProcessors, String portName, String processorName) throws DeserializationException { EventHandlingInputPort result = null; Processor p = createdProcessors.get(processorName); if (p == null) throw new DeserializationException( "Unable to find processor named:" + processorName); for (ProcessorInputPort port : p.getInputPorts()) { if (port.getName().equals(portName)) { result = port; break; } } return result; }
private Element processorInputPortsToXML(Processor processor) { Element inputPorts = new Element(PROCESSOR_INPUT_PORTS, T2_WORKFLOW_NAMESPACE); for (ProcessorInputPort port : processor.getInputPorts()) { Element portElement = new Element(PROCESSOR_PORT, T2_WORKFLOW_NAMESPACE); Element name = new Element(NAME, T2_WORKFLOW_NAMESPACE); Element depth = new Element(DEPTH, T2_WORKFLOW_NAMESPACE); name.setText(port.getName()); depth.setText(String.valueOf(port.getDepth())); portElement.addContent(name); portElement.addContent(depth); inputPorts.addContent(portElement); } return inputPorts; } }
public static ProcessorInputPort getProcessorInputPort(Processor processor, Activity<?> activity, InputPort activityInputPort) { ProcessorInputPort result = null; for (Entry<String, String> mapEntry : activity.getInputPortMapping() .entrySet()) { if (mapEntry.getValue().equals(activityInputPort.getName())) { for (ProcessorInputPort processorInputPort : processor .getInputPorts()) { if (processorInputPort.getName().equals(mapEntry.getKey())) { result = processorInputPort; break; } } break; } } return result; }
private Element processorInputPortsToXML(Processor processor) { Element inputPorts = new Element(PROCESSOR_INPUT_PORTS, T2_WORKFLOW_NAMESPACE); for (ProcessorInputPort port : processor.getInputPorts()) { Element portElement = new Element(PROCESSOR_PORT, T2_WORKFLOW_NAMESPACE); Element name = new Element(NAME, T2_WORKFLOW_NAMESPACE); Element depth = new Element(DEPTH, T2_WORKFLOW_NAMESPACE); name.setText(port.getName()); depth.setText(String.valueOf(port.getDepth())); portElement.addContent(name); portElement.addContent(depth); inputPorts.addContent(portElement); } return inputPorts; } }
public static ProcessorInputPort getProcessorInputPort(Processor processor, Activity<?> activity, InputPort activityInputPort) { ProcessorInputPort result = null; for (Entry<String, String> mapEntry : activity.getInputPortMapping() .entrySet()) { if (mapEntry.getValue().equals(activityInputPort.getName())) { for (ProcessorInputPort processorInputPort : processor .getInputPorts()) { if (processorInputPort.getName().equals(mapEntry.getKey())) { result = processorInputPort; break; } } break; } } return result; }
private void transferProcessor(List<Edit<?>> editList, Map<Object, Object> oldNewMapping, Dataflow nestedDataflow, Processor p) throws Exception { editList.add(edits.getRemoveProcessorEdit(currentDataflow, p)); Processor newProcessor = pasteProcessor(copyProcessor(p), nestedDataflow); oldNewMapping.put(p, newProcessor); for (ProcessorInputPort pip : p.getInputPorts()) for (ProcessorInputPort newPip : newProcessor.getInputPorts()) if (pip.getName().equals(newPip.getName())) { oldNewMapping.put(pip, newPip); break; } for (ProcessorOutputPort pop : p.getOutputPorts()) for (ProcessorOutputPort newPop : newProcessor.getOutputPorts()) if (pop.getName().equals(newPop.getName())) { oldNewMapping.put(pop, newPop); break; } }
private List<ProcessorInputPort> determineInputPortsForRemoval(Processor p,Activity<?>a) { List<ProcessorInputPort> result = new ArrayList<ProcessorInputPort>(); for (ProcessorInputPort pPort : p.getInputPorts()) { boolean found=false; for (ActivityInputPort aPort : a.getInputPorts()) { if (aPort.getName().equals(pPort.getName())) { if (pPort.getDepth() == aPort.getDepth()) { found=true; } break; } } if (!found) { result.add(pPort); } } return result; }
private List<ProcessorInputPort> determineInputPortsForRemoval(Processor p,Activity<?>a) { List<ProcessorInputPort> result = new ArrayList<ProcessorInputPort>(); for (ProcessorInputPort pPort : p.getInputPorts()) { boolean found=false; for (ActivityInputPort aPort : a.getInputPorts()) { if (aPort.getName().equals(pPort.getName())) { if (pPort.getDepth() == aPort.getDepth()) { found=true; } break; } } if (!found) { result.add(pPort); } } return result; }
public void fire(String owningProcess, InvocationContext context) { String newOwningProcess = owningProcess + ":" + getLocalName(); for (Processor p : processors) { if (p.getInputPorts().isEmpty()) { p.fire(newOwningProcess, context); } } }
public void testLockUnlock() throws UnsupportedEncodingException, MalformedIdentifierException, ActivityConfigurationException, EditException, InterruptedException { testLock(); System.out.println("Unlock (should produce both tokens) :"); Thread.sleep(200); WorkflowDataToken token2 = new WorkflowDataToken("outerProcess1", new int[0], Literal.buildLiteral("Another string"),context); p1.getInputPorts().get(0).receiveEvent(token2); assertTrue(deh2.getEventCount() == 1); }
public void testLock() throws UnsupportedEncodingException, MalformedIdentifierException, ActivityConfigurationException, EditException { create(); System.out.println("Lock (should produce no output) :"); WorkflowDataToken token = new WorkflowDataToken("outerProcess1", new int[0], Literal.buildLiteral("A string"), context); p2.getInputPorts().get(0).receiveEvent(token); // p1.getInputPorts().get(0).receiveEvent(token); assertTrue(deh2.getEventCount() == 0); }
public void testLockUnlockWithDifferentProcess() throws UnsupportedEncodingException, MalformedIdentifierException, ActivityConfigurationException, EditException, InterruptedException { testLock(); System.out.println("Unlock with diffent process, only output from p1 :"); Thread.sleep(200); WorkflowDataToken token2 = new WorkflowDataToken("outerProcess2", new int[0], Literal.buildLiteral("Another string"),context); p1.getInputPorts().get(0).receiveEvent(token2); assertTrue(deh2.getEventCount() == 0); assertTrue(deh1.getEventCount() == 1); }
@SuppressWarnings("null") @Test public void testBoundPortOverridesDefault() throws Exception { Dataflow dataflow = loadAndTranslateWorkflow("bound_port_overides_default.xml"); assertEquals("there should only be 2 processors",2,dataflow.getProcessors().size()); Processor processor_A=null; Processor processor_B=null; for (Processor p : dataflow.getProcessors()) { if (p.getLocalName().equals("Processor_A")) processor_A=p; if (p.getLocalName().equals("Processor_B")) processor_B=p; } assertNotNull("Could not find processor A",processor_A); assertNotNull("Could not find processor B",processor_B); assertEquals("processor_A should have no inputs",0,processor_A.getInputPorts().size()); assertEquals("processor_A should have 1 output",1,processor_A.getOutputPorts().size()); assertEquals("processor_B should have 1 input",1,processor_B.getInputPorts().size()); assertEquals("processor_B should have 1 input named input_1","input_1",processor_B.getInputPorts().get(0).getName()); assertEquals("processor_B should have 1 output",1,processor_B.getOutputPorts().size()); assertEquals("processor_B should have 1 activity",1,processor_B.getActivityList().size()); Activity<?>activity = processor_B.getActivityList().get(0); assertEquals("activity should have 3 input ports",3,activity.getInputPorts().size()); }
@SuppressWarnings("null") @Test public void testBoundPortOverridesDefault() throws Exception { Dataflow dataflow = loadAndTranslateWorkflow("bound_port_overides_default.xml"); assertEquals("there should only be 2 processors",2,dataflow.getProcessors().size()); Processor processor_A=null; Processor processor_B=null; for (Processor p : dataflow.getProcessors()) { if (p.getLocalName().equals("Processor_A")) processor_A=p; if (p.getLocalName().equals("Processor_B")) processor_B=p; } assertNotNull("Could not find processor A",processor_A); assertNotNull("Could not find processor B",processor_B); assertEquals("processor_A should have no inputs",0,processor_A.getInputPorts().size()); assertEquals("processor_A should have 1 output",1,processor_A.getOutputPorts().size()); assertEquals("processor_B should have 1 input",1,processor_B.getInputPorts().size()); assertEquals("processor_B should have 1 input named input_1","input_1",processor_B.getInputPorts().get(0).getName()); assertEquals("processor_B should have 1 output",1,processor_B.getOutputPorts().size()); assertEquals("processor_B should have 1 activity",1,processor_B.getActivityList().size()); Activity<?>activity = processor_B.getActivityList().get(0); assertEquals("activity should have 3 input ports",3,activity.getInputPorts().size()); }
@SuppressWarnings("null") @Test public void testRemovalOfUnboundPorts() throws Exception { Dataflow dataflow = loadAndTranslateWorkflow("unbound_ports.xml"); Processor processor_A=null; Processor processor_B=null; assertEquals("there should only be 2 processors",2,dataflow.getProcessors().size()); for (Processor p : dataflow.getProcessors()) { if (p.getLocalName().equals("Processor_A")) processor_A=p; if (p.getLocalName().equals("Processor_B")) processor_B=p; } assertNotNull("Could not find processor A",processor_A); assertNotNull("Could not find processor B",processor_B); assertEquals("processor_A should have no inputs",0,processor_A.getInputPorts().size()); assertEquals("processor_A should have 1 output",1,processor_A.getOutputPorts().size()); assertEquals("processor_B should have 1 input",1,processor_B.getInputPorts().size()); assertEquals("processor_B should have 1 input named input_1","input_1",processor_B.getInputPorts().get(0).getName()); assertEquals("processor_B should have 1 output",1,processor_B.getOutputPorts().size()); assertEquals("processor_B should have 1 activity",1,processor_B.getActivityList().size()); Activity<?>activity = processor_B.getActivityList().get(0); assertEquals("activity should have 3 input ports",3,activity.getInputPorts().size()); }
@SuppressWarnings("null") @Test public void testRemovalOfUnboundPorts() throws Exception { Dataflow dataflow = loadAndTranslateWorkflow("unbound_ports.xml"); Processor processor_A=null; Processor processor_B=null; assertEquals("there should only be 2 processors",2,dataflow.getProcessors().size()); for (Processor p : dataflow.getProcessors()) { if (p.getLocalName().equals("Processor_A")) processor_A=p; if (p.getLocalName().equals("Processor_B")) processor_B=p; } assertNotNull("Could not find processor A",processor_A); assertNotNull("Could not find processor B",processor_B); assertEquals("processor_A should have no inputs",0,processor_A.getInputPorts().size()); assertEquals("processor_A should have 1 output",1,processor_A.getOutputPorts().size()); assertEquals("processor_B should have 1 input",1,processor_B.getInputPorts().size()); assertEquals("processor_B should have 1 input named input_1","input_1",processor_B.getInputPorts().get(0).getName()); assertEquals("processor_B should have 1 output",1,processor_B.getOutputPorts().size()); assertEquals("processor_B should have 1 activity",1,processor_B.getActivityList().size()); Activity<?>activity = processor_B.getActivityList().get(0); assertEquals("activity should have 3 input ports",3,activity.getInputPorts().size()); }
@SuppressWarnings("null") @Test public void testBoundPortOverridesDefault() throws Exception { Dataflow dataflow = loadAndTranslateWorkflow("bound_port_overides_default.xml"); assertEquals("there should only be 2 processors",2,dataflow.getProcessors().size()); Processor processor_A=null; Processor processor_B=null; for (Processor p : dataflow.getProcessors()) { if (p.getLocalName().equals("Processor_A")) processor_A=p; if (p.getLocalName().equals("Processor_B")) processor_B=p; } assertNotNull("Could not find processor A",processor_A); assertNotNull("Could not find processor B",processor_B); assertEquals("processor_A should have no inputs",0,processor_A.getInputPorts().size()); assertEquals("processor_A should have 1 output",1,processor_A.getOutputPorts().size()); assertEquals("processor_B should have 1 input",1,processor_B.getInputPorts().size()); assertEquals("processor_B should have 1 input named input_1","input_1",processor_B.getInputPorts().get(0).getName()); assertEquals("processor_B should have 1 output",1,processor_B.getOutputPorts().size()); assertEquals("processor_B should have 1 activity",1,processor_B.getActivityList().size()); Activity<?>activity = processor_B.getActivityList().get(0); assertEquals("activity should have 3 input ports",3,activity.getInputPorts().size()); }