@Override public String toString() { return getBoundProcessorPort() + "<-" + getBoundActivityPort(); } }
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; } } }
private void processorOutputPortBinding(ProcessorOutputPortBinding node) { org.apache.taverna.scufl2.xml.OutputPortBinding outputBinding = objectFactory .createOutputPortBinding(); outputBinding.setAbout(uri(node)); outputBinding.setBindOutputActivityPort(resource(uri(node .getBoundActivityPort()))); outputBinding.setBindOutputProcessorPort(resource(uri(node .getBoundProcessorPort()))); OutputPortBinding b = objectFactory .createProcessorBindingOutputPortBinding(); b.setOutputPortBinding(outputBinding); processorBindingElem.getOutputPortBinding().add(b); }
@Override public void visitProcessorOutputPortBinding(ProcessorOutputPortBinding bean) { ProcessorBinding parent = bean.getParent(); OutputProcessorPort boundProcessorPort = bean.getBoundProcessorPort(); OutputActivityPort boundActivityPort = bean.getBoundActivityPort(); if (parent != null) { Processor boundProcessor = parent.getBoundProcessor(); if (boundProcessorPort != null) { Processor boundPortProcessor = findAncestral(boundProcessorPort, Processor.class); if ((boundProcessor == null) || !boundProcessor.equals(boundPortProcessor)) listener.outOfScopeValue(bean, "boundProcessorPort", boundProcessorPort); } Activity boundActivity = parent.getBoundActivity(); if (boundActivityPort != null) { Activity boundPortActivity = findAncestral(boundActivityPort, Activity.class); if ((boundActivity == null) || !boundActivity.equals(boundPortActivity)) listener.outOfScopeValue(bean, "boundActivityPort", boundActivityPort); } } if (checkComplete) { if (boundProcessorPort == null) listener.nullField(bean, "boundProcessorPort"); if (boundActivityPort == null) listener.nullField(bean, "boundActivityPort"); } }
+ escapeName(ip.getBoundProcessorPort().getName()) + "'"); Collections.sort(links); if (!links.isEmpty()) {
@Test public void portBindings() throws Exception { ProcessorBinding hello = profile.getProcessorBindings().getByName( "Hello"); assertEquals(1, hello.getInputPortBindings().size()); assertEquals(1, hello.getOutputPortBindings().size()); ProcessorInputPortBinding input = hello.getInputPortBindings() .iterator().next(); InputActivityPort inputActivityPort = profile.getActivities() .getByName("HelloScript").getInputPorts() .getByName("personName"); assertEquals(inputActivityPort, input.getBoundActivityPort()); InputProcessorPort inputProcessorPort = bundle.getMainWorkflow() .getProcessors().getByName("Hello").getInputPorts() .getByName("name"); assertEquals(inputProcessorPort, input.getBoundProcessorPort()); ProcessorOutputPortBinding output = hello.getOutputPortBindings() .iterator().next(); OutputActivityPort outputActivityPort = profile.getActivities() .getByName("HelloScript").getOutputPorts().getByName("hello"); assertEquals(outputActivityPort, output.getBoundActivityPort()); OutputProcessorPort outputProcessorPort = bundle.getMainWorkflow() .getProcessors().getByName("Hello").getOutputPorts() .getByName("greeting"); assertEquals(outputProcessorPort, output.getBoundProcessorPort()); }
outBinding.getBoundProcessorPort().getName()); assertEquals(a, outBinding.getBoundActivityPort().getParent()); assertEquals(p, outBinding.getBoundProcessorPort().getParent());