/** * Creates a GraphContext for the given {@code graph} and a {@code logger}. * * @param graph the {@link org.esa.beam.framework.gpf.graph.Graph} to create the context for * @throws GraphException if the graph context could not be created */ public GraphContext(Graph graph, Operator graphOp) throws GraphException { if (graph.getNodeCount() == 0) { throw new GraphException("Empty graph."); } this.graph = graph; this.logger = BeamLogManager.getSystemLogger(); outputNodeContextList = new ArrayList<>(graph.getNodeCount() / 2); nodeContextMap = new HashMap<>(graph.getNodeCount() * 2); for (Node node : graph.getNodes()) { nodeContextMap.put(node, new NodeContext(this, node)); } initNodeContextDeque = new ArrayDeque<>(graph.getNodeCount()); initNodeDependencies(); initOutput(graphOp); }
@Test public void testIt() throws Exception { InputStream stream = BinningInGraphTest.class.getResourceAsStream("BinningInGraphTest.xml"); Graph graph = GraphIO.read(new InputStreamReader(stream)); Assert.assertNotNull(graph); Assert.assertEquals(1, graph.getNodeCount()); Assert.assertEquals("subsetNodeId", graph.getNode(0).getId()); Assert.assertEquals("subsetNodeId", graph.getNode(0).getId()); } }
Node lastNode = graph.getNode(graph.getNodeCount() - 1); SortedMap<String, String> sourceFilePathsMap = commandLineArgs.getSourceFilePathMap();
private void testGraph(String[] args, int expectedNodeCount, String expectedLog, Map<String, String> expectedSourceNodeIdFilePathMap, String expectedTargetNodeId, String expectedTargetFilepath, String expectedTargetFormat) throws Exception { clTool.run(args); assertEquals(expectedLog, context.logString); Graph executedGraph = context.executedGraph; assertNotNull(executedGraph); assertEquals(expectedNodeCount, executedGraph.getNodeCount()); for (Map.Entry<String, String> entry : expectedSourceNodeIdFilePathMap.entrySet()) { String expectedSourceFilePath = entry.getValue(); if (expectedSourceFilePath != null) { final String key = entry.getKey(); Node generatedReaderNode1 = executedGraph.getNode(key); assertNotNull("Source ID not found: " + key, generatedReaderNode1); assertEquals(expectedSourceFilePath, generatedReaderNode1.getConfiguration().getChild("file").getValue()); } } Node generatedWriterNode = executedGraph.getNode(expectedTargetNodeId); assertNotNull(generatedWriterNode); assertEquals("node1", generatedWriterNode.getSource(0).getSourceNodeId()); DomElement parameters = generatedWriterNode.getConfiguration(); assertNotNull(parameters); assertNotNull(expectedTargetFilepath, parameters.getChild("file").getValue()); assertNotNull(expectedTargetFormat, parameters.getChild("formatName").getValue()); }
assertEquals(expectedNodeCount, executedGraph.getNodeCount());