@SuppressWarnings("boxing") protected Set<OutputProcessorPort> parseProcessorOutputPorts( Processor newProc, GranularDepthPorts origPorts) { Set<OutputProcessorPort> newPorts = new HashSet<>(); for (GranularDepthPort origPort : origPorts.getPort()) { OutputProcessorPort newPort = new OutputProcessorPort(newProc, origPort.getName()); newPort.setDepth(origPort.getDepth().intValue()); newPort.setGranularDepth(origPort.getGranularDepth().intValue()); newPorts.add(newPort); } return newPorts; }
public void createActivityPortsFromProcessor(Activity activity, Processor processor) { for (InputProcessorPort processorPort : processor.getInputPorts()) new InputActivityPort(activity, processorPort.getName()) .setDepth(processorPort.getDepth()); for (OutputProcessorPort processorPort : processor.getOutputPorts()) { OutputActivityPort activityPort = new OutputActivityPort(activity, processorPort.getName()); activityPort.setDepth(processorPort.getDepth()); activityPort.setGranularDepth(processorPort.getGranularDepth()); } }
private OutputProcessorPort findOrCreateProcessorOutputPort(Processor p, String name, Integer depth, Integer granularDepth) { OutputProcessorPort port = p.getOutputPorts().getByName(name); if (port == null) { port = new OutputProcessorPort(); port.setParent(p); port.setName(name); port.setDepth(depth); port.setGranularDepth(granularDepth); } return port; }
@Test public void testCorrectnessOfInScopeProcessorPort() { ProcessorBinding pb = new ProcessorBinding(); Processor processor = new Processor(); pb.setBoundProcessor(processor); ProcessorOutputPortBinding pipb = new ProcessorOutputPortBinding(); pipb.setParent(pb); OutputProcessorPort port = new OutputProcessorPort(); port.setParent(processor); pipb.setBoundProcessorPort(port); CorrectnessValidator cv = new CorrectnessValidator(); ReportCorrectnessValidationListener rcvl = new ReportCorrectnessValidationListener(); cv.checkCorrectness(pipb, false, rcvl); Set<OutOfScopeValueProblem> outOfScopeValueProblems = rcvl.getOutOfScopeValueProblems(); boolean problem = false; for (OutOfScopeValueProblem nlp : outOfScopeValueProblems) { if (nlp.getBean().equals(pipb) && nlp.getFieldName().equals("boundProcessorPort") && nlp.getValue().equals(port)) { problem = true; } } assertFalse(problem); }
@Test public void createProcessorPortsFromActivityWithOverwrite() throws Exception { Activity a = new Activity(); new InputActivityPort(a, "in1"); new OutputActivityPort(a, "out1"); new OutputActivityPort(a, "out2").setDepth(1); Processor p = new Processor(); new InputProcessorPort(p, "other"); OutputProcessorPort toBeOverWritten = new OutputProcessorPort(p, "out1"); toBeOverWritten.setDepth(1); assertEquals(p, toBeOverWritten.getParent()); scufl2Tools.createProcessorPortsFromActivity(p, a); // Still there assertNotNull(p.getInputPorts().getByName("other")); // but out1 has been overwritten OutputProcessorPort pOut1 = p.getOutputPorts().getByName("out1"); assertNull(pOut1.getDepth()); assertNotSame(toBeOverWritten, pOut1); }
@Test public void createActivityPortsFromProcessorWithOverwrite() throws Exception { Processor p = new Processor(); new InputProcessorPort(p, "in1"); new OutputProcessorPort(p, "out1"); new OutputProcessorPort(p, "out2").setDepth(1); Activity a = new Activity(); new InputActivityPort(a, "other"); OutputActivityPort toBeOverWritten = new OutputActivityPort(a, "out1"); toBeOverWritten.setDepth(1); assertEquals(a, toBeOverWritten.getParent()); scufl2Tools.createActivityPortsFromProcessor(a, p); // Still there assertNotNull(a.getInputPorts().getByName("other")); // but out1 has been overwritten OutputActivityPort aOut1 = a.getOutputPorts().getByName("out1"); assertNull(aOut1.getDepth()); assertNotSame(toBeOverWritten, aOut1); }
outputActivityPort.setDepth(outputProcessorPort.getDepth()); if (outputActivityPort.getGranularDepth() == null) outputActivityPort.setGranularDepth(outputProcessorPort .getGranularDepth());
new InputProcessorPort(p, "in1"); new InputProcessorPort(p, "in2"); new OutputProcessorPort(p, "out1"); new OutputProcessorPort(p, "out2"); new OutputProcessorPort(p, "out3"); outBinding.getBoundProcessorPort().getName()); assertEquals(a, outBinding.getBoundActivityPort().getParent()); assertEquals(p, outBinding.getBoundProcessorPort().getParent());
private void parsePort(Scanner scanner, String next) throws ReaderException { boolean in = next.equals("In"); String portName = parseName(scanner); switch (level) { case Workflow: if (in) new InputWorkflowPort(workflow, portName); else new OutputWorkflowPort(workflow, portName); break; case Processor: if (in) new InputProcessorPort(processor, portName); else new OutputProcessorPort(processor, portName); break; case Activity: if (in) new InputActivityPort(activity, portName); else new OutputActivityPort(activity, portName); break; default: throw new ReaderException("Unexpected " + next + " at level " + level); } }
public void bindActivityToProcessorByMatchingPorts(ProcessorBinding binding) { Activity activity = binding.getBoundActivity(); Processor processor = binding.getBoundProcessor(); for (InputActivityPort activityPort : activity.getInputPorts()) { InputProcessorPort processorPort = processor.getInputPorts() .getByName(activityPort.getName()); if (processorPort != null && processorPortBindingInternalInBinding(processorPort, binding) == null) new ProcessorInputPortBinding(binding, processorPort, activityPort); } for (OutputProcessorPort processorPort : processor.getOutputPorts()) { OutputActivityPort activityPort = activity.getOutputPorts() .getByName(processorPort.getName()); if (activityPort != null && processorPortBindingInternalInBinding(activityPort, binding) == null) new ProcessorOutputPortBinding(binding, activityPort, processorPort); } }
/** * Constructs an <code>OutputProcessorPort</code> for the specified * <code>Processor</code> with the specified name. * <p> * The <code>OutputPort</code> is added to the <code>Processor</code> (if * the <code>Processor</code> is not <code>null</code>). * * @param parent * the <code>Processor</code> to add this <code>Port</code> to. * Can be <code>null</code> * @param name * the name of the <code>Port</code>. <strong>Must not</strong> * be <code>null</code> or an empty String. */ public OutputProcessorPort(Processor parent, String name) { super(name); setParent(parent); }
Integer portDepth = output.getDepth(); Integer resolvedDepth = portDepth + resultWrappingDepth; validatorState.get().getEventListener()
continue; Processor upstreamProc = ((OutputProcessorPort) source) .getParent(); if (!upStream.contains(upstreamProc)) { upStream.add(upstreamProc);
OutputProcessorPort elsewherePort = new OutputProcessorPort(); elsewherePort.setParent(otherProcessor);
@Test public void testSimpleIteration() { WorkflowBundle wb = new WorkflowBundle(); Workflow w = new Workflow(); wb.setMainWorkflow(w); InputWorkflowPort a = new InputWorkflowPort(w, "a"); a.setDepth(1); Processor p = new Processor(w, "p"); InputProcessorPort ipp = new InputProcessorPort(p, "in"); ipp.setDepth(0); OutputProcessorPort opp = new OutputProcessorPort(p, "out"); opp.setDepth(3); DataLink inLink = new DataLink(w, a, ipp); IterationStrategyStack iss = new IterationStrategyStack(p); CrossProduct cp = new CrossProduct(); iss.add(cp); PortNode portNode = new PortNode(cp, ipp); portNode.setDesiredDepth(0); StructuralValidator sv = new StructuralValidator(); ReportStructuralValidationListener l = new ReportStructuralValidationListener(); sv.checkStructure(wb, l); ValidatorState vs = sv.getValidatorState(); assertEquals(0, l.getIncompleteWorkflows().size()); assertEquals(Integer.valueOf(1), vs.getPortResolvedDepth(a)); assertEquals(Integer.valueOf(1), vs.getDataLinkResolvedDepth(inLink)); assertEquals(Integer.valueOf(1), vs.getPortResolvedDepth(ipp)); assertEquals(Integer.valueOf(4), vs.getPortResolvedDepth(opp)); }
assertEquals(null, pOut1.getDepth()); assertEquals(null, pOut1.getGranularDepth()); assertEquals(0, pOut2.getDepth().intValue()); assertEquals(null, pOut2.getGranularDepth()); assertEquals(2, pOut3.getDepth().intValue()); assertEquals(1, pOut3.getGranularDepth().intValue());
@Test public void testCompletenessOfSpecifiedBoundProcessorPort() { ProcessorOutputPortBinding pipb = new ProcessorOutputPortBinding(); pipb.setBoundProcessorPort(new OutputProcessorPort()); CorrectnessValidator cv = new CorrectnessValidator(); ReportCorrectnessValidationListener rcvl = new ReportCorrectnessValidationListener(); cv.checkCorrectness(pipb, true, rcvl); Set<NullFieldProblem> nullFieldProblems = rcvl.getNullFieldProblems(); boolean problem = false; for (NullFieldProblem nlp : nullFieldProblems) { if (nlp.getBean().equals(pipb) && nlp.getFieldName().equals("boundProcessorPort")) { problem = true; } } assertFalse(problem); }
+ escapeName(ip.getBoundProcessorPort().getName()) + "'"); Collections.sort(links); if (!links.isEmpty()) {
public Processor createConstant(Workflow workflow, Profile profile, String name) { Processor processor = new Processor(null, name); workflow.getProcessors().addWithUniqueName(processor); processor.setParent(workflow); OutputProcessorPort valuePort = new OutputProcessorPort(processor, CONSTANT_VALUE_PORT); valuePort.setDepth(0); valuePort.setGranularDepth(0); Activity activity = createActivityFromProcessor(processor, profile); activity.setType(CONSTANT); createConfigurationFor(activity, CONSTANT_CONFIG); return processor; }
protected void processorOutputProcessorPort( org.apache.taverna.scufl2.xml.OutputProcessorPort original) { org.apache.taverna.scufl2.api.port.OutputProcessorPort port = new org.apache.taverna.scufl2.api.port.OutputProcessorPort(); port.setName(original.getName()); if (original.getPortDepth() != null) port.setDepth(original.getPortDepth().getValue()); if (original.getGranularPortDepth() != null) port.setGranularDepth(original.getGranularPortDepth().getValue()); port.setParent(getParserState().getCurrent( org.apache.taverna.scufl2.api.core.Processor.class)); mapBean(getParserState().getCurrentBase().resolve(original.getAbout()), port); }