Search in sources :

Example 66 with Node

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

the class ResultDAGConverter method addTdlPart.

public static List<String> addTdlPart(DirectedAcyclicGraph<Node, Edge> graph, Node partNode, Metacard metacard, ORB orb, String parentAttrName, List<String> resultAttributes) {
    List<String> addedAttributes = new ArrayList<>();
    Any tdlAny = orb.create_any();
    Node tdlNode = new Node(0, NodeType.ENTITY_NODE, NsiliConstants.NSIL_TDL, tdlAny);
    graph.addVertex(tdlNode);
    graph.addEdge(partNode, tdlNode);
    String attribute = parentAttrName + NsiliConstants.NSIL_TDL;
    addIntAttribute(graph, metacard.getAttribute(Isr.TACTICAL_DATA_LINK_PLATFORM), orb, resultAttributes, addedAttributes, tdlNode, attribute, NsiliConstants.PLATFORM);
    addIntAttribute(graph, metacard.getAttribute(Isr.TACTICAL_DATA_LINK_ACTIVITY), orb, resultAttributes, addedAttributes, tdlNode, attribute, NsiliConstants.ACTIVITY);
    addStrAttribute(graph, metacard.getAttribute(Isr.TACTICAL_DATA_LINK_MESSAGE_NUMBER), orb, resultAttributes, addedAttributes, tdlNode, attribute, NsiliConstants.MESSAGE_NUM);
    addStrAttribute(graph, metacard.getAttribute(Isr.TACTICAL_DATA_LINK_TRACK_NUMBER), orb, resultAttributes, addedAttributes, tdlNode, attribute, NsiliConstants.TRACK_NUM);
    return addedAttributes;
}
Also used : Node(org.codice.alliance.nsili.common.UCO.Node) ArrayList(java.util.ArrayList) Any(org.omg.CORBA.Any)

Example 67 with Node

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

the class ResultDAGConverter method addEntityPart.

public static List<String> addEntityPart(DirectedAcyclicGraph<Node, Edge> graph, Node partNode, Metacard metacard, ORB orb, String parentAttrName, List<String> resultAttributes) {
    List<String> addedAttributes = new ArrayList<>();
    Any entityAny = orb.create_any();
    Node entityPartNode = new Node(0, NodeType.ENTITY_NODE, NsiliConstants.NSIL_ENTITY, entityAny);
    graph.addVertex(entityPartNode);
    graph.addEdge(partNode, entityPartNode);
    String attribute = parentAttrName + NsiliConstants.NSIL_ENTITY;
    if (shouldAdd(buildAttr(attribute, NsiliConstants.TYPE), resultAttributes)) {
        Attribute situationTypeAttr = metacard.getAttribute(Isr.REPORT_ENTITY_TYPE);
        if (situationTypeAttr != null) {
            String situationType = getEntityType(situationTypeAttr.getValue());
            if (situationType != null) {
                addStringAttribute(graph, entityPartNode, NsiliConstants.TYPE, situationType, orb);
                addedAttributes.add(buildAttr(attribute, NsiliConstants.TYPE));
            }
        }
    }
    addStrAttribute(graph, metacard.getAttribute(Isr.REPORT_ENTITY_NAME), orb, resultAttributes, addedAttributes, entityPartNode, attribute, NsiliConstants.NAME);
    addValStrAttribute(graph, metacard.getAttribute(Isr.REPORT_ENTITY_ALIAS), orb, resultAttributes, addedAttributes, entityPartNode, attribute, NsiliConstants.ALIAS);
    return addedAttributes;
}
Also used : Attribute(ddf.catalog.data.Attribute) Node(org.codice.alliance.nsili.common.UCO.Node) ArrayList(java.util.ArrayList) Any(org.omg.CORBA.Any)

Example 68 with Node

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

the class ResultDAGConverter method addCbrnPart.

public static List<String> addCbrnPart(DirectedAcyclicGraph<Node, Edge> graph, Node partNode, Metacard metacard, ORB orb, String parentAttrName, List<String> resultAttributes) {
    List<String> addedAttributes = new ArrayList<>();
    Any cbrnAny = orb.create_any();
    Node cbrnNode = new Node(0, NodeType.ENTITY_NODE, NsiliConstants.NSIL_CBRN, cbrnAny);
    graph.addVertex(cbrnNode);
    graph.addEdge(partNode, cbrnNode);
    String attribute = parentAttrName + NsiliConstants.NSIL_CBRN;
    addStrAttribute(graph, metacard.getAttribute(Isr.CHEMICAL_BIOLOGICAL_RADIOLOGICAL_NUCLEAR_OPERATION_NAME), orb, resultAttributes, addedAttributes, cbrnNode, attribute, NsiliConstants.OPERATION_NAME);
    addStrAttribute(graph, metacard.getAttribute(Isr.CHEMICAL_BIOLOGICAL_RADIOLOGICAL_NUCLEAR_INCIDENT_NUMBER), orb, resultAttributes, addedAttributes, cbrnNode, attribute, NsiliConstants.INCIDENT_NUM);
    addEventTypeAttribute(graph, metacard, orb, resultAttributes, addedAttributes, cbrnNode, attribute);
    addStrAttribute(graph, metacard.getAttribute(Isr.CHEMICAL_BIOLOGICAL_RADIOLOGICAL_NUCLEAR_CATEGORY), orb, resultAttributes, addedAttributes, cbrnNode, attribute, NsiliConstants.CBRN_CATEGORY);
    addStrAttribute(graph, metacard.getAttribute(Isr.CHEMICAL_BIOLOGICAL_RADIOLOGICAL_NUCLEAR_SUBSTANCE), orb, resultAttributes, addedAttributes, cbrnNode, attribute, NsiliConstants.SUBSTANCE);
    addAlarmClassificationAttribute(graph, metacard, orb, resultAttributes, addedAttributes, cbrnNode, attribute);
    if (addedAttributes.isEmpty()) {
        graph.removeEdge(partNode, cbrnNode);
        graph.removeVertex(cbrnNode);
    }
    return addedAttributes;
}
Also used : Node(org.codice.alliance.nsili.common.UCO.Node) ArrayList(java.util.ArrayList) Any(org.omg.CORBA.Any)

Example 69 with Node

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

the class ResultDAGConverter method addBooleanAttribute.

public static void addBooleanAttribute(DirectedAcyclicGraph<Node, Edge> graph, Node parentNode, String key, Boolean boolVal, ORB orb) {
    Any any = orb.create_any();
    any.insert_boolean(boolVal);
    Node node = new Node(0, NodeType.ATTRIBUTE_NODE, key, any);
    graph.addVertex(node);
    graph.addEdge(parentNode, node);
}
Also used : Node(org.codice.alliance.nsili.common.UCO.Node) Any(org.omg.CORBA.Any)

Example 70 with Node

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

the class ResultDAGConverter method addCommonNodeWithAttributes.

public static List<String> addCommonNodeWithAttributes(DirectedAcyclicGraph<Node, Edge> graph, Node partNode, Metacard metacard, String type, ORB orb, String parentAttrName, List<String> resultAttributes) {
    List<String> addedAttributes = new ArrayList<>();
    Any any = orb.create_any();
    Node commonNode = new Node(0, NodeType.ENTITY_NODE, NsiliConstants.NSIL_COMMON, any);
    graph.addVertex(commonNode);
    graph.addEdge(partNode, commonNode);
    String attribute = parentAttrName + NsiliConstants.NSIL_COMMON;
    if (shouldAdd(buildAttr(attribute, NsiliConstants.IDENTIFIER_UUID), resultAttributes)) {
        String metacardId = getMetacardId(metacard);
        if (metacardId != null) {
            UUID uuid = getUUIDFromCard(metacardId);
            addStringAttribute(graph, commonNode, NsiliConstants.IDENTIFIER_UUID, uuid.toString(), orb);
            addedAttributes.add(buildAttr(attribute, NsiliConstants.IDENTIFIER_UUID));
        }
    }
    if (shouldAdd(buildAttr(attribute, NsiliConstants.TYPE), resultAttributes) && type != null) {
        addStringAttribute(graph, commonNode, NsiliConstants.TYPE, type, orb);
        addedAttributes.add(buildAttr(attribute, NsiliConstants.TYPE));
    }
    addValStrAttribute(graph, metacard.getAttribute(Core.DESCRIPTION), orb, resultAttributes, addedAttributes, commonNode, attribute, NsiliConstants.DESCRIPTION_ABSTRACT);
    addValStrAttribute(graph, metacard.getAttribute(Core.LANGUAGE), orb, resultAttributes, addedAttributes, commonNode, attribute, NsiliConstants.LANGUAGE);
    addStrAttribute(graph, metacard.getAttribute(Isr.TARGET_ID), orb, resultAttributes, addedAttributes, commonNode, attribute, NsiliConstants.TARGET_NUMBER);
    addStrAttribute(graph, metacard.getAttribute(Isr.TARGET_CATEGORY_CODE), orb, resultAttributes, addedAttributes, commonNode, attribute, NsiliConstants.SUBJECT_CATEGORY_TARGET);
    addStrAttribute(graph, metacard.getAttribute(Isr.ORIGINAL_SOURCE), orb, resultAttributes, addedAttributes, commonNode, attribute, NsiliConstants.SOURCE);
    addStrAttribute(graph, metacard.getAttribute(Isr.MISSION_ID), orb, resultAttributes, addedAttributes, commonNode, attribute, NsiliConstants.IDENTIFIER_MISSION);
    addStrAttribute(graph, metacard.getAttribute(Isr.JC3IEDM_ID), orb, resultAttributes, addedAttributes, commonNode, attribute, NsiliConstants.IDENTIFIER_JC3IEDM);
    return addedAttributes;
}
Also used : Node(org.codice.alliance.nsili.common.UCO.Node) ArrayList(java.util.ArrayList) UUID(java.util.UUID) Any(org.omg.CORBA.Any)

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