private EventForwardingOutputPort findOutputPort(Processor processor, String name) { for (EventForwardingOutputPort outputPort : processor.getOutputPorts()) { if (outputPort.getName().equals(name)) { return outputPort; } } return null; }
private EventForwardingOutputPort findOutputPort(Processor processor, String name) { for (EventForwardingOutputPort outputPort : processor.getOutputPorts()) { if (outputPort.getName().equals(name)) { return outputPort; } } return null; }
private EventForwardingOutputPort findProcessorOutputPort( Map<String, Processor> createdProcessors, String portName, String processorName) throws DeserializationException { EventForwardingOutputPort result = null; Processor p = createdProcessors.get(processorName); if (p == null) throw new DeserializationException( "Unable to find processor named:" + processorName); for (ProcessorOutputPort port : p.getOutputPorts()) { if (port.getName().equals(portName)) { result = port; break; } } return result; } }
private EventForwardingOutputPort findProcessorOutputPort( Map<String, Processor> createdProcessors, String portName, String processorName) throws DeserializationException { EventForwardingOutputPort result = null; Processor p = createdProcessors.get(processorName); if (p == null) throw new DeserializationException( "Unable to find processor named:" + processorName); for (ProcessorOutputPort port : p.getOutputPorts()) { if (port.getName().equals(portName)) { result = port; break; } } return result; } }
public static ProcessorOutputPort getProcessorOutputPort( Processor processor, Activity<?> activity, OutputPort activityOutputPort) { ProcessorOutputPort result = null; for (Entry<String, String> mapEntry : activity.getOutputPortMapping() .entrySet()) { if (mapEntry.getValue().equals(activityOutputPort.getName())) { for (ProcessorOutputPort processorOutputPort : processor .getOutputPorts()) { if (processorOutputPort.getName().equals(mapEntry.getKey())) { result = processorOutputPort; break; } } break; } } return result; }
public static ProcessorOutputPort getProcessorOutputPort( Processor processor, Activity<?> activity, OutputPort activityOutputPort) { ProcessorOutputPort result = null; for (Entry<String, String> mapEntry : activity.getOutputPortMapping() .entrySet()) { if (mapEntry.getValue().equals(activityOutputPort.getName())) { for (ProcessorOutputPort processorOutputPort : processor .getOutputPorts()) { if (processorOutputPort.getName().equals(mapEntry.getKey())) { result = processorOutputPort; break; } } break; } } return result; }
private Element processorOutputPortsToXML(Processor processor) { Element outputPorts = new Element(PROCESSOR_OUTPUT_PORTS, T2_WORKFLOW_NAMESPACE); for (ProcessorOutputPort port : processor.getOutputPorts()) { 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); Element granularDepth = new Element(GRANULAR_DEPTH, T2_WORKFLOW_NAMESPACE); name.setText(port.getName()); depth.setText(String.valueOf(port.getDepth())); granularDepth.setText(String.valueOf(port.getGranularDepth())); portElement.addContent(name); portElement.addContent(depth); portElement.addContent(granularDepth); outputPorts.addContent(portElement); } return outputPorts; }
private Element processorOutputPortsToXML(Processor processor) { Element outputPorts = new Element(PROCESSOR_OUTPUT_PORTS, T2_WORKFLOW_NAMESPACE); for (ProcessorOutputPort port : processor.getOutputPorts()) { 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); Element granularDepth = new Element(GRANULAR_DEPTH, T2_WORKFLOW_NAMESPACE); name.setText(port.getName()); depth.setText(String.valueOf(port.getDepth())); granularDepth.setText(String.valueOf(port.getGranularDepth())); portElement.addContent(name); portElement.addContent(depth); portElement.addContent(granularDepth); outputPorts.addContent(portElement); } return outputPorts; }
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<ProcessorOutputPort> determineOutputPortsForRemoval(Processor p,Activity<?>a) { List<ProcessorOutputPort> result = new ArrayList<ProcessorOutputPort>(); for (ProcessorOutputPort pPort : p.getOutputPorts()) { boolean found=false; for (OutputPort aPort : a.getOutputPorts()) { if (aPort.getName().equals(pPort.getName())) { if (pPort.getDepth() == aPort.getDepth() && pPort.getGranularDepth() == aPort.getGranularDepth()) { found=true; } break; } } if (!found) { result.add(pPort); } } return result; }
private List<ProcessorOutputPort> determineOutputPortsForRemoval(Processor p,Activity<?>a) { List<ProcessorOutputPort> result = new ArrayList<ProcessorOutputPort>(); for (ProcessorOutputPort pPort : p.getOutputPorts()) { boolean found=false; for (OutputPort aPort : a.getOutputPorts()) { if (aPort.getName().equals(pPort.getName())) { if (pPort.getDepth() == aPort.getDepth() && pPort.getGranularDepth() == aPort.getGranularDepth()) { found=true; } break; } } if (!found) { result.add(pPort); } } return result; }
/** * Construct and send a new result message with error documents in place of * all outputs at the appropriate depth * * @param e */ private void sendErrorOutput(Event<?> e) { DataManager dm = e.getContext().getDataManager(); Processor p = dispatchStack.getProcessor(); Map<String, EntityIdentifier> outputDataMap = new HashMap<String, EntityIdentifier>(); for (OutputPort op : p.getOutputPorts()) { outputDataMap.put(op.getName(), dm.registerError(op.getDepth(), 0, "No message...")); } DispatchResultEvent dre = new DispatchResultEvent(e.getOwningProcess(), e.getIndex(), e.getContext(), outputDataMap, false); getAbove().receiveResult(dre); }
assertEquals("activity should have value 'Some Data'","Some Data",activity.getStringValue()); assertEquals("The string constant shoudl have 1 output port",1,processorStringConstant.getOutputPorts().size()); assertEquals("There should only be 1 outgoing link",1,processorStringConstant.getOutputPorts().get(0).getOutgoingLinks().size()); Datalink link = (Datalink)processorStringConstant.getOutputPorts().get(0).getOutgoingLinks().toArray()[0]; assertEquals("it should be linked to processor_A",processor_A.getInputPorts().get(0),link.getSink());
assertEquals("activity should have value 'Some Data'","Some Data",activity.getStringValue()); assertEquals("The string constant shoudl have 1 output port",1,processorStringConstant.getOutputPorts().size()); assertEquals("There should only be 1 outgoing link",1,processorStringConstant.getOutputPorts().get(0).getOutgoingLinks().size()); Datalink link = (Datalink)processorStringConstant.getOutputPorts().get(0).getOutgoingLinks().toArray()[0]; assertEquals("it should be linked to processor_A",processor_A.getInputPorts().get(0),link.getSink());
@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()); }
@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()); }