Merge "Fixed validation bug of YANG import statement"
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / main / java / org / opendaylight / controller / yang / model / parser / util / TypeConstraints.java
index 9e5fcbe7716189ac7b319ea22985bf6c9f031d17..360d8ea897fd0b6d2b55f1d1f28043cbfc1a82d5 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.controller.yang.model.parser.util;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 import org.opendaylight.controller.yang.model.api.type.LengthConstraint;
@@ -29,7 +30,11 @@ public final class TypeConstraints {
     }
 
     public List<RangeConstraint> getRange() {
-        List<RangeConstraint> resolved = ranges.get(0);
+        if(ranges.isEmpty()) {
+            return Collections.emptyList();
+        }
+
+        final List<RangeConstraint> resolved = ranges.get(0);
         RangeConstraint firstRange = resolved.get(0);
         RangeConstraint lastRange = resolved.get(resolved.size() - 1);
         Number min = firstRange.getMin();
@@ -40,7 +45,7 @@ public final class TypeConstraints {
             return resolved;
         }
 
-        if (firstRange == lastRange) {
+        if (firstRange.equals(lastRange)) {
             if (min instanceof UnknownBoundaryNumber) {
                 min = resolveMinRange(min);
             }
@@ -75,7 +80,7 @@ public final class TypeConstraints {
     private Number resolveMinRange(Number min) {
         int i = 1;
         while (min instanceof UnknownBoundaryNumber) {
-            List<RangeConstraint> act = ranges.get(i);
+            final List<RangeConstraint> act = ranges.get(i);
             min = act.get(0).getMin();
             i++;
         }
@@ -85,15 +90,15 @@ public final class TypeConstraints {
     private Number resolveMaxRange(Number max) {
         int i = 1;
         while (max instanceof UnknownBoundaryNumber) {
-            List<RangeConstraint> act = ranges.get(i);
+            final List<RangeConstraint> act = ranges.get(i);
             max = act.get(act.size() - 1).getMax();
             i++;
         }
         return max;
     }
 
-    public void addRanges(List<RangeConstraint> ranges) {
-        if (ranges != null && ranges.size() > 0) {
+    public void addRanges(final List<RangeConstraint> ranges) {
+        if (ranges != null && !(ranges.isEmpty())) {
             this.ranges.add(ranges);
         }
     }
@@ -103,7 +108,11 @@ public final class TypeConstraints {
     }
 
     public List<LengthConstraint> getLength() {
-        List<LengthConstraint> resolved = lengths.get(0);
+        if(lengths.isEmpty()) {
+            return Collections.emptyList();
+        }
+
+        final List<LengthConstraint> resolved = lengths.get(0);
         LengthConstraint firstLength = resolved.get(0);
         LengthConstraint lastLength = resolved.get(resolved.size() - 1);
         Number min = firstLength.getMin();
@@ -114,7 +123,7 @@ public final class TypeConstraints {
             return resolved;
         }
 
-        if (firstLength == lastLength) {
+        if (firstLength.equals(lastLength)) {
             if (min instanceof UnknownBoundaryNumber) {
                 min = resolveMinLength(min);
             }
@@ -149,7 +158,7 @@ public final class TypeConstraints {
     private Number resolveMinLength(Number min) {
         int i = 1;
         while (min instanceof UnknownBoundaryNumber) {
-            List<LengthConstraint> act = lengths.get(i);
+            final List<LengthConstraint> act = lengths.get(i);
             min = act.get(0).getMin();
             i++;
         }
@@ -159,15 +168,15 @@ public final class TypeConstraints {
     private Number resolveMaxLength(Number max) {
         int i = 1;
         while (max instanceof UnknownBoundaryNumber) {
-            List<LengthConstraint> act = lengths.get(i);
+            final List<LengthConstraint> act = lengths.get(i);
             max = act.get(act.size() - 1).getMax();
             i++;
         }
         return max;
     }
 
-    public void addLengths(List<LengthConstraint> lengths) {
-        if (lengths != null && lengths.size() > 0) {
+    public void addLengths(final List<LengthConstraint> lengths) {
+        if (lengths != null && !(lengths.isEmpty())) {
             this.lengths.add(lengths);
         }
     }
@@ -176,7 +185,7 @@ public final class TypeConstraints {
         return patterns;
     }
 
-    public void addPatterns(List<PatternConstraint> patterns) {
+    public void addPatterns(final List<PatternConstraint> patterns) {
         this.patterns.addAll(patterns);
     }
 
@@ -184,8 +193,8 @@ public final class TypeConstraints {
         return fractionDigits;
     }
 
-    public void setFractionDigits(Integer fractionDigits) {
-        if (fractionDigits != null) {
+    public void setFractionDigits(final Integer fractionDigits) {
+        if (this.fractionDigits == null) {
             this.fractionDigits = fractionDigits;
         }
     }