AAI-1523 Batch reformat aai-schema-ingest
[aai/aai-common.git] / aai-schema-ingest / src / main / java / org / onap / aai / edges / EdgeRule.java
index f8f8cac..d3c9a59 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-package org.onap.aai.edges;
 
-import org.apache.tinkerpop.gremlin.structure.Direction;
-import org.onap.aai.edges.enums.*;
+package org.onap.aai.edges;
 
 import java.util.EnumMap;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.tinkerpop.gremlin.structure.Direction;
+import org.onap.aai.edges.enums.*;
+
 /**
  * Container for A&AI edge rule information
  */
 public class EdgeRule {
-       private String from;
-       private String to;
-       private String label;
-       private Direction direction;
-       private MultiplicityRule multiplicityRule;
-       private Map<EdgeProperty, AAIDirection> edgeFields;
-       private boolean isDefaultEdge;
-       private String description;
-       private boolean isPrivateEdge = false;
-
-       /**
-        * Instantiates a new edge rule.
-        
-        * @param fieldVals - Map<String, String> where first string is
-        *                                      an EdgeField value and second string is the 
-        *                                      value of that field
-        */
-       public EdgeRule(Map<String, String> fieldVals) {
-               edgeFields = new EnumMap<>(EdgeProperty.class);
-               
-               from = fieldVals.get(EdgeField.FROM.toString());
-               to = fieldVals.get(EdgeField.TO.toString());
-               label = fieldVals.get(EdgeField.LABEL.toString());
-               direction = Direction.valueOf(fieldVals.get(EdgeField.DIRECTION.toString()));
-               multiplicityRule = MultiplicityRule.getValue(fieldVals.get(EdgeField.MULTIPLICITY.toString()));
-               isPrivateEdge = Boolean.valueOf(fieldVals.getOrDefault(EdgeField.PRIVATE.toString(), "false"));
+    private String from;
+    private String to;
+    private String label;
+    private Direction direction;
+    private MultiplicityRule multiplicityRule;
+    private Map<EdgeProperty, AAIDirection> edgeFields;
+    private boolean isDefaultEdge;
+    private String description;
+    private boolean isPrivateEdge = false;
+
+    /**
+     * Instantiates a new edge rule.
+     * 
+     * @param fieldVals - Map<String, String> where first string is
+     *        an EdgeField value and second string is the
+     *        value of that field
+     */
+    public EdgeRule(Map<String, String> fieldVals) {
+        edgeFields = new EnumMap<>(EdgeProperty.class);
+
+        from = fieldVals.get(EdgeField.FROM.toString());
+        to = fieldVals.get(EdgeField.TO.toString());
+        label = fieldVals.get(EdgeField.LABEL.toString());
+        direction = Direction.valueOf(fieldVals.get(EdgeField.DIRECTION.toString()));
+        multiplicityRule = MultiplicityRule.getValue(fieldVals.get(EdgeField.MULTIPLICITY.toString()));
+        isPrivateEdge = Boolean.valueOf(fieldVals.getOrDefault(EdgeField.PRIVATE.toString(), "false"));
 
         for (EdgeProperty prop : EdgeProperty.values()) {
-                       String rawVal = fieldVals.get(prop.toString());
-                       edgeFields.put(prop, convertNotation(direction, rawVal));
-               }
-               
-               isDefaultEdge = Boolean.valueOf(fieldVals.get(EdgeField.DEFAULT.toString()));
+            String rawVal = fieldVals.get(prop.toString());
+            edgeFields.put(prop, convertNotation(direction, rawVal));
+        }
+
+        isDefaultEdge = Boolean.valueOf(fieldVals.get(EdgeField.DEFAULT.toString()));
         description = fieldVals.get(EdgeField.DESCRIPTION.toString());
-               if (description == null) { //bc description is optional and not in v12 and earlier
-                       description = "";
-               }
-       }
+        if (description == null) { // bc description is optional and not in v12 and earlier
+            description = "";
+        }
+    }
 
     // Copy Constructor
-    public EdgeRule(EdgeRule edgeRule){
+    public EdgeRule(EdgeRule edgeRule) {
         this.from = edgeRule.from;
-        this.to   = edgeRule.to;
+        this.to = edgeRule.to;
         this.label = edgeRule.label;
         this.direction = Direction.valueOf(edgeRule.direction.toString());
         this.multiplicityRule = MultiplicityRule.valueOf(edgeRule.multiplicityRule.toString());
         this.edgeFields = new HashMap<>(edgeRule.edgeFields);
-        this.isDefaultEdge    = edgeRule.isDefaultEdge;
+        this.isDefaultEdge = edgeRule.isDefaultEdge;
         this.description = edgeRule.description;
         this.isPrivateEdge = edgeRule.isPrivateEdge;
     }
 
-       /**
-        * Converts whatever string was in the json for an edge property value into
-        * the appropriate AAIDirection
-        * 
-        * @param Direction dir - the edge direction
-        * @param String rawVal - property value from the json, may be
-        *                      IN, OUT, BOTH, NONE, ${direction}, or !${direction}
-        * @return AAIDirection - IN/OUT/BOTH/NONE if that's the rawVal, or
-        *                      translates the direction notation into the correct IN/OUT
-        */
-       private AAIDirection convertNotation(Direction dir, String rawVal) {
-               if (AAIDirection.NONE.toString().equalsIgnoreCase(rawVal)) {
-                       return AAIDirection.NONE;
-               } else if (AAIDirection.BOTH.toString().equalsIgnoreCase(rawVal)) {
-                       return AAIDirection.BOTH;
-               } else if (AAIDirection.OUT.toString().equalsIgnoreCase(rawVal)) {
-                       return AAIDirection.OUT;
-               } else if (AAIDirection.IN.toString().equalsIgnoreCase(rawVal)) {
-                       return AAIDirection.IN;
-               }
-               
-               DirectionNotation rawDN = DirectionNotation.getValue(rawVal);
-               if (DirectionNotation.DIRECTION.equals(rawDN)) {
-                       return AAIDirection.getValue(dir);
-               } else {
-                       return AAIDirection.getValue(dir.opposite());
-               }
-       }
-       
-       /**
-        * Gets the name of the node type in the "from" field
-        * @return String nodetype
-        */
-       public String getFrom() {
-               return from;
-       }
-
-       /**
-        * Gets the name of the node type in the "to" field
-        * @return String nodetype
-        */
-       public String getTo() {
-               return to;
-       }
-
-       /**
-        * Gets the edge label
-        *
-        * @return String label
-        */
-       public String getLabel() {
-               return label;
-       }
-       
-       /**
-        * Gets the multiplicity rule.
-        *
-        * @return MultiplicityRule
-        */
-       public MultiplicityRule getMultiplicityRule() {
-               return multiplicityRule;
-       }
-       
-       /**
-        * Gets the edge direction
-        *
-        * @return Direction
-        */
-       public Direction getDirection() {
-               return direction;
-       }
-       
-       /**
-        * Gets the value of contains-other-v
-        *
-        * @return the value of contains-other-v
-        */
-       public String getContains() {
-               return edgeFields.get(EdgeProperty.CONTAINS).toString();
-       }
-       
-       /**
-        * Gets the value of delete-other-v
-        *
-        * @return the value of delete-other-v
-        */
-       public String getDeleteOtherV() {
-               return edgeFields.get(EdgeProperty.DELETE_OTHER_V).toString();
-       }
-       
-       /**
-        * Gets the value of the prevent-delete property
-        * 
-        * @return String prevent-delete property value
-        */
-       public String getPreventDelete() {
-               return edgeFields.get(EdgeProperty.PREVENT_DELETE).toString();
-       }
-
-       /**
-        * Returns if this rule is a default or not
-        * 
-        * @return boolean
-        */
-       public boolean isDefault() {
-               return isDefaultEdge;
-       }
-       
-       /**
-        * Gets the description on the edge rule (if there is one)
-        * @return String description
-        */
-       public String getDescription() {
-               return this.description;
-       }
-       
-       /**
-        * Flips the direction value
-        * IN -> OUT
-        * OUT -> IN
-        * BOTH -> BOTH
-        */
-       public void flipDirection() {
-               if (Direction.OUT.equals(direction)) {
-                       direction = Direction.IN;
-               } else if (Direction.IN.equals(direction)) {
-                       direction = Direction.OUT;
-               }
-               //else BOTH just stays the same
-       }
-
-       public boolean isPrivateEdge() {
-               return isPrivateEdge;
-       }
-
-       public void setPrivateEdge(boolean privateEdge) {
-               isPrivateEdge = privateEdge;
-       }
-
-       public void setPrivateEdge(String isPrivateEdge){
-               this.isPrivateEdge = "true".equals(isPrivateEdge);
-       }
+    /**
+     * Converts whatever string was in the json for an edge property value into
+     * the appropriate AAIDirection
+     * 
+     * @param Direction dir - the edge direction
+     * @param String rawVal - property value from the json, may be
+     *        IN, OUT, BOTH, NONE, ${direction}, or !${direction}
+     * @return AAIDirection - IN/OUT/BOTH/NONE if that's the rawVal, or
+     *         translates the direction notation into the correct IN/OUT
+     */
+    private AAIDirection convertNotation(Direction dir, String rawVal) {
+        if (AAIDirection.NONE.toString().equalsIgnoreCase(rawVal)) {
+            return AAIDirection.NONE;
+        } else if (AAIDirection.BOTH.toString().equalsIgnoreCase(rawVal)) {
+            return AAIDirection.BOTH;
+        } else if (AAIDirection.OUT.toString().equalsIgnoreCase(rawVal)) {
+            return AAIDirection.OUT;
+        } else if (AAIDirection.IN.toString().equalsIgnoreCase(rawVal)) {
+            return AAIDirection.IN;
+        }
+
+        DirectionNotation rawDN = DirectionNotation.getValue(rawVal);
+        if (DirectionNotation.DIRECTION.equals(rawDN)) {
+            return AAIDirection.getValue(dir);
+        } else {
+            return AAIDirection.getValue(dir.opposite());
+        }
+    }
+
+    /**
+     * Gets the name of the node type in the "from" field
+     * 
+     * @return String nodetype
+     */
+    public String getFrom() {
+        return from;
+    }
+
+    /**
+     * Gets the name of the node type in the "to" field
+     * 
+     * @return String nodetype
+     */
+    public String getTo() {
+        return to;
+    }
+
+    /**
+     * Gets the edge label
+     *
+     * @return String label
+     */
+    public String getLabel() {
+        return label;
+    }
+
+    /**
+     * Gets the multiplicity rule.
+     *
+     * @return MultiplicityRule
+     */
+    public MultiplicityRule getMultiplicityRule() {
+        return multiplicityRule;
+    }
+
+    /**
+     * Gets the edge direction
+     *
+     * @return Direction
+     */
+    public Direction getDirection() {
+        return direction;
+    }
+
+    /**
+     * Gets the value of contains-other-v
+     *
+     * @return the value of contains-other-v
+     */
+    public String getContains() {
+        return edgeFields.get(EdgeProperty.CONTAINS).toString();
+    }
+
+    /**
+     * Gets the value of delete-other-v
+     *
+     * @return the value of delete-other-v
+     */
+    public String getDeleteOtherV() {
+        return edgeFields.get(EdgeProperty.DELETE_OTHER_V).toString();
+    }
+
+    /**
+     * Gets the value of the prevent-delete property
+     * 
+     * @return String prevent-delete property value
+     */
+    public String getPreventDelete() {
+        return edgeFields.get(EdgeProperty.PREVENT_DELETE).toString();
+    }
+
+    /**
+     * Returns if this rule is a default or not
+     * 
+     * @return boolean
+     */
+    public boolean isDefault() {
+        return isDefaultEdge;
+    }
+
+    /**
+     * Gets the description on the edge rule (if there is one)
+     * 
+     * @return String description
+     */
+    public String getDescription() {
+        return this.description;
+    }
+
+    /**
+     * Flips the direction value
+     * IN -> OUT
+     * OUT -> IN
+     * BOTH -> BOTH
+     */
+    public void flipDirection() {
+        if (Direction.OUT.equals(direction)) {
+            direction = Direction.IN;
+        } else if (Direction.IN.equals(direction)) {
+            direction = Direction.OUT;
+        }
+        // else BOTH just stays the same
+    }
+
+    public boolean isPrivateEdge() {
+        return isPrivateEdge;
+    }
+
+    public void setPrivateEdge(boolean privateEdge) {
+        isPrivateEdge = privateEdge;
+    }
+
+    public void setPrivateEdge(String isPrivateEdge) {
+        this.isPrivateEdge = "true".equals(isPrivateEdge);
+    }
 }