Added more tests for yang parser. Updated current tests.
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / main / java / org / opendaylight / controller / yang / parser / builder / impl / ConstraintsBuilder.java
index a6c37e34214d8d995d9ef2e7bcb49c155bcb1460..1351f56b4c97f8f5dd68cb9538032ebf2da5e246 100644 (file)
@@ -16,10 +16,12 @@ import org.opendaylight.controller.yang.model.api.MustDefinition;
 import org.opendaylight.controller.yang.model.api.RevisionAwareXPath;
 import org.opendaylight.controller.yang.model.util.RevisionAwareXPathImpl;
 import org.opendaylight.controller.yang.parser.builder.api.Builder;
+import org.opendaylight.controller.yang.parser.util.YangParseException;
 
-public class ConstraintsBuilder implements Builder {
+public final class ConstraintsBuilder implements Builder {
     private final ConstraintDefinitionImpl instance;
     private final int line;
+    private Builder parent;
     private final Set<MustDefinition> mustDefinitions;
     private String whenCondition;
     private boolean mandatory;
@@ -53,6 +55,21 @@ public class ConstraintsBuilder implements Builder {
         return line;
     }
 
+    @Override
+    public Builder getParent() {
+        return parent;
+    }
+
+    @Override
+    public void setParent(final Builder parent) {
+        this.parent = parent;
+    }
+
+    @Override
+    public void addUnknownSchemaNode(UnknownSchemaNodeBuilder unknownNode) {
+        throw new YangParseException(line, "Can not add unknown node to constraints.");
+    }
+
     public Integer getMinElements() {
         return min;
     }
@@ -93,8 +110,8 @@ public class ConstraintsBuilder implements Builder {
         this.mandatory = mandatory;
     }
 
-    private static class ConstraintDefinitionImpl implements
-            ConstraintDefinition {
+
+    private final class ConstraintDefinitionImpl implements ConstraintDefinition {
         private RevisionAwareXPath whenCondition;
         private Set<MustDefinition> mustConstraints;
         private boolean mandatory;
@@ -156,16 +173,10 @@ public class ConstraintsBuilder implements Builder {
         public int hashCode() {
             final int prime = 31;
             int result = 1;
-            result = prime * result
-                    + ((whenCondition == null) ? 0 : whenCondition.hashCode());
-            result = prime
-                    * result
-                    + ((mustConstraints == null) ? 0 : mustConstraints
-                            .hashCode());
-            result = prime * result
-                    + ((minElements == null) ? 0 : minElements.hashCode());
-            result = prime * result
-                    + ((maxElements == null) ? 0 : maxElements.hashCode());
+            result = prime * result + ((whenCondition == null) ? 0 : whenCondition.hashCode());
+            result = prime * result + ((mustConstraints == null) ? 0 : mustConstraints.hashCode());
+            result = prime * result + ((minElements == null) ? 0 : minElements.hashCode());
+            result = prime * result + ((maxElements == null) ? 0 : maxElements.hashCode());
             result = prime * result + (mandatory ? 1231 : 1237);
             return result;
         }
@@ -218,8 +229,7 @@ public class ConstraintsBuilder implements Builder {
 
         @Override
         public String toString() {
-            StringBuilder sb = new StringBuilder(
-                    ConstraintDefinitionImpl.class.getSimpleName());
+            StringBuilder sb = new StringBuilder(ConstraintDefinitionImpl.class.getSimpleName());
             sb.append("[");
             sb.append("whenCondition=" + whenCondition);
             sb.append(", mustConstraints=" + mustConstraints);
@@ -229,7 +239,6 @@ public class ConstraintsBuilder implements Builder {
             sb.append("]");
             return sb.toString();
         }
-
     }
 
 }