use of org.codice.alliance.nsili.common.UCO.Node in project alliance by codice.
the class DAGConverterTest method testImageryViewConversion.
/**
* Test the Imagery 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_IMAGERY NSIL_ASSOCIATION NSIL_RELATION NSIL_SOURCE NSIL_CARD
* NSIL_DESTINATION NSIL_CARD
*/
@Test
public void testImageryViewConversion() {
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);
addAssocationNode(graph, productNode);
addApprovalNode(graph, productNode);
addRelatedFile(graph, productNode);
graph.addVertex(productNode);
NsiliCommonUtils.setUCOEdgeIds(graph);
NsiliCommonUtils.setUCOEdges(productNode, graph);
imageryDAG.edges = NsiliCommonUtils.getEdgeArrayFromGraph(graph);
imageryDAG.nodes = NsiliCommonUtils.getNodeArrayFromGraph(graph);
MetacardImpl metacard = dagConverter.convertDAG(imageryDAG, false, 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.getTitle(), is(IMAGERY_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);
checkImageryAttributes(metacard);
checkSecurityAttributes(metacard);
checkCoverageAttributes(metacard);
checkAssociationAttribute(metacard);
DAGConverter.logMetacard(metacard, "123");
}
use of org.codice.alliance.nsili.common.UCO.Node in project alliance by codice.
the class DAGConverterTest method addApprovalNode.
private void addApprovalNode(DirectedAcyclicGraph<Node, Edge> graph, Node productNode) {
Any approvalAny = orb.create_any();
Node approvalNode = new Node(0, NodeType.ENTITY_NODE, NsiliConstants.NSIL_APPROVAL, approvalAny);
graph.addVertex(approvalNode);
graph.addEdge(productNode, approvalNode);
ResultDAGConverter.addStringAttribute(graph, approvalNode, NsiliConstants.APPROVED_BY, APPROVED_BY, orb);
addTestDateAttribute(graph, approvalNode, NsiliConstants.DATE_TIME_MODIFIED, orb);
ResultDAGConverter.addStringAttribute(graph, approvalNode, NsiliConstants.STATUS, APPROVAL_STATUS.getSpecName(), orb);
}
use of org.codice.alliance.nsili.common.UCO.Node in project alliance by codice.
the class DAGConverterTest method addExpoloitationInfoNode.
private void addExpoloitationInfoNode(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.DESCRIPTION, EXPLOITATION_DESC, orb);
ResultDAGConverter.addShortAttribute(graph, exploitationNode, NsiliConstants.LEVEL, EXPLOITATION_LEVEL, orb);
ResultDAGConverter.addBooleanAttribute(graph, exploitationNode, NsiliConstants.AUTO_GENERATED, EXPLOITATION_AUTO_GEN, orb);
ResultDAGConverter.addStringAttribute(graph, exploitationNode, NsiliConstants.SUBJ_QUALITY_CODE, EXPLOITATION_SUBJ_QUAL_CODE, orb);
}
use of org.codice.alliance.nsili.common.UCO.Node in project alliance by codice.
the class DAGConverterTest method addIRPart.
private void addIRPart(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);
addIRNode(graph, partNode3);
}
use of org.codice.alliance.nsili.common.UCO.Node in project alliance by codice.
the class DAGConverterTest method addRelatedFile.
private void addRelatedFile(DirectedAcyclicGraph<Node, Edge> graph, Node productNode) {
Any any = orb.create_any();
Node relatedFileNode = new Node(0, NodeType.ENTITY_NODE, NsiliConstants.NSIL_RELATED_FILE, any);
graph.addVertex(relatedFileNode);
graph.addEdge(productNode, relatedFileNode);
ResultDAGConverter.addStringAttribute(graph, relatedFileNode, NsiliConstants.CREATOR, FILE_CREATOR, orb);
addTestDateAttribute(graph, relatedFileNode, NsiliConstants.DATE_TIME_DECLARED, orb);
ResultDAGConverter.addDoubleAttribute(graph, relatedFileNode, NsiliConstants.EXTENT, FILE_EXTENT, orb);
ResultDAGConverter.addStringAttribute(graph, relatedFileNode, NsiliConstants.FILE_TYPE, NsiliConstants.THUMBNAIL_TYPE, orb);
ResultDAGConverter.addStringAttribute(graph, relatedFileNode, NsiliConstants.URL, FILE_PRODUCT_URL, orb);
ResultDAGConverter.addBooleanAttribute(graph, relatedFileNode, NsiliConstants.IS_FILE_LOCAL, true, orb);
}
Aggregations