Search in sources :

Example 96 with Node

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

the class DAGConverterTest method addBadCxpNode.

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

Example 97 with Node

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

the class DAGConverterTest method addFileNode.

private void addFileNode(DirectedAcyclicGraph<Node, Edge> graph, Node productNode) {
    Any any = orb.create_any();
    Node fileNode = new Node(0, NodeType.ENTITY_NODE, NsiliConstants.NSIL_FILE, any);
    graph.addVertex(fileNode);
    graph.addEdge(productNode, fileNode);
    ResultDAGConverter.addBooleanAttribute(graph, fileNode, NsiliConstants.ARCHIVED, FILE_ARCHIVED, orb);
    ResultDAGConverter.addStringAttribute(graph, fileNode, NsiliConstants.ARCHIVE_INFORMATION, FILE_ARCHIVE_INFO, orb);
    ResultDAGConverter.addStringAttribute(graph, fileNode, NsiliConstants.CREATOR, FILE_CREATOR, orb);
    addTestDateAttribute(graph, fileNode, NsiliConstants.DATE_TIME_DECLARED, orb);
    ResultDAGConverter.addDoubleAttribute(graph, fileNode, NsiliConstants.EXTENT, FILE_EXTENT, orb);
    ResultDAGConverter.addStringAttribute(graph, fileNode, NsiliConstants.FORMAT, FILE_FORMAT, orb);
    ResultDAGConverter.addStringAttribute(graph, fileNode, NsiliConstants.FORMAT_VERSION, FILE_FORMAT_VER, orb);
    ResultDAGConverter.addStringAttribute(graph, fileNode, NsiliConstants.PRODUCT_URL, FILE_PRODUCT_URL, orb);
    ResultDAGConverter.addStringAttribute(graph, fileNode, NsiliConstants.TITLE, FILE_TITLE, orb);
}
Also used : Node(org.codice.alliance.nsili.common.UCO.Node) Any(org.omg.CORBA.Any)

Example 98 with Node

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

the class DAGConverterTest method addBadCommonNode.

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

Example 99 with Node

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

the class DAGConverterTest method addCoverageNode.

private void addCoverageNode(DirectedAcyclicGraph<Node, Edge> graph, Node parentNode) {
    Any coverageAny = orb.create_any();
    Node coverageNode = new Node(0, NodeType.ENTITY_NODE, NsiliConstants.NSIL_COVERAGE, coverageAny);
    graph.addVertex(coverageNode);
    graph.addEdge(parentNode, coverageNode);
    ResultDAGConverter.addStringAttribute(graph, coverageNode, NsiliConstants.SPATIAL_COUNTRY_CODE, COVERAGE_COUNTRY_CD, orb);
    addTestDateAttribute(graph, coverageNode, NsiliConstants.TEMPORAL_START, orb);
    addTestDateAttribute(graph, coverageNode, NsiliConstants.TEMPORAL_END, orb);
    org.codice.alliance.nsili.common.UCO.Coordinate2d upperLeft = new org.codice.alliance.nsili.common.UCO.Coordinate2d(UPPER_LEFT_LAT, UPPER_LEFT_LON);
    org.codice.alliance.nsili.common.UCO.Coordinate2d lowerRight = new org.codice.alliance.nsili.common.UCO.Coordinate2d(LOWER_RIGHT_LAT, LOWER_RIGHT_LON);
    org.codice.alliance.nsili.common.UCO.Rectangle rectangle = new org.codice.alliance.nsili.common.UCO.Rectangle(upperLeft, lowerRight);
    Any spatialCoverage = orb.create_any();
    RectangleHelper.insert(spatialCoverage, rectangle);
    ResultDAGConverter.addAnyAttribute(graph, coverageNode, NsiliConstants.SPATIAL_GEOGRAPHIC_REF_BOX, spatialCoverage, orb);
    ResultDAGConverter.addStringAttribute(graph, coverageNode, NsiliConstants.ADVANCED_GEOSPATIAL, WKT_LOCATION, orb);
}
Also used : Node(org.codice.alliance.nsili.common.UCO.Node) Any(org.omg.CORBA.Any)

Example 100 with Node

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

the class DAGConverterTest method testTdlViewConversion.

/**
 * Test the Message View DAG to Metacard
 *
 * <p>NSIL_PRODUCT NSIL_APPROVAL NSIL_CARD NSIL_STREAM NSIL_FILE NSIL_METADATASECURITY
 * NSIL_RELATED_FILE NSIL_SECURITY NSIL_PART NSIL_SECURITY NSIL_COMMON NSIL_COVERAGE
 * NSIL_EXPLOITATION_INFO NSIL_TDL NSIL_ASSOCIATION NSIL_RELATION NSIL_SOURCE NSIL_CARD
 * NSIL_DESTINATION NSIL_CARD
 */
@Test
public void testTdlViewConversion() {
    DAG dag = new DAG();
    DirectedAcyclicGraph<Node, Edge> graph = new DirectedAcyclicGraph<>(Edge.class);
    Node productNode = createRootNode();
    graph.addVertex(productNode);
    addCardNode(graph, productNode);
    addFileNode(graph, productNode);
    addStreamNode(graph, productNode);
    addMetadataSecurity(graph, productNode);
    addSecurityNode(graph, productNode);
    addTdlPart(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-tdl.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);
    checkTdlAttributes(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