max = parseDecimalConstraintValue(ctx, boundaries.next());
// if min larger than max then error
- if (compareNumbers(min, max) == 1) {
- throw new InferenceException(String.format(
- "Range constraint %s has descending order of boundaries; should be ascending",
- singleRange), ctx.getStatementSourceReference());
- }
- if (boundaries.hasNext()) {
- throw new SourceException(String.format("Wrong number of boundaries in range constraint %s",
- singleRange), ctx.getStatementSourceReference());
- }
+ InferenceException.throwIf(compareNumbers(min, max) == 1, ctx.getStatementSourceReference(),
+ "Range constraint %s has descending order of boundaries; should be ascending", singleRange);
+
+ SourceException.throwIf(boundaries.hasNext(), ctx.getStatementSourceReference(),
+ "Wrong number of boundaries in range constraint %s", singleRange);
} else {
max = min;
}
// some of intervals overlapping
if (rangeConstraints.size() > 1 && compareNumbers(min, Iterables.getLast(rangeConstraints).getMax()) != 1) {
- throw new InferenceException(String.format("Some of the ranges in %s are not disjoint",
- rangeArgument), ctx.getStatementSourceReference());
+ throw new InferenceException(ctx.getStatementSourceReference(),
+ "Some of the ranges in %s are not disjoint", rangeArgument);
}
rangeConstraints.add(new RangeConstraintEffectiveImpl(min, max, description, reference));
}
public static List<LengthConstraint> parseLengthListFromString(final StmtContext<?, ?, ?> ctx,
- final String rangeArgument) {
+ final String lengthArgument) {
Optional<String> description = Optional.absent();
Optional<String> reference = Optional.absent();
- List<LengthConstraint> rangeConstraints = new ArrayList<>();
+ List<LengthConstraint> lengthConstraints = new ArrayList<>();
- for (final String singleRange : PIPE_SPLITTER.split(rangeArgument)) {
+ for (final String singleRange : PIPE_SPLITTER.split(lengthArgument)) {
final Iterator<String> boundaries = TWO_DOTS_SPLITTER.splitToList(singleRange).iterator();
final Number min = parseIntegerConstraintValue(ctx, boundaries.next());
}
// some of intervals overlapping
- if (rangeConstraints.size() > 1 && compareNumbers(min, Iterables.getLast(rangeConstraints).getMax()) != 1) {
- throw new InferenceException(String.format("Some of the length ranges in %s are not disjoint",
- rangeArgument), ctx.getStatementSourceReference());
+ 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);
}
- rangeConstraints.add(new LengthConstraintEffectiveImpl(min, max, description, reference));
+ lengthConstraints.add(new LengthConstraintEffectiveImpl(min, max, description, reference));
}
- return rangeConstraints;
+ return lengthConstraints;
}
public static boolean isYangTypeBodyStmtString(final String typeName) {