Bug 5200: Yang parser doesn't fill error-app-tag and error-message in constraints
[yangtools.git] / yang / yang-model-util / src / main / java / org / opendaylight / yangtools / yang / model / util / PatternConstraintImpl.java
index eecc2a01f5295f45bc14ed966c9b61740a94a50a..cd0ca2cf2431afb1977e82ab1cf45ebcad300e10 100644 (file)
@@ -34,17 +34,19 @@ final class PatternConstraintImpl implements PatternConstraint, Immutable {
     private final String errorAppTag;
     private final String errorMessage;
 
-    public PatternConstraintImpl(final String regex, final Optional<String> description,
-            final Optional<String> reference) {
-        super();
+    PatternConstraintImpl(final String regex, final Optional<String> description, final Optional<String> reference) {
+        this(regex, description, reference, "invalid-regular-expression", String.format(
+                "String %s is not valid regular expression.", regex));
+    }
+
+    PatternConstraintImpl(final String regex, final Optional<String> description, final Optional<String> reference,
+            final String errorAppTag, final String errorMessage) {
         this.regex = Preconditions.checkNotNull(regex, "regex must not be null.");
         this.description = description.orNull();
         this.reference = reference.orNull();
-
-        // FIXME: Lookup better suitable error tag.
-        errorAppTag = "invalid-regular-expression";
-        // TODO: add erro message
-        errorMessage = "";
+        this.errorAppTag = errorAppTag != null ? errorAppTag : "invalid-regular-expression";
+        this.errorMessage = errorMessage != null ? errorMessage : String.format(
+                "String %s is not valid regular expression.", regex);
     }
 
     @Override