private void initOutput(Operator graphOp) throws GraphException { for (Node node : getGraph().getNodes()) { NodeContext nodeContext = getNodeContext(node); if (nodeContext.isOutput()) { initNodeContext(nodeContext, graphOp); addOutputNodeContext(nodeContext); } } }
public void testTargetProductCreation() throws GraphException { Graph graph = new Graph("chain1"); Node node1 = new Node("node1", "Op1"); graph.addNode(node1); GraphContext graphContext = new GraphContext(graph); Product[] outputProducts = graphContext.getOutputProducts(); assertNotNull(outputProducts); assertEquals(1, outputProducts.length); assertNotNull(outputProducts[0]); }
public void testEmptyChain() { Graph graph = new Graph("test-graph"); try { new GraphContext(graph); fail("GraphException expected due to empty graph"); } catch (GraphException e) { // ok } }
public void testForWrongType() { Graph graph = new Graph("graph"); Node wrongTypeNode = new Node("WrongType", wrongTypeOpSpi.getOperatorAlias()); Node consumerNode = new Node("Consumer", consumerOpSpi.getOperatorAlias()); consumerNode.addSource(new NodeSource("input1", "WrongType")); graph.addNode(wrongTypeNode); graph.addNode(consumerNode); try { new GraphContext(graph); fail("GraphException expected caused by wrong type of source product"); } catch (GraphException ge) { } }
public void testOneNodeChain() throws Exception { Graph graph1 = new Graph("myOneNodeGraph"); Node node1 = new Node("node1", "Op1"); graph1.addNode(node1); Graph chain2 = doIO(graph1); Node[] nodes = chain2.getNodes(); assertNotNull(nodes); assertEquals(1, nodes.length); assertNotNull(nodes[0]); assertEquals(graph1.getId(), chain2.getId()); Node node1Copy = chain2.getNode("node1"); assertSame(nodes[0], node1Copy); assertEquals("Op1", node1Copy.getOperatorName()); }
public void testSourceProductWithAlias() throws GraphException { Graph graph = new Graph("graph"); Node goodNode = new Node("Good", goodOpSpi.getOperatorAlias()); Node consumerNode = new Node("AliasConsumer", aliasConsumerOpSpi.getOperatorAlias()); consumerNode.addSource(new NodeSource("alias", "Good")); graph.addNode(goodNode); graph.addNode(consumerNode); GraphContext graphContext = new GraphContext(graph); NodeContext consumerNodeContext = graphContext.getNodeContext(consumerNode); assertSame(((ConsumerWithAliasSourceOperator) consumerNodeContext.getOperator()).input1, consumerNodeContext.getSourceProduct("alias")); }
public void testSpiCreation() throws GraphException { Graph graph = new Graph("chain1"); Node node1 = new Node("node1", "Op1"); graph.addNode(node1); GraphContext graphContext = new GraphContext(graph); NodeContext nodeContext = graphContext.getNodeContext(node1); assertEquals("Op1", graph.getNode("node1").getOperatorName()); assertEquals("org.esa.beam.framework.gpf.TestOps$Op1", nodeContext.getOperator().getClass().getName()); }
public void testTargetProductIsSetByAnnotation() throws GraphException { Graph graph = new Graph("graph"); Node node = new Node("OutputNotSet", notInitTargetProductOpSPI.getOperatorAlias()); graph.addNode(node); GraphContext graphContext = new GraphContext(graph); NodeContext nodeContext = graphContext.getNodeContext(node); NotInitOutputOperator notInitOutputOperator = (NotInitOutputOperator) nodeContext.getOperator(); assertNotNull("Output of operator is null", notInitOutputOperator.output); assertSame(nodeContext.getTargetProduct(), notInitOutputOperator.output); }
public void testOneNodeChain() { Graph graph = new Graph("chain1"); Node node = new Node("node1", "org.esa.beam.framework.gpf.TestOps$Op1Spi"); try { graph.addNode(node); } catch (IllegalArgumentException e) { fail(e.getMessage()); } assertEquals("chain1", graph.getId()); assertNotNull(graph.getNodes()); assertEquals(node, graph.getNode("node1")); }
public void testNotInitialzedInputResultsInException() { Graph graph = new Graph("graph"); Node goodNode = new Node("Good", goodOpSpi.getOperatorAlias()); Node consumerNode = new Node("Consumer", consumerOpSpi.getOperatorAlias()); graph.addNode(goodNode); graph.addNode(consumerNode); try { new GraphContext(graph); fail("GraphException expected, because input1 is not initialized"); } catch (GraphException ge) { } }
public void testEmptyChain() throws Exception { Graph chain1 = new Graph("myEmptyChain"); Graph chain2 = doIO(chain1); Node[] nodes = chain2.getNodes(); assertNotNull(nodes); assertEquals(0, nodes.length); assertEquals(chain1.getId(), chain2.getId()); }
public void testEmptyChain() { Graph graph = new Graph("chain1"); assertEquals("chain1", graph.getId()); assertNotNull(graph.getNodes()); }
public void testAddExistingNode() { Graph graph = new Graph("chain1"); Node node1 = new Node("node1", "org.esa.beam.framework.gpf.TestOps$Op1Spi"); Node node2 = new Node("node1", "org.esa.beam.framework.gpf.TestOps$Op2Spi"); try { graph.addNode(node1); graph.addNode(node2); fail("IllegalArgumentException expected"); } catch (IllegalArgumentException e) { // expected } }
private Graph createTestGraph(String opName) { Graph graph = new Graph("graph"); Node input1Node = new Node("input1", "InputOp"); Node input2Node = new Node("input2", "InputOp"); Node input3Node = new Node("input3", "InputOp"); Node outputNode = new Node("output", opName); graph.addNode(input1Node); graph.addNode(input2Node); graph.addNode(input3Node); graph.addNode(outputNode); return graph; }
@Override public void initialize() throws OperatorException { recordCall(getOpName(this), "Operator.initialize"); setTargetProduct(new RecordingProduct(this)); }
public void testForWrongBands() { Graph graph = new Graph("graph"); Node wrongBandsNode = new Node("WrongBands", wrongBandsOpSpi.getOperatorAlias()); Node consumerNode = new Node("Consumer", consumerOpSpi.getOperatorAlias()); consumerNode.addSource(new NodeSource("input1", "WrongBands")); graph.addNode(wrongBandsNode); graph.addNode(consumerNode); try { new GraphContext(graph); fail("GraphException expected, caused by missing bands"); } catch (GraphException ge) { } }
public void testOptionalAndWrongProductIsNotGiven() throws GraphException { Graph graph = new Graph("graph"); Node wrongBandsNode = new Node("WrongBands", wrongBandsOpSpi.getOperatorAlias()); Node consumerNode = new Node("OptionalConsumer", optionalConsumerOpSpi.getOperatorAlias()); graph.addNode(wrongBandsNode); graph.addNode(consumerNode); new GraphContext(graph); }
public void testOptionalAndWrongProductIsGiven() { Graph graph = new Graph("graph"); Node wrongBandsNode = new Node("WrongBands", wrongBandsOpSpi.getOperatorAlias()); Node consumerNode = new Node("OptionalConsumer", optionalConsumerOpSpi.getOperatorAlias()); consumerNode.addSource(new NodeSource("input1", "WrongBands")); graph.addNode(wrongBandsNode); graph.addNode(consumerNode); try { new GraphContext(graph); fail("GraphException expected, caused by missing bands, even if optional"); } catch (GraphException ge) { } }