Search in sources :

Example 26 with Node

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

the class DAGConverterTest method testRecordNodePresent.

@Test
public void testRecordNodePresent() {
    DAG dag = new DAG();
    DirectedAcyclicGraph<Node, Edge> graph = new DirectedAcyclicGraph<>(Edge.class);
    // Create invalid root node
    Node rootNode = createRootNode();
    graph.addVertex(rootNode);
    Node recordNode = new Node(0, NodeType.RECORD_NODE, NsiliConstants.NSIL_CARD, orb.create_any());
    graph.addVertex(recordNode);
    graph.addEdge(rootNode, recordNode);
    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 27 with Node

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

the class DAGConverterTest method addStreamNode.

private void addStreamNode(DirectedAcyclicGraph<Node, Edge> graph, Node productNode) {
    Any any = orb.create_any();
    Node streamNode = new Node(0, NodeType.ENTITY_NODE, NsiliConstants.NSIL_STREAM, any);
    graph.addVertex(streamNode);
    graph.addEdge(productNode, streamNode);
    ResultDAGConverter.addBooleanAttribute(graph, streamNode, NsiliConstants.ARCHIVED, STREAM_ARCHIVED, orb);
    ResultDAGConverter.addStringAttribute(graph, streamNode, NsiliConstants.ARCHIVE_INFORMATION, ARCHIVE_INFORMATION, orb);
    ResultDAGConverter.addStringAttribute(graph, streamNode, NsiliConstants.CREATOR, STREAM_CREATOR, orb);
    addTestDateAttribute(graph, streamNode, NsiliConstants.DATE_TIME_DECLARED, orb);
    ResultDAGConverter.addStringAttribute(graph, streamNode, NsiliConstants.STANDARD, STREAM_STANDARD, orb);
    ResultDAGConverter.addStringAttribute(graph, streamNode, NsiliConstants.STANDARD_VERSION, STREAM_STANDARD_VER, orb);
    ResultDAGConverter.addStringAttribute(graph, streamNode, NsiliConstants.SOURCE_URL, STREAM_SOURCE_URL, orb);
    ResultDAGConverter.addShortAttribute(graph, streamNode, NsiliConstants.PROGRAM_ID, STREAM_PROGRAM_ID, orb);
}
Also used : Node(org.codice.alliance.nsili.common.UCO.Node) Any(org.omg.CORBA.Any)

Example 28 with Node

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

the class DAGConverterTest method addIRNode.

private void addIRNode(DirectedAcyclicGraph<Node, Edge> graph, Node parentNode) {
    Any irAny = orb.create_any();
    Node irNode = new Node(0, NodeType.ENTITY_NODE, NsiliConstants.NSIL_IR, irAny);
    graph.addVertex(irNode);
    graph.addEdge(parentNode, irNode);
}
Also used : Node(org.codice.alliance.nsili.common.UCO.Node) Any(org.omg.CORBA.Any)

Example 29 with Node

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

the class DAGConverterTest method testReportViewConversion.

/**
 * Test the Message View DAG to Metacard
 *
 * <p>NSIL_PRODUCT NSIL_APPROVAL NSIL_CARD NSIL_FILE NSIL_METADATASECURITY NSIL_RELATED_FILE
 * NSIL_SECURITY NSIL_PART NSIL_SECURITY NSIL_COMMON NSIL_COVERAGE NSIL_EXPLOITATION_INFO
 * NSIL_REPORT NSIL_ASSOCIATION NSIL_RELATION NSIL_SOURCE NSIL_CARD NSIL_DESTINATION NSIL_CARD
 */
@Test
public void testReportViewConversion() {
    DAG dag = new DAG();
    DirectedAcyclicGraph<Node, Edge> graph = new DirectedAcyclicGraph<>(Edge.class);
    Node productNode = createRootNode();
    graph.addVertex(productNode);
    addCardNode(graph, productNode);
    addFileNode(graph, productNode);
    addMetadataSecurity(graph, productNode);
    addSecurityNode(graph, productNode);
    addReportPart(graph, productNode);
    graph.addVertex(productNode);
    NsiliCommonUtils.setUCOEdgeIds(graph);
    NsiliCommonUtils.setUCOEdges(productNode, graph);
    dag.edges = NsiliCommonUtils.getEdgeArrayFromGraph(graph);
    dag.nodes = NsiliCommonUtils.getNodeArrayFromGraph(graph);
    MetacardImpl metacard = dagConverter.convertDAG(dag, false, SOURCE_ID);
    if (SHOULD_PRINT_CARD) {
        File file = new File("/tmp/output-report.txt");
        if (file.exists()) {
            file.delete();
        }
        try (PrintStream outStream = new PrintStream(file)) {
            printMetacard(metacard, outStream);
        } catch (IOException ioe) {
        // Ignore the error
        }
    }
    // Check top-level meta-card attributes
    assertThat(metacard.getTitle(), is(FILE_TITLE));
    assertThat(metacard.getId(), is(CARD_ID));
    assertThat(metacard.getCreatedDate(), notNullValue());
    assertThat(metacard.getEffectiveDate(), notNullValue());
    assertThat(metacard.getModifiedDate(), is(cal.getTime()));
    assertThat(metacard.getDescription(), is(COM_DESCRIPTION_ABSTRACT));
    assertThat(metacard.getLocation(), is(WKT_LOCATION));
    assertThat(metacard.getAttribute(Core.RESOURCE_URI).getValue().toString(), is(FILE_PRODUCT_URL));
    checkCommonAttributes(metacard);
    checkExploitationInfoAttributes(metacard);
    checkReportAttributes(metacard);
    checkSecurityAttributes(metacard);
    checkCoverageAttributes(metacard);
}
Also used : PrintStream(java.io.PrintStream) Node(org.codice.alliance.nsili.common.UCO.Node) DAG(org.codice.alliance.nsili.common.UCO.DAG) IOException(java.io.IOException) Edge(org.codice.alliance.nsili.common.UCO.Edge) File(java.io.File) DirectedAcyclicGraph(org.jgrapht.experimental.dag.DirectedAcyclicGraph) MetacardImpl(ddf.catalog.data.impl.MetacardImpl) Test(org.junit.Test)

Example 30 with Node

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

the class DAGConverterTest method testVideoViewConversion.

/**
 * Test the Message View DAG to Metacard
 *
 * <p>NSIL_PRODUCT NSIL_APPROVAL NSIL_CARD NSIL_FILE NSIL_STREAM NSIL_METADATASECURITY
 * NSIL_RELATED_FILE NSIL_SECURITY NSIL_PART NSIL_SECURITY NSIL_COMMON NSIL_COVERAGE
 * NSIL_EXPLOITATION_INFO NSIL_VIDEO NSIL_ASSOCIATION NSIL_RELATION NSIL_SOURCE NSIL_CARD
 * NSIL_DESTINATION NSIL_CARD
 */
@Test
public void testVideoViewConversion() {
    DAG dag = new DAG();
    DirectedAcyclicGraph<Node, Edge> graph = new DirectedAcyclicGraph<>(Edge.class);
    Node productNode = createRootNode();
    graph.addVertex(productNode);
    addCardNode(graph, productNode);
    addStreamNode(graph, productNode);
    addMetadataSecurity(graph, productNode);
    addSecurityNode(graph, productNode);
    addVideoPart(graph, productNode);
    graph.addVertex(productNode);
    NsiliCommonUtils.setUCOEdgeIds(graph);
    NsiliCommonUtils.setUCOEdges(productNode, graph);
    dag.edges = NsiliCommonUtils.getEdgeArrayFromGraph(graph);
    dag.nodes = NsiliCommonUtils.getNodeArrayFromGraph(graph);
    MetacardImpl metacard = dagConverter.convertDAG(dag, false, SOURCE_ID);
    if (SHOULD_PRINT_CARD) {
        File file = new File("/tmp/output-video.txt");
        if (file.exists()) {
            file.delete();
        }
        try (PrintStream outStream = new PrintStream(file)) {
            printMetacard(metacard, outStream);
        } catch (IOException ioe) {
        // Ignore the error
        }
    }
    // Check top-level meta-card attributes
    assertThat(metacard.getId(), is(CARD_ID));
    assertThat(metacard.getCreatedDate(), notNullValue());
    assertThat(metacard.getEffectiveDate(), notNullValue());
    assertThat(metacard.getModifiedDate(), is(cal.getTime()));
    assertThat(metacard.getDescription(), is(COM_DESCRIPTION_ABSTRACT));
    assertThat(metacard.getLocation(), is(WKT_LOCATION));
    assertThat(metacard.getAttribute(Core.RESOURCE_URI).getValue().toString(), is(STREAM_SOURCE_URL));
    checkCommonAttributes(metacard);
    checkExploitationInfoAttributes(metacard);
    checkStreamAttributes(metacard);
    checkVideoAttributes(metacard);
    checkSecurityAttributes(metacard);
    checkCoverageAttributes(metacard);
}
Also used : PrintStream(java.io.PrintStream) Node(org.codice.alliance.nsili.common.UCO.Node) DAG(org.codice.alliance.nsili.common.UCO.DAG) IOException(java.io.IOException) Edge(org.codice.alliance.nsili.common.UCO.Edge) File(java.io.File) DirectedAcyclicGraph(org.jgrapht.experimental.dag.DirectedAcyclicGraph) MetacardImpl(ddf.catalog.data.impl.MetacardImpl) Test(org.junit.Test)

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