((UnresolvedNumber)min).resolveLength(baseLengthConstraints) : min;
builder.add(BaseConstraints.newLengthConstraint(rMin, rMax, Optional.fromNullable(c.getDescription()),
- Optional.fromNullable(c.getReference())));
+ Optional.fromNullable(c.getReference()), c.getErrorAppTag(), c.getErrorMessage()));
} else {
builder.add(c);
}
c, clazz.getSimpleName()), e);
}
builder.add(BaseConstraints.newLengthConstraint(min, max, Optional.fromNullable(c.getDescription()),
- Optional.fromNullable(c.getReference())));
+ Optional.fromNullable(c.getReference()), c.getErrorAppTag(), c.getErrorMessage()));
} else {
builder.add(c);
}
// Now verify if new ranges are strict subset of base ranges
for (LengthConstraint c : typedLengths) {
- Preconditions.checkArgument(lengthCovered(baseLengths, c),
- "Range constraint %s is not a subset of parent constraints %s", c, baseLengths);
+ if (!lengthCovered(baseLengths, c)) {
+ throw new InvalidLengthConstraintException(c, "Length constraint %s is not a subset of parent constraints %s",
+ c, baseLengths);
+ }
}
return buildType(typedLengths);