protected void parseInputPortBinding( org.apache.taverna.scufl2.xml.InputPortBinding original) throws ReaderException { ProcessorInputPortBinding binding = new ProcessorInputPortBinding(); mapBean(original.getAbout(), binding); binding.setBoundActivityPort(resolveBeanUri(original .getBindInputActivityPort().getResource(), InputActivityPort.class)); binding.setBoundProcessorPort(resolveBeanUri(original .getBindInputProcessorPort().getResource(), InputProcessorPort.class)); binding.setParent(getParserState().getCurrent(ProcessorBinding.class)); }
@Override public String toString() { return getBoundProcessorPort() + "->" + getBoundActivityPort(); } }
/** * Constructs a <code>ProcessorInputPortBinding</code> for the specified * <code>ProcessorBinding</code>. * * @param processorBinding * the <code>ProcessorBinding</code> to add this * <code>ProcessorInputPortBinding</code> to. Can be * <code>null</code> * @param processorPort * the bound <code>InputProcessorPort</code>. Can be * <code>null</code> * @param activityPort * the bound <code>InputActivityPort</code>. Can be * <code>null</code> */ public ProcessorInputPortBinding(ProcessorBinding processorBinding, InputProcessorPort processorPort, InputActivityPort activityPort) { setParent(processorBinding); setBoundProcessorPort(processorPort); setBoundActivityPort(activityPort); }
@Test public void testCorrectnessOfOutOfScopeProcessorPort1() { ProcessorBinding pb = new ProcessorBinding(); Processor processor = new Processor(); pb.setBoundProcessor(processor); ProcessorInputPortBinding pipb = new ProcessorInputPortBinding(); pipb.setParent(pb); InputProcessorPort orphanPort = new InputProcessorPort(); pipb.setBoundProcessorPort(orphanPort); 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(orphanPort)) { problem = true; } } assertTrue(problem); }
@Test public void testCorrectnessOfOutOfScopeActivityPort1() { ProcessorBinding pb = new ProcessorBinding(); Processor processor = new Processor(); pb.setBoundProcessor(processor); ProcessorInputPortBinding pipb = new ProcessorInputPortBinding(); pipb.setParent(pb); InputActivityPort orphanPort = new InputActivityPort(); pipb.setBoundActivityPort(orphanPort); 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("boundActivityPort") && nlp.getValue().equals(orphanPort)) { problem = true; } } assertTrue(problem); }
String fromProcessorOutput = mapping.getFrom(); String toActivityOutput = mapping.getTo(); ProcessorInputPortBinding processorInputPortBinding = new ProcessorInputPortBinding(); inputActivityPort.setDepth(inputProcessorPort.getDepth()); processorInputPortBinding.setBoundActivityPort(inputActivityPort); processorInputPortBinding.setBoundProcessorPort(inputProcessorPort); parserState.get().getCurrentProcessorBinding() .getInputPortBindings().add(processorInputPortBinding);
@Test public void testCompletenessOfMissingBoundProcessorPort() { ProcessorInputPortBinding pipb = new ProcessorInputPortBinding(); CorrectnessValidator cv = new CorrectnessValidator(); ReportCorrectnessValidationListener rcvl = new ReportCorrectnessValidationListener(); cv.checkCorrectness(pipb, true, rcvl); Set<NullFieldProblem> nullFieldProblems = rcvl.getNullFieldProblems(); assertFalse(nullFieldProblems.isEmpty()); boolean problem = false; for (NullFieldProblem nlp : nullFieldProblems) { if (nlp.getBean().equals(pipb) && nlp.getFieldName().equals("boundProcessorPort")) { problem = true; } } assertTrue(problem); }
@Test public void testCompletenessOfSpecifiedBoundProcessorPort() { ProcessorInputPortBinding pipb = new ProcessorInputPortBinding(); pipb.setBoundProcessorPort(new InputProcessorPort()); 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); }
@Test public void testCompletenessOfSpecifiedBoundActivityPort() { ProcessorInputPortBinding pipb = new ProcessorInputPortBinding(); pipb.setBoundActivityPort(new InputActivityPort()); 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("boundActivityPort")) { problem = true; } } assertFalse(problem); }
@Override public void visitProcessorInputPortBinding(ProcessorInputPortBinding bean) { ProcessorBinding parent = bean.getParent(); InputProcessorPort boundProcessorPort = bean.getBoundProcessorPort(); InputActivityPort boundActivityPort = bean.getBoundActivityPort();
@Test public void testCorrectnessOfInScopeProcessorPort() { ProcessorBinding pb = new ProcessorBinding(); Processor processor = new Processor(); pb.setBoundProcessor(processor); ProcessorInputPortBinding pipb = new ProcessorInputPortBinding(); pipb.setParent(pb); InputProcessorPort port = new InputProcessorPort(); 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 testCorrectnessOfInScopeActivityPort() { ProcessorBinding pb = new ProcessorBinding(); Activity activity = new Activity(); pb.setBoundActivity(activity); ProcessorInputPortBinding pipb = new ProcessorInputPortBinding(); pipb.setParent(pb); InputActivityPort port = new InputActivityPort(); port.setParent(activity); pipb.setBoundActivityPort(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("boundActivityPort") && nlp.getValue().equals(port)) { problem = true; } } assertFalse(problem); }
public ProcessorBinding makeProcessorBinding() { ProcessorBinding processorBinding = new ProcessorBinding(); processorBinding.setName("Hello"); processorBinding.setBoundProcessor(processor); processorBinding.setBoundActivity(activity); new ProcessorInputPortBinding(processorBinding, processorName, personName); new ProcessorOutputPortBinding(processorBinding, hello, processorGreeting); return processorBinding; }
private void createDefaultProcessorBinding() { Processor p = parserState.get().getCurrentProcessor(); Activity a = parserState.get().getCurrentActivity(); ProcessorBinding pb = new ProcessorBinding(); pb.setParent(parserState.get().getCurrentProfile()); pb.setActivityPosition(0); pb.setBoundProcessor(p); pb.setBoundActivity(a); for (InputActivityPort iap : a.getInputPorts()) { InputProcessorPort ipp = findOrCreateProcessorInputPort(p, iap.getName(), iap.getDepth()); ProcessorInputPortBinding portBinding = new ProcessorInputPortBinding(); portBinding.setParent(pb); portBinding.setBoundActivityPort(iap); portBinding.setBoundProcessorPort(ipp); } for (OutputActivityPort oap : a.getOutputPorts()) { OutputProcessorPort opp = findOrCreateProcessorOutputPort(p, oap.getName(), oap.getDepth(), oap.getGranularDepth()); ProcessorOutputPortBinding portBinding = new ProcessorOutputPortBinding(); portBinding.setParent(pb); portBinding.setBoundActivityPort(oap); portBinding.setBoundProcessorPort(opp); } }
pb.setBoundProcessor(processor); ProcessorInputPortBinding pipb = new ProcessorInputPortBinding(); pipb.setParent(pb); elsewherePort.setParent(otherProcessor); pipb.setBoundProcessorPort(elsewherePort);
pb.setBoundActivity(activity); ProcessorInputPortBinding pipb = new ProcessorInputPortBinding(); pipb.setParent(pb); elsewherePort.setParent(otherActivity); pipb.setBoundActivityPort(elsewherePort);
private void processorInputPortBinding(ProcessorInputPortBinding node) { org.apache.taverna.scufl2.xml.InputPortBinding inputBinding = objectFactory .createInputPortBinding(); inputBinding.setAbout(uri(node)); inputBinding.setBindInputActivityPort(resource(uri(node .getBoundActivityPort()))); inputBinding.setBindInputProcessorPort(resource(uri(node .getBoundProcessorPort()))); InputPortBinding b = objectFactory .createProcessorBindingInputPortBinding(); b.setInputPortBinding(inputBinding); processorBindingElem.getInputPortBinding().add(b); }
@Test public void testCompletenessOfMissingBoundActivityPort() { ProcessorInputPortBinding pipb = new ProcessorInputPortBinding(); CorrectnessValidator cv = new CorrectnessValidator(); ReportCorrectnessValidationListener rcvl = new ReportCorrectnessValidationListener(); cv.checkCorrectness(pipb, true, rcvl); Set<NullFieldProblem> nullFieldProblems = rcvl.getNullFieldProblems(); assertFalse(nullFieldProblems.isEmpty()); boolean problem = false; for (NullFieldProblem nlp : nullFieldProblems) { if (nlp.getBean().equals(pipb) && nlp.getFieldName().equals("boundActivityPort")) { problem = true; } } assertTrue(problem); }
public void removePortsBindingForUnknownPorts(ProcessorBinding binding) { // First, remove ports no longer owned by processor Iterator<ProcessorInputPortBinding> inputBindings = binding .getInputPortBindings().iterator(); Activity activity = binding.getBoundActivity(); Processor processor = binding.getBoundProcessor(); for (ProcessorInputPortBinding ip : iterable(inputBindings)) { if (!activity.getInputPorts().contains(ip.getBoundActivityPort())) { inputBindings.remove(); continue; } if (!processor.getInputPorts().contains(ip.getBoundProcessorPort())) { inputBindings.remove(); continue; } } Iterator<ProcessorOutputPortBinding> outputBindings = binding .getOutputPortBindings().iterator(); for (ProcessorOutputPortBinding op : iterable(outputBindings)) { if (!activity.getOutputPorts().contains(op.getBoundActivityPort())) { outputBindings.remove(); continue; } if (!processor.getOutputPorts() .contains(op.getBoundProcessorPort())) { outputBindings.remove(); continue; } } }
.getBoundActivity().getInputPorts() .getByName(secondLink); new ProcessorInputPortBinding(processorBinding, processorPort, activityPort); } else {