Search in sources :

Example 31 with Node

use of org.codice.alliance.nsili.common.UCO.Node in project alliance by codice.

the class DAGConverterTest method testOnlyRootNodeDAG.

@Test
public void testOnlyRootNodeDAG() {
    DAG dag = new DAG();
    DirectedAcyclicGraph<Node, Edge> graph = new DirectedAcyclicGraph<>(Edge.class);
    // Create invalid root node
    Node rootNode = createRootNode();
    graph.addVertex(rootNode);
    NsiliCommonUtils.setUCOEdgeIds(graph);
    NsiliCommonUtils.setUCOEdges(rootNode, graph);
    dag.edges = NsiliCommonUtils.getEdgeArrayFromGraph(graph);
    dag.nodes = NsiliCommonUtils.getNodeArrayFromGraph(graph);
    MetacardImpl metacard = dagConverter.convertDAG(dag, false, SOURCE_ID);
    assertThat(metacard.getTitle(), nullValue());
}
Also used : Node(org.codice.alliance.nsili.common.UCO.Node) DAG(org.codice.alliance.nsili.common.UCO.DAG) Edge(org.codice.alliance.nsili.common.UCO.Edge) DirectedAcyclicGraph(org.jgrapht.experimental.dag.DirectedAcyclicGraph) MetacardImpl(ddf.catalog.data.impl.MetacardImpl) Test(org.junit.Test)

Example 32 with Node

use of org.codice.alliance.nsili.common.UCO.Node in project alliance by codice.

the class DAGConverterTest method removeNode.

private void removeNode(Graph<Node, Edge> graph, String nodeName) {
    DepthFirstIterator<Node, Edge> depthFirstIterator = new DepthFirstIterator<>(graph);
    List<Node> removeVertices = new ArrayList<>();
    while (depthFirstIterator.hasNext()) {
        depthFirstIterator.setCrossComponentTraversal(false);
        Node node = depthFirstIterator.next();
        if (node.attribute_name.equals(nodeName)) {
            removeVertices.add(node);
        }
    }
    removeVertices.forEach(graph::removeVertex);
}
Also used : DepthFirstIterator(org.jgrapht.traverse.DepthFirstIterator) Node(org.codice.alliance.nsili.common.UCO.Node) ArrayList(java.util.ArrayList) Edge(org.codice.alliance.nsili.common.UCO.Edge)

Example 33 with Node

use of org.codice.alliance.nsili.common.UCO.Node in project alliance by codice.

the class DAGConverterTest method addBadExpoloitationInfoNode.

private void addBadExpoloitationInfoNode(DirectedAcyclicGraph<Node, Edge> graph, Node parentNode) {
    Any exploitationAny = orb.create_any();
    Node exploitationNode = new Node(0, NodeType.ENTITY_NODE, NsiliConstants.NSIL_EXPLOITATION_INFO, exploitationAny);
    graph.addVertex(exploitationNode);
    graph.addEdge(parentNode, exploitationNode);
    ResultDAGConverter.addStringAttribute(graph, exploitationNode, NsiliConstants.SUBJ_QUALITY_CODE, BAD_ENUM_VALUE, orb);
}
Also used : Node(org.codice.alliance.nsili.common.UCO.Node) Any(org.omg.CORBA.Any)

Example 34 with Node

use of org.codice.alliance.nsili.common.UCO.Node in project alliance by codice.

the class DAGConverterTest method addTaskNode.

private void addTaskNode(DirectedAcyclicGraph<Node, Edge> graph, Node parentNode) {
    Any taskAny = orb.create_any();
    Node taskNode = new Node(0, NodeType.ENTITY_NODE, NsiliConstants.NSIL_TASK, taskAny);
    graph.addVertex(taskNode);
    graph.addEdge(parentNode, taskNode);
    ResultDAGConverter.addStringAttribute(graph, taskNode, NsiliConstants.COMMENTS, TASK_COMMENTS, orb);
    ResultDAGConverter.addStringAttribute(graph, taskNode, NsiliConstants.STATUS, TASK_STATUS, orb);
}
Also used : Node(org.codice.alliance.nsili.common.UCO.Node) Any(org.omg.CORBA.Any)

Example 35 with Node

use of org.codice.alliance.nsili.common.UCO.Node in project alliance by codice.

the class DAGConverterTest method addMessagePart.

private void addMessagePart(DirectedAcyclicGraph<Node, Edge> graph, Node productNode) {
    Node partNode1 = addPartNode(graph, productNode);
    addSecurityNode(graph, partNode1);
    addCommonNode(graph, partNode1);
    addCoverageNode(graph, partNode1);
    Node partNode2 = addPartNode(graph, productNode);
    addSecurityNode(graph, partNode2);
    addCommonNode(graph, partNode2);
    addExpoloitationInfoNode(graph, partNode2);
    Node partNode3 = addPartNode(graph, productNode);
    addSecurityNode(graph, partNode3);
    addCommonNode(graph, partNode3);
    addMessageNode(graph, partNode3);
}
Also used : Node(org.codice.alliance.nsili.common.UCO.Node)

Aggregations

Node (org.codice.alliance.nsili.common.UCO.Node)109 Any (org.omg.CORBA.Any)61 Edge (org.codice.alliance.nsili.common.UCO.Edge)31 ArrayList (java.util.ArrayList)23 DirectedAcyclicGraph (org.jgrapht.experimental.dag.DirectedAcyclicGraph)23 MetacardImpl (ddf.catalog.data.impl.MetacardImpl)21 DAG (org.codice.alliance.nsili.common.UCO.DAG)21 Test (org.junit.Test)20 File (java.io.File)12 IOException (java.io.IOException)12 PrintStream (java.io.PrintStream)11 DepthFirstIterator (org.jgrapht.traverse.DepthFirstIterator)6 Attribute (ddf.catalog.data.Attribute)5 URI (java.net.URI)2 URISyntaxException (java.net.URISyntaxException)2 Metacard (ddf.catalog.data.Metacard)1 AttributeImpl (ddf.catalog.data.impl.AttributeImpl)1 BufferedInputStream (java.io.BufferedInputStream)1 FileOutputStream (java.io.FileOutputStream)1 Serializable (java.io.Serializable)1