YANG model parser refactoring 48/648/1
authorMartin Vitez <mvitez@cisco.com>
Mon, 8 Apr 2013 08:31:04 +0000 (10:31 +0200)
committerMartin Vitez <mvitez@cisco.com>
Wed, 24 Jul 2013 11:44:42 +0000 (13:44 +0200)
-fix YANG types constraints resolving
-added tests
-removed unused test files

Signed-off-by: Martin Vitez <mvitez@cisco.com>
yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/type/LengthConstraint.java
yang-model-util/src/main/java/org/opendaylight/controller/yang/model/util/BaseConstraints.java
yang-model-util/src/main/java/org/opendaylight/controller/yang/model/util/StringType.java

index 2db9e8a1582b33e4743382f396f03d567fc1c6b1..3d259a54a3ed48cac16a6816eed879360bb88585 100644 (file)
@@ -27,7 +27,7 @@ import org.opendaylight.controller.yang.model.api.ConstraintMetaDefinition;
  * This interface was modeled according to definition in <a
  * href="https://tools.ietf.org/html/rfc6020#section-9.4.4">[RFC-6020] The
  * length Statement</a>.
- * 
+ *
  * @see ConstraintMetaDefinition
  */
 public interface LengthConstraint extends ConstraintMetaDefinition {
@@ -35,16 +35,16 @@ public interface LengthConstraint extends ConstraintMetaDefinition {
     /**
      * Returns the length-restricting lower bound value. <br>
      * The value MUST NOT be negative.
-     * 
+     *
      * @return the length-restricting lower bound value.
      */
-    Long getMin();
+    Number getMin();
 
     /**
      * Returns the length-restricting upper bound value. <br>
      * The value MUST NOT be negative.
-     * 
+     *
      * @return length-restricting upper bound value.
      */
-    Long getMax();
+    Number getMax();
 }
index dfc4d55b79fd7702ba02da0746d8adf2c7928a15..23a2d5f8ca3f661a2090806ccc60ac270a63f9b1 100644 (file)
@@ -16,8 +16,8 @@ public final class BaseConstraints {
     private BaseConstraints() {
     }
 
-    public static LengthConstraint lengthConstraint(final long min,
-            final long max, final String description, final String reference) {
+    public static LengthConstraint lengthConstraint(final Number min,
+            final Number max, final String description, final String reference) {
         return new LengthConstraintImpl(min, max, description, reference);
     }
 
@@ -33,8 +33,8 @@ public final class BaseConstraints {
 
     private static final class LengthConstraintImpl implements LengthConstraint {
 
-        private final long min;
-        private final long max;
+        private final Number min;
+        private final Number max;
 
         private final String description;
         private final String reference;
@@ -42,7 +42,7 @@ public final class BaseConstraints {
         private final String errorAppTag;
         private final String errorMessage;
 
-        public LengthConstraintImpl(long min, long max,
+        public LengthConstraintImpl(Number min, Number max,
                 final String description, final String reference) {
             super();
             this.min = min;
@@ -76,12 +76,12 @@ public final class BaseConstraints {
         }
 
         @Override
-        public Long getMin() {
+        public Number getMin() {
             return min;
         }
 
         @Override
-        public Long getMax() {
+        public Number getMax() {
             return max;
         }
 
@@ -95,8 +95,8 @@ public final class BaseConstraints {
                     + ((errorAppTag == null) ? 0 : errorAppTag.hashCode());
             result = prime * result
                     + ((errorMessage == null) ? 0 : errorMessage.hashCode());
-            result = prime * result + (int) (max ^ (max >>> 32));
-            result = prime * result + (int) (min ^ (min >>> 32));
+            result = prime * result + ((max == null) ? 0 : max.hashCode());
+            result = prime * result + ((min == null) ? 0 : min.hashCode());
             result = prime * result
                     + ((reference == null) ? 0 : reference.hashCode());
             return result;
index b56408803e685d217bd90351b176cc1373a98981..c676d7479a16ce13205a1662b503c2080783974e 100644 (file)
@@ -44,13 +44,13 @@ public class StringType implements StringTypeDefinition {
         final List<LengthConstraint> constraints = new ArrayList<LengthConstraint>();
         constraints.add(BaseConstraints.lengthConstraint(0, Long.MAX_VALUE, "", ""));
         lengthStatements = Collections.unmodifiableList(constraints);
-        
+
         this.patterns = Collections.emptyList();
     }
 
     /**
-     * 
-     * 
+     *
+     *
      * @param lengthStatements
      * @param patterns
      */
@@ -58,13 +58,19 @@ public class StringType implements StringTypeDefinition {
             final List<PatternConstraint> patterns) {
         super();
         path = BaseTypes.schemaPath(name);
-        this.lengthStatements = Collections.unmodifiableList(lengthStatements);
+        if(lengthStatements == null || lengthStatements.size() == 0) {
+            final List<LengthConstraint> constraints = new ArrayList<LengthConstraint>();
+            constraints.add(BaseConstraints.lengthConstraint(0, Long.MAX_VALUE, "", ""));
+            this.lengthStatements = Collections.unmodifiableList(constraints);
+        } else {
+            this.lengthStatements = Collections.unmodifiableList(lengthStatements);
+        }
         this.patterns = Collections.unmodifiableList(patterns);
     }
 
     /**
-     * 
-     * 
+     *
+     *
      * @param defaultValue
      * @param lengthStatements
      * @param patterns
@@ -76,14 +82,20 @@ public class StringType implements StringTypeDefinition {
         super();
         path = BaseTypes.schemaPath(name);
         this.defaultValue = defaultValue;
-        this.lengthStatements = lengthStatements;
+        if(lengthStatements == null || lengthStatements.size() == 0) {
+            final List<LengthConstraint> constraints = new ArrayList<LengthConstraint>();
+            constraints.add(BaseConstraints.lengthConstraint(0, Long.MAX_VALUE, "", ""));
+            this.lengthStatements = Collections.unmodifiableList(constraints);
+        } else {
+            this.lengthStatements = Collections.unmodifiableList(lengthStatements);
+        }
         this.patterns = patterns;
         this.units = units;
     }
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.opendaylight.controller.yang.model.api.TypeDefinition#getBaseType()
      */
     @Override
@@ -93,7 +105,7 @@ public class StringType implements StringTypeDefinition {
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.opendaylight.controller.yang.model.api.TypeDefinition#getUnits()
      */
     @Override
@@ -103,7 +115,7 @@ public class StringType implements StringTypeDefinition {
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.opendaylight.controller.yang.model.api.TypeDefinition#getDefaultValue()
      */
     @Override
@@ -113,7 +125,7 @@ public class StringType implements StringTypeDefinition {
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getQName()
      */
     @Override
@@ -123,7 +135,7 @@ public class StringType implements StringTypeDefinition {
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getPath()
      */
     @Override
@@ -133,7 +145,7 @@ public class StringType implements StringTypeDefinition {
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getDescription()
      */
     @Override
@@ -143,7 +155,7 @@ public class StringType implements StringTypeDefinition {
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getReference()
      */
     @Override
@@ -153,7 +165,7 @@ public class StringType implements StringTypeDefinition {
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getStatus()
      */
     @Override
@@ -163,7 +175,7 @@ public class StringType implements StringTypeDefinition {
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see
      * com.csico.yang.model.base.type.api.StringTypeDefinition#getLengthStatements
      * ()
@@ -175,7 +187,7 @@ public class StringType implements StringTypeDefinition {
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see
      * com.csico.yang.model.base.type.api.StringTypeDefinition#getPatterns()
      */