use of org.codice.alliance.nsili.common.UCO.Node in project alliance by codice.
the class ResultDAGConverter method addMetadataSecurityNodeWithAttributes.
public static List<String> addMetadataSecurityNodeWithAttributes(DirectedAcyclicGraph<Node, Edge> graph, Node productNode, Metacard metacard, ORB orb, String parentAttrName, List<String> resultAttributes) {
List<String> addedAttributes = new ArrayList<>();
Any any = orb.create_any();
Node metadataSecurityNode = new Node(0, NodeType.ENTITY_NODE, NsiliConstants.NSIL_METADATA_SECURITY, any);
graph.addVertex(metadataSecurityNode);
graph.addEdge(productNode, metadataSecurityNode);
String attribute = parentAttrName + NsiliConstants.NSIL_METADATA_SECURITY;
boolean classificationAdded = isClassificationAdded(graph, metacard, orb, resultAttributes, addedAttributes, metadataSecurityNode, attribute);
addPolicyAttributes(graph, metacard, orb, resultAttributes, addedAttributes, metadataSecurityNode, attribute);
addReleasabilityAttributes(graph, metacard, orb, resultAttributes, addedAttributes, metadataSecurityNode, attribute);
addClassificationAttributes(graph, orb, addedAttributes, metadataSecurityNode, attribute, classificationAdded);
return addedAttributes;
}
use of org.codice.alliance.nsili.common.UCO.Node in project alliance by codice.
the class ResultDAGConverter method addIntegerAttribute.
public static void addIntegerAttribute(DirectedAcyclicGraph<Node, Edge> graph, Node parentNode, String key, Integer integer, ORB orb) {
Any any = orb.create_any();
any.insert_ulong(integer);
Node node = new Node(0, NodeType.ATTRIBUTE_NODE, key, any);
graph.addVertex(node);
graph.addEdge(parentNode, node);
}
use of org.codice.alliance.nsili.common.UCO.Node in project alliance by codice.
the class ResultDAGConverter method addParts.
public static List<String> addParts(DirectedAcyclicGraph<Node, Edge> graph, Node productNode, Metacard metacard, ORB orb, String parentAttrName, List<String> resultAttributes) {
List<String> addedAttributes = new ArrayList<>();
Any any = orb.create_any();
Node partNode = new Node(0, NodeType.ENTITY_NODE, NsiliConstants.NSIL_PART, any);
graph.addVertex(partNode);
graph.addEdge(productNode, partNode);
String attribute = parentAttrName + NsiliConstants.NSIL_PART;
String type = NsiliProductType.DOCUMENT.getSpecName();
String partIdentifier = "1";
if (shouldAdd(buildAttr(attribute, NsiliConstants.PART_IDENTIFIER), resultAttributes)) {
addStringAttribute(graph, partNode, NsiliConstants.PART_IDENTIFIER, partIdentifier, orb);
addedAttributes.add(buildAttr(attribute, NsiliConstants.PART_IDENTIFIER));
}
addedAttributes.addAll(addSecurityNodeWithAttributes(graph, partNode, metacard, orb, attribute + ":", resultAttributes));
addedAttributes.addAll(addCoverageNodeWithAttributes(graph, partNode, metacard, orb, attribute + ":", resultAttributes));
Attribute typeAttr = metacard.getAttribute(Core.DATATYPE);
if (typeAttr != null) {
type = getType(String.valueOf(typeAttr.getValue()));
}
if (type.equalsIgnoreCase(NsiliProductType.IMAGERY.getSpecName())) {
addedAttributes.addAll(addImageryPart(graph, partNode, metacard, orb, attribute + ":", resultAttributes));
} else if (type.equalsIgnoreCase(NsiliProductType.VIDEO.getSpecName())) {
addedAttributes.addAll(addVideoPart(graph, partNode, metacard, orb, attribute + ":", resultAttributes));
} else if (type.equalsIgnoreCase(NsiliProductType.TDL_DATA.getSpecName())) {
addedAttributes.addAll(addTdlPart(graph, partNode, metacard, orb, attribute + ":", resultAttributes));
} else if (type.equalsIgnoreCase(NsiliProductType.GMTI.getSpecName())) {
addedAttributes.addAll(addGmtiPart(graph, partNode, metacard, orb, attribute + ":", resultAttributes));
} else if (type.equalsIgnoreCase(NsiliProductType.REPORT.getSpecName())) {
addedAttributes.addAll(addReportPart(graph, partNode, metacard, orb, attribute + ":", resultAttributes));
} else if (type.equalsIgnoreCase(NsiliProductType.RFI.getSpecName())) {
addedAttributes.addAll(addRfiPart(graph, partNode, metacard, orb, attribute + ":", resultAttributes));
} else if (type.equalsIgnoreCase(NsiliProductType.TASK.getSpecName())) {
addedAttributes.addAll(addTaskPart(graph, partNode, metacard, orb, attribute + ":", resultAttributes));
}
addedAttributes.addAll(addExploitationInfoPart(graph, partNode, metacard, orb, attribute + ":", resultAttributes));
addedAttributes.addAll(addCbrnPart(graph, partNode, metacard, orb, attribute + ":", resultAttributes));
addedAttributes.addAll(addCommonNodeWithAttributes(graph, partNode, metacard, type, orb, attribute + ":", resultAttributes));
return addedAttributes;
}
use of org.codice.alliance.nsili.common.UCO.Node in project alliance by codice.
the class ResultDAGConverter method addAnyAttribute.
public static void addAnyAttribute(DirectedAcyclicGraph<Node, Edge> graph, Node parentNode, String key, Any any, ORB orb) {
Node node = new Node(0, NodeType.ATTRIBUTE_NODE, key, any);
graph.addVertex(node);
graph.addEdge(parentNode, node);
}
use of org.codice.alliance.nsili.common.UCO.Node in project alliance by codice.
the class ResultDAGConverter method getNodeEdgeDirectedAcyclicGraph.
private static DirectedAcyclicGraph<Node, Edge> getNodeEdgeDirectedAcyclicGraph(DAG dag, Map<Integer, Node> nodeMap) {
DirectedAcyclicGraph<Node, Edge> graph = new DirectedAcyclicGraph<>(Edge.class);
for (Node node : dag.nodes) {
graph.addVertex(node);
}
for (Edge edge : dag.edges) {
Node node1 = nodeMap.get(edge.start_node);
Node node2 = nodeMap.get(edge.end_node);
if (node1 != null && node2 != null) {
graph.addEdge(node1, node2);
}
}
return graph;
}
Aggregations