@Override public Set<InputActivityPort> getActivityInputPorts(URI activityType, JsonNode configuration) throws ActivityNotFoundException, ActivityConfigurationException { Set<InputActivityPort> inputPorts = new HashSet<>(); try { for (ActivityInputPort port : getActivityFactory(activityType) .getInputPorts(configuration)) { InputActivityPort inputActivityPort = new InputActivityPort(); inputActivityPort.setName(port.getName()); inputActivityPort.setDepth(port.getDepth()); inputPorts.add(inputActivityPort); } return inputPorts; } catch (org.apache.taverna.workflowmodel.processor.activity.ActivityConfigurationException e) { throw new ActivityConfigurationException(e); } }
inputPort.setName(getPortElement(portBean, "name", String.class)); inputPort.setParent(activity);
if (inputActivityPort == null) { inputActivityPort = new InputActivityPort(); inputActivityPort.setName(toActivityOutput); inputActivityPort.setParent(parserState.get() .getCurrentActivity());
protected void parseInputActivityPort( org.apache.taverna.scufl2.xml.InputActivityPort original) { InputActivityPort port = new InputActivityPort(); mapBean(original.getAbout(), port); port.setParent(getParserState().getCurrent(Activity.class)); port.setName(original.getName()); if (original.getPortDepth() != null) port.setDepth(original.getPortDepth().getValue()); }
InputActivityPort iap = new InputActivityPort(); iap.setDepth(new Integer(-3)); iap.setName("fred"); iap.setParent(null);
@Test public void testCorrectnessOfDepthSpecifiedIncorrectly() { InputActivityPort iap = new InputActivityPort(); iap.setDepth(new Integer(-3)); iap.setName("fred"); iap.setParent(null); CorrectnessValidator cv = new CorrectnessValidator(); ReportCorrectnessValidationListener rcvl = new ReportCorrectnessValidationListener(); cv.checkCorrectness(iap, false, rcvl); Set<NegativeValueProblem> negativeValueProblems = rcvl.getNegativeValueProblems(); assertEquals(1, negativeValueProblems.size()); if (!negativeValueProblems.isEmpty()) { NegativeValueProblem problem = negativeValueProblems.iterator().next(); assertEquals(problem.getBean(), iap); assertEquals(problem.getFieldName(), "depth"); assertEquals(problem.getFieldValue(), Integer.valueOf("-3")); } Set<NullFieldProblem> nullFieldProblems = rcvl.getNullFieldProblems(); assertEquals(Collections.EMPTY_SET, nullFieldProblems); // only done when completeness check }
@Test public void testCompletenessOfMissingDepth() { InputActivityPort iap = new InputActivityPort(); iap.setDepth(null); iap.setName("fred"); iap.setParent(null); CorrectnessValidator cv = new CorrectnessValidator(); ReportCorrectnessValidationListener rcvl = new ReportCorrectnessValidationListener(); cv.checkCorrectness(iap, true, rcvl); Set<NegativeValueProblem> negativeValueProblems = rcvl.getNegativeValueProblems(); assertEquals(0, negativeValueProblems.size()); Set<NullFieldProblem> nullFieldProblems = rcvl.getNullFieldProblems(); assertFalse(nullFieldProblems.isEmpty()); // depth and parent boolean depthFieldProblem = false; for (NullFieldProblem nlp : nullFieldProblems) { if (nlp.getBean().equals(iap) && nlp.getFieldName().equals("depth")) { depthFieldProblem = true; } } assertTrue(depthFieldProblem); }
@Test public void testCorrectnessOfMissingDepth() { InputActivityPort iap = new InputActivityPort(); iap.setDepth(null); iap.setName("fred"); iap.setParent(null); CorrectnessValidator cv = new CorrectnessValidator(); ReportCorrectnessValidationListener rcvl = new ReportCorrectnessValidationListener(); cv.checkCorrectness(iap, false, rcvl); Set<NegativeValueProblem> negativeValueProblems = rcvl.getNegativeValueProblems(); assertEquals(Collections.EMPTY_SET, negativeValueProblems); Set<NullFieldProblem> nullFieldProblems = rcvl.getNullFieldProblems(); assertEquals(Collections.EMPTY_SET, nullFieldProblems); // only done when completeness check }