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());
}
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);
}
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);
}
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);
}
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);
}
Aggregations