Throw SourceException instead of IllegalArgumentException 41/62341/2
authorRobert Varga <robert.varga@pantheon.tech>
Sat, 26 Aug 2017 16:50:55 +0000 (18:50 +0200)
committerRobert Varga <nite@hq.sk>
Mon, 28 Aug 2017 11:40:20 +0000 (11:40 +0000)
TypeUtils already considers StatementSourceReference, so instead
of home-grown format use SourceException.throwIf().

Change-Id: Ifc81db735d72bb7c98b94c66ac013f8dcc47413c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/TypeUtils.java

index 279cd10cdfbce168e1f2e4fe81864a103b421ca2..3a03dae073436e0a950f011fac65cf0e2e9f312c 100644 (file)
@@ -209,21 +209,20 @@ public final class TypeUtils {
                 max = parseIntegerConstraintValue(ctx, boundaries.next());
 
                 // if min larger than max then error
-                Preconditions.checkArgument(compareNumbers(min, max) != 1,
-                        "Length constraint %s has descending order of boundaries; should be ascending. Statement source at %s",
-                        singleRange, ctx.getStatementSourceReference());
-                Preconditions.checkArgument(!boundaries.hasNext(),
-                        "Wrong number of boundaries in length constraint %s. Statement source at %s", singleRange,
-                        ctx.getStatementSourceReference());
+                SourceException.throwIf(compareNumbers(min, max) == 1, ctx.getStatementSourceReference(),
+                        "Length constraint %s has descending order of boundaries; should be ascending.",
+                        singleRange);
+                SourceException.throwIf(boundaries.hasNext(), ctx.getStatementSourceReference(),
+                        "Wrong number of boundaries in length constraint %s.", singleRange);
             } else {
                 max = min;
             }
 
             // some of intervals overlapping
-            if (lengthConstraints.size() > 1 && compareNumbers(min, Iterables.getLast(lengthConstraints).getMax()) != 1) {
-                throw new InferenceException(ctx.getStatementSourceReference(),
-                    "Some of the length ranges in %s are not disjoint", lengthArgument);
-            }
+            InferenceException.throwIf(lengthConstraints.size() > 1
+                && compareNumbers(min, Iterables.getLast(lengthConstraints).getMax()) != 1,
+                        ctx.getStatementSourceReference(),  "Some of the length ranges in %s are not disjoint",
+                        lengthArgument);
 
             lengthConstraints.add(new LengthConstraintEffectiveImpl(min, max, description, reference));
         }