use of org.codice.alliance.nsili.common.UCO.Node in project alliance by codice.
the class DAGConverterTest method addImageryNode.
private void addImageryNode(DirectedAcyclicGraph<Node, Edge> graph, Node parentNode) {
Any imageryAny = orb.create_any();
Node imageryNode = new Node(0, NodeType.ENTITY_NODE, NsiliConstants.NSIL_IMAGERY, imageryAny);
graph.addVertex(imageryNode);
graph.addEdge(parentNode, imageryNode);
ResultDAGConverter.addStringAttribute(graph, imageryNode, NsiliConstants.CATEGORY, IMAGERY_CATEGORY, orb);
ResultDAGConverter.addShortAttribute(graph, imageryNode, NsiliConstants.CLOUD_COVER_PCT, (short) IMAGERY_CLOUD_COVER_PCT, orb);
ResultDAGConverter.addStringAttribute(graph, imageryNode, NsiliConstants.COMMENTS, IMAGERY_COMMENTS, orb);
ResultDAGConverter.addStringAttribute(graph, imageryNode, NsiliConstants.DECOMPRESSION_TECHNIQUE, IMAGERY_DECOMPRESSION_TECH, orb);
ResultDAGConverter.addStringAttribute(graph, imageryNode, NsiliConstants.IDENTIFIER, IMAGERY_IDENTIFIER, orb);
ResultDAGConverter.addShortAttribute(graph, imageryNode, NsiliConstants.NIIRS, (short) IMAGERY_NIIRS, orb);
ResultDAGConverter.addIntegerAttribute(graph, imageryNode, NsiliConstants.NUMBER_OF_BANDS, IMAGERY_NUM_BANDS, orb);
ResultDAGConverter.addIntegerAttribute(graph, imageryNode, NsiliConstants.NUMBER_OF_ROWS, IMAGERY_NUM_ROWS, orb);
ResultDAGConverter.addIntegerAttribute(graph, imageryNode, NsiliConstants.NUMBER_OF_COLS, IMAGERY_NUM_COLS, orb);
ResultDAGConverter.addStringAttribute(graph, imageryNode, NsiliConstants.TITLE, IMAGERY_TITLE, orb);
}
use of org.codice.alliance.nsili.common.UCO.Node in project alliance by codice.
the class DAGConverterTest method testSwapCoordinates.
@Test
public void testSwapCoordinates() {
String swapWktLocation = "POLYGON ((1 1, 1 5, 5 5, 5 1, 1 1))";
DAG imageryDAG = 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);
addImageryPart(graph, productNode);
graph.addVertex(productNode);
removeNode(graph, NsiliConstants.ADVANCED_GEOSPATIAL);
NsiliCommonUtils.setUCOEdgeIds(graph);
NsiliCommonUtils.setUCOEdges(productNode, graph);
imageryDAG.edges = NsiliCommonUtils.getEdgeArrayFromGraph(graph);
imageryDAG.nodes = NsiliCommonUtils.getNodeArrayFromGraph(graph);
MetacardImpl metacard = dagConverter.convertDAG(imageryDAG, true, SOURCE_ID);
if (SHOULD_PRINT_CARD) {
File file = new File("/tmp/output-imagery.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.getLocation(), is(swapWktLocation));
}
use of org.codice.alliance.nsili.common.UCO.Node in project alliance by codice.
the class DAGConverterTest method testStartNodeOfEdgeNull.
@Test
public void testStartNodeOfEdgeNull() {
DAG dag = new DAG();
DirectedAcyclicGraph<Node, Edge> graph = new DirectedAcyclicGraph<>(Edge.class);
// Create invalid root node
Node rootNode = createRootNode();
graph.addVertex(rootNode);
Edge[] edges = new Edge[1];
Edge edge = new Edge(0, 1, "");
edges[0] = edge;
dag.nodes = NsiliCommonUtils.getNodeArrayFromGraph(graph);
dag.edges = edges;
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 testBadEnumValues.
@Test
public void testBadEnumValues() {
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);
addBadImageryNode(graph, productNode);
addBadVideoPart(graph, productNode);
addBadCxpNode(graph, productNode);
addBadRFINode(graph, productNode);
addBadTaskNode(graph, productNode);
addBadExpoloitationInfoNode(graph, productNode);
addBadSdsNode(graph, productNode);
addBadApprovalNode(graph, productNode);
addBadReportNode(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);
// Check top-level meta-card attributes
assertThat(metacard.getId(), is(CARD_ID));
}
use of org.codice.alliance.nsili.common.UCO.Node in project alliance by codice.
the class DAGConverterTest method testGmtiViewConversion.
/**
* Test the GMTI 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_GMTI NSIL_ASSOCIATION NSIL_RELATION NSIL_SOURCE NSIL_CARD
* NSIL_DESTINATION NSIL_CARD
*/
@Test
public void testGmtiViewConversion() {
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);
addGmtiPart(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-gmti.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);
checkGmtiAttributes(metacard);
checkSecurityAttributes(metacard);
checkCoverageAttributes(metacard);
}
Aggregations