@Override public Set<OutputActivityPort> getActivityOutputPorts(URI activityType, JsonNode configuration) throws ActivityNotFoundException, ActivityConfigurationException { Set<OutputActivityPort> outputPorts = new HashSet<>(); try { for (ActivityOutputPort port : getActivityFactory(activityType) .getOutputPorts(configuration)) { OutputActivityPort outputActivityPort = new OutputActivityPort(); outputActivityPort.setName(port.getName()); outputActivityPort.setDepth(port.getDepth()); outputActivityPort.setGranularDepth(port.getGranularDepth()); outputPorts.add(outputActivityPort); } } catch (org.apache.taverna.workflowmodel.processor.activity.ActivityConfigurationException e) { throw new ActivityConfigurationException(e); } return outputPorts; }
Activity activity) { ObjectNode configResource = (ObjectNode) configuration.getJson(); OutputActivityPort outputPort = new OutputActivityPort(); outputPort.setName(getPortElement(portBean, "name", String.class)); outputPort.setParent(activity); outputPort.setDepth(depth.intValue()); outputPort.setGranularDepth(granularDepth.intValue()); portConfig.put("name", outputPort.getName()); portConfig.put("depth", outputPort.getDepth()); portConfig.put("granularDepth", outputPort.getDepth());
.getByName(fromActivityOutput); if (outputActivityPort == null) { outputActivityPort = new OutputActivityPort(); outputActivityPort.setName(fromActivityOutput); outputActivityPort.setParent(parserState.get() .getCurrentActivity()); parserState.get().getCurrentActivity().getOutputPorts() if (outputActivityPort.getDepth() == null) outputActivityPort.setDepth(outputProcessorPort.getDepth()); if (outputActivityPort.getGranularDepth() == null) outputActivityPort.setGranularDepth(outputProcessorPort .getGranularDepth());
@Override public Configuration parseConfiguration(T2FlowParser t2FlowParser, ConfigBean configBean, ParserState parserState) throws ReaderException { StringConstantConfig strConfig = unmarshallConfig(t2FlowParser, configBean, "xstream", StringConstantConfig.class); String value = strConfig.getValue(); if (value == null) throw new ReaderException("String constant configuration has no value set"); Configuration configuration = new Configuration(); ObjectNode json = (ObjectNode) configuration.getJson(); configuration.setType(CONSTANT.resolve("#Config")); json.put("string", value); Activity activity = parserState.getCurrentActivity(); OutputActivityPort valuePort = new OutputActivityPort(activity, VALUE); valuePort.setDepth(0); valuePort.setGranularDepth(0); return configuration; } }
public void createProcessorPortsFromActivity(Processor processor, Activity activity) { for (InputActivityPort activityPort : activity.getInputPorts()) new InputProcessorPort(processor, activityPort.getName()) .setDepth(activityPort.getDepth()); for (OutputActivityPort activityPort : activity.getOutputPorts()) { OutputProcessorPort procPort = new OutputProcessorPort(processor, activityPort.getName()); procPort.setDepth(activityPort.getDepth()); procPort.setGranularDepth(activityPort.getGranularDepth()); } }
@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); }
@Test public void testCorrectnessOfInScopeActivityPort() { ProcessorBinding pb = new ProcessorBinding(); Activity activity = new Activity(); pb.setBoundActivity(activity); ProcessorOutputPortBinding pipb = new ProcessorOutputPortBinding(); pipb.setParent(pb); OutputActivityPort port = new OutputActivityPort(); 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); }
new OutputActivityPort(a, "out1"); new OutputActivityPort(a, "out3"); new OutputActivityPort(a, "out4"); // additional out4 assertEquals(outBinding.getBoundActivityPort().getName(), outBinding.getBoundProcessorPort().getName()); assertEquals(a, outBinding.getBoundActivityPort().getParent()); assertEquals(p, outBinding.getBoundProcessorPort().getParent());
@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); }
assertEquals(null, aOut1.getDepth()); assertEquals(null, aOut1.getGranularDepth()); assertEquals(0, aOut2.getDepth().intValue()); assertEquals(null, aOut2.getGranularDepth()); assertEquals(2, aOut3.getDepth().intValue()); assertEquals(1, aOut3.getGranularDepth().intValue());
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); } }
for (ProcessorOutputPortBinding ip : pb.getOutputPortBindings()) links.add("'" + escapeName(ip.getBoundActivityPort().getName()) + "' -> '" + escapeName(ip.getBoundProcessorPort().getName()) + "'"); Collections.sort(links);
/** * Constructs an <code>OutputPort</code> for the specified * <code>Activity</code> with the specified name. * <p> * The <code>OutputPort</code> is added to the <code>Activity</code> (if the * <code>Activity</code> is not <code>null</code>). * * @param activity * the <code>Activity</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 OutputActivityPort(Activity activity, String name) { super(name); setParent(activity); }
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 void outputActivityPort(OutputActivityPort node) { org.apache.taverna.scufl2.xml.OutputActivityPort outputActivityPort = objectFactory .createOutputActivityPort(); outputActivityPort.setAbout(uri(node)); outputActivityPort.setName(node.getName()); outputActivityPort.setPortDepth(portDepth(node.getDepth())); outputActivityPort.setGranularPortDepth(granularPortDepth(node .getGranularDepth())); org.apache.taverna.scufl2.xml.Activity.OutputActivityPort wrapper = objectFactory .createActivityOutputActivityPort(); wrapper.setOutputActivityPort(outputActivityPort); activity.getOutputActivityPort().add(wrapper); }
OutputActivityPort elsewherePort = new OutputActivityPort(); elsewherePort.setParent(otherActivity);
@Test public void testCompletenessOfSpecifiedBoundActivityPort() { ProcessorOutputPortBinding pipb = new ProcessorOutputPortBinding(); pipb.setBoundActivityPort(new OutputActivityPort()); 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); }
protected void parseOutputActivityPort( org.apache.taverna.scufl2.xml.OutputActivityPort original) { OutputActivityPort port = new OutputActivityPort(); mapBean(original.getAbout(), port); port.setParent(getParserState().getCurrent(Activity.class)); port.setName(original.getName()); if (original.getPortDepth() != null) port.setDepth(original.getPortDepth().getValue()); if (original.getGranularPortDepth() != null) port.setGranularDepth(original.getGranularPortDepth().getValue()); }
public Activity makeActivity() { activity = new Activity(); activity.setName("HelloScript"); activity.setType(URI .create("http://ns.taverna.org.uk/2010/activity/beanshell")); personName = new InputActivityPort(activity, "personName"); personName.setDepth(0); hello = new OutputActivityPort(activity, "hello"); hello.setDepth(0); hello.setGranularDepth(0); return activity; }
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); } }