Repository: apex-core Updated Branches: refs/heads/master fc3246e11 -> d587b1404
APEXCORE-528 Removed allPortsOptional variable and logic from LogicalPlan output port validation. Updated tests to reflect change. Project: http://git-wip-us.apache.org/repos/asf/apex-core/repo Commit: http://git-wip-us.apache.org/repos/asf/apex-core/commit/d07cf85b Tree: http://git-wip-us.apache.org/repos/asf/apex-core/tree/d07cf85b Diff: http://git-wip-us.apache.org/repos/asf/apex-core/diff/d07cf85b Branch: refs/heads/master Commit: d07cf85b26272fbed494c5624623e0df9b14ec2f Parents: 2c024cd Author: twigglius <[email protected]> Authored: Fri Nov 11 13:14:14 2016 -0500 Committer: twigglius <[email protected]> Committed: Mon Nov 14 10:43:12 2016 -0500 ---------------------------------------------------------------------- .../com/datatorrent/stram/plan/logical/LogicalPlan.java | 5 ----- .../datatorrent/stram/plan/logical/LogicalPlanTest.java | 10 ++-------- 2 files changed, 2 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/apex-core/blob/d07cf85b/engine/src/main/java/com/datatorrent/stram/plan/logical/LogicalPlan.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/com/datatorrent/stram/plan/logical/LogicalPlan.java b/engine/src/main/java/com/datatorrent/stram/plan/logical/LogicalPlan.java index d04005b..f1ccaef 100644 --- a/engine/src/main/java/com/datatorrent/stram/plan/logical/LogicalPlan.java +++ b/engine/src/main/java/com/datatorrent/stram/plan/logical/LogicalPlan.java @@ -1745,7 +1745,6 @@ public class LogicalPlan implements Serializable, DAG } } - boolean allPortsOptional = true; for (OutputPortMeta pm: portMapping.outPortMap.values()) { checkAttributeValueSerializable(pm.getAttributes(), n.getName() + "." + pm.getPortName()); if (!n.outputStreams.containsKey(pm)) { @@ -1765,10 +1764,6 @@ public class LogicalPlan implements Serializable, DAG } } } - allPortsOptional &= (pm.portAnnotation != null && pm.portAnnotation.optional()); - } - if (!allPortsOptional && n.outputStreams.isEmpty()) { - throw new ValidationException("At least one output port must be connected: " + n.name); } } http://git-wip-us.apache.org/repos/asf/apex-core/blob/d07cf85b/engine/src/test/java/com/datatorrent/stram/plan/logical/LogicalPlanTest.java ---------------------------------------------------------------------- diff --git a/engine/src/test/java/com/datatorrent/stram/plan/logical/LogicalPlanTest.java b/engine/src/test/java/com/datatorrent/stram/plan/logical/LogicalPlanTest.java index b3367cc..dd32cc7 100644 --- a/engine/src/test/java/com/datatorrent/stram/plan/logical/LogicalPlanTest.java +++ b/engine/src/test/java/com/datatorrent/stram/plan/logical/LogicalPlanTest.java @@ -641,7 +641,6 @@ public class LogicalPlanTest private class TestAnnotationsOperator2 extends BaseOperator implements InputOperator { - // multiple ports w/o annotation, one of them must be connected public final transient DefaultOutputPort<Object> outport1 = new DefaultOutputPort<Object>(); @Override @@ -653,7 +652,6 @@ public class LogicalPlanTest private class TestAnnotationsOperator3 extends BaseOperator implements InputOperator { - // multiple ports w/o annotation, one of them must be connected @OutputPortFieldAnnotation(optional = true) public final transient DefaultOutputPort<Object> outport1 = new DefaultOutputPort<Object>(); @OutputPortFieldAnnotation(optional = true) @@ -687,12 +685,8 @@ public class LogicalPlanTest TestAnnotationsOperator2 ta2 = dag.addOperator("multiOutputPorts1", new TestAnnotationsOperator2()); - try { - dag.validate(); - Assert.fail("should raise: At least one output port must be connected"); - } catch (ValidationException e) { - Assert.assertEquals("", "At least one output port must be connected: multiOutputPorts1", e.getMessage()); - } + dag.validate(); + TestOutputOperator o3 = dag.addOperator("o3", new TestOutputOperator()); dag.addStream("s2", ta2.outport1, o3.inport);
