You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2015/11/27 09:25:33 UTC

[1/5] isis git commit: ISIS-1241: Added custom error message when a string does not match the provided RegEx pattern

Repository: isis
Updated Branches:
  refs/heads/master 0845ef63e -> 651fb1bba


ISIS-1241: Added custom error message when a string does not match the provided RegEx pattern


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/e1b5dbd3
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/e1b5dbd3
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/e1b5dbd3

Branch: refs/heads/master
Commit: e1b5dbd32d19c89ab552238e8fa455376bbf3b6e
Parents: 2f5bd52
Author: Sander Ginn <sa...@users.noreply.github.com>
Authored: Fri Nov 13 13:07:39 2015 +0100
Committer: Sander Ginn <sa...@users.noreply.github.com>
Committed: Fri Nov 13 13:07:39 2015 +0100

----------------------------------------------------------------------
 .../org/apache/isis/applib/annotation/Parameter.java  |  2 +-
 .../org/apache/isis/applib/annotation/Property.java   |  4 ++++
 .../regex/annotation/RegExFacetOnTypeAnnotation.java  |  4 ++--
 .../annotation/RegExFacetOnTypeAnnotationFactory.java |  3 ++-
 .../facets/objectvalue/regex/RegExFacet.java          |  1 +
 .../facets/objectvalue/regex/RegExFacetAbstract.java  | 12 ++++++++++--
 .../regex/RegExFacetForParameterAnnotation.java       |  7 ++++---
 .../RegExFacetFromRegExAnnotationOnParameter.java     |  7 ++++---
 .../regex/RegExFacetForPropertyAnnotation.java        |  8 +++++---
 .../regex/RegExFacetForRegExAnnotationOnProperty.java |  7 ++++---
 .../validate/regex/RegExFacetAnnotationTest.java      | 14 +++++++-------
 11 files changed, 44 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/e1b5dbd3/core/applib/src/main/java/org/apache/isis/applib/annotation/Parameter.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/Parameter.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/Parameter.java
index aeb9d15..48d23ee 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/Parameter.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/Parameter.java
@@ -102,6 +102,6 @@ public @interface Parameter {
     /**
      * Replacement text for the pattern in generated error message.
      */
-    String regexPatternReplacement() default "";
+    String regexPatternReplacement() default "Doesn't match pattern";
 
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/e1b5dbd3/core/applib/src/main/java/org/apache/isis/applib/annotation/Property.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/Property.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/Property.java
index b16d9a4..1ccac50 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/Property.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/Property.java
@@ -159,5 +159,9 @@ public @interface Property {
      */
     int regexPatternFlags() default 0;
 
+    /**
+     * Replacement text for the pattern in generated error message.
+     */
+    String regexPatternReplacement() default "Doesn't match pattern";
 
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/e1b5dbd3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/regex/annotation/RegExFacetOnTypeAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/regex/annotation/RegExFacetOnTypeAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/regex/annotation/RegExFacetOnTypeAnnotation.java
index 00d2f53..75f6005 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/regex/annotation/RegExFacetOnTypeAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/regex/annotation/RegExFacetOnTypeAnnotation.java
@@ -32,8 +32,8 @@ public class RegExFacetOnTypeAnnotation extends RegExFacetAbstract {
 
     private final Pattern pattern;
 
-    public RegExFacetOnTypeAnnotation(final String validation, final String format, final boolean caseSensitive, final FacetHolder holder) {
-        super(validation, format, caseSensitive, holder);
+    public RegExFacetOnTypeAnnotation(final String validation, final String format, final boolean caseSensitive, final FacetHolder holder, final String replacement) {
+        super(validation, format, caseSensitive, holder, replacement);
         pattern = Pattern.compile(validation(), patternFlags());
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e1b5dbd3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/regex/annotation/RegExFacetOnTypeAnnotationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/regex/annotation/RegExFacetOnTypeAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/regex/annotation/RegExFacetOnTypeAnnotationFactory.java
index cd99b8b..b9a3f7d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/regex/annotation/RegExFacetOnTypeAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/regex/annotation/RegExFacetOnTypeAnnotationFactory.java
@@ -59,8 +59,9 @@ public class RegExFacetOnTypeAnnotationFactory extends FacetFactoryAbstract impl
         final String validationExpression = annotation.validation();
         final boolean caseSensitive = annotation.caseSensitive();
         final String formatExpression = annotation.format();
+        final String replacement = "Doesn't match pattern";
 
-        return new RegExFacetOnTypeAnnotation(validationExpression, formatExpression, caseSensitive, holder);
+        return new RegExFacetOnTypeAnnotation(validationExpression, formatExpression, caseSensitive, holder, replacement);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/e1b5dbd3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/regex/RegExFacet.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/regex/RegExFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/regex/RegExFacet.java
index c48af00..54531f7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/regex/RegExFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/regex/RegExFacet.java
@@ -45,4 +45,5 @@ public interface RegExFacet extends MultipleValueFacet, ValidatingInteractionAdv
 
     public String format(String text);
 
+    public String replacement();
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/e1b5dbd3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/regex/RegExFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/regex/RegExFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/regex/RegExFacetAbstract.java
index 7e46ff2..1c506ae 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/regex/RegExFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/regex/RegExFacetAbstract.java
@@ -36,12 +36,14 @@ public abstract class RegExFacetAbstract extends MultipleValueFacetAbstract impl
     private final String validation;
     private final String format;
     private final boolean caseSensitive;
+    private final String replacement;
 
-    public RegExFacetAbstract(final String validation, final String format, final boolean caseSensitive, final FacetHolder holder) {
+    public RegExFacetAbstract(final String validation, final String format, final boolean caseSensitive, final FacetHolder holder, final String replacement) {
         super(type(), holder);
         this.validation = validation;
         this.format = format;
         this.caseSensitive = caseSensitive;
+        this.replacement = replacement;
     }
 
     @Override
@@ -59,6 +61,11 @@ public abstract class RegExFacetAbstract extends MultipleValueFacetAbstract impl
         return caseSensitive;
     }
 
+    @Override
+    public String replacement() {
+        return replacement;
+    }
+
     // //////////////////////////////////////////////////////////
 
     @Override
@@ -75,7 +82,8 @@ public abstract class RegExFacetAbstract extends MultipleValueFacetAbstract impl
         if (!doesNotMatch(titleString)) {
             return null;
         }
-        return "Doesn't match pattern";
+
+        return replacement();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/e1b5dbd3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/regex/RegExFacetForParameterAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/regex/RegExFacetForParameterAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/regex/RegExFacetForParameterAnnotation.java
index 282bca0..9527cfa 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/regex/RegExFacetForParameterAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/regex/RegExFacetForParameterAnnotation.java
@@ -48,13 +48,14 @@ public class RegExFacetForParameterAnnotation extends RegExFacetAbstract {
             return null;
         }
 
+        final String replacement = parameter.regexPatternReplacement();
         final int patternFlags = parameter.regexPatternFlags();
 
-        return new RegExFacetForParameterAnnotation(pattern, patternFlags, holder);
+        return new RegExFacetForParameterAnnotation(pattern, patternFlags, holder, replacement);
     }
 
-    private RegExFacetForParameterAnnotation(final String pattern, final int patternFlags, final FacetHolder holder) {
-        super(pattern, "", false, holder);
+    private RegExFacetForParameterAnnotation(final String pattern, final int patternFlags, final FacetHolder holder, final String replacement) {
+        super(pattern, "", false, holder, replacement);
         this.pattern = Pattern.compile(pattern, patternFlags);
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e1b5dbd3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/regex/RegExFacetFromRegExAnnotationOnParameter.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/regex/RegExFacetFromRegExAnnotationOnParameter.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/regex/RegExFacetFromRegExAnnotationOnParameter.java
index 3f9f409..672c377 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/regex/RegExFacetFromRegExAnnotationOnParameter.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/regex/RegExFacetFromRegExAnnotationOnParameter.java
@@ -46,12 +46,13 @@ public class RegExFacetFromRegExAnnotationOnParameter extends RegExFacetAbstract
         final String validationExpression = annotation.validation();
         final boolean caseSensitive = annotation.caseSensitive();
         final String formatExpression = annotation.format();
+        final String replacement = "Doesn't match pattern";
 
-        return new RegExFacetFromRegExAnnotationOnParameter(validationExpression, formatExpression, caseSensitive, holder);
+        return new RegExFacetFromRegExAnnotationOnParameter(validationExpression, formatExpression, caseSensitive, holder, replacement);
     }
 
-    private RegExFacetFromRegExAnnotationOnParameter(final String validation, final String format, final boolean caseSensitive, final FacetHolder holder) {
-        super(validation, format, caseSensitive, holder);
+    private RegExFacetFromRegExAnnotationOnParameter(final String validation, final String format, final boolean caseSensitive, final FacetHolder holder, final String replacement) {
+        super(validation, format, caseSensitive, holder, replacement);
         pattern = Pattern.compile(validation(), patternFlags());
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e1b5dbd3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForPropertyAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForPropertyAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForPropertyAnnotation.java
index ca1fa53..00132f7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForPropertyAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForPropertyAnnotation.java
@@ -48,13 +48,15 @@ public class RegExFacetForPropertyAnnotation extends RegExFacetAbstract {
         if(Strings.isNullOrEmpty(pattern)) {
             return null;
         }
+
+        final String replacement = annotation.regexPatternReplacement();
         final int patternFlags = annotation.regexPatternFlags();
 
-        return new RegExFacetForPropertyAnnotation(pattern, patternFlags, holder);
+        return new RegExFacetForPropertyAnnotation(pattern, patternFlags, holder, replacement);
     }
 
-    private RegExFacetForPropertyAnnotation(final String pattern, final int patternFlags, final FacetHolder holder) {
-        super(pattern, "", (patternFlags & Pattern.CASE_INSENSITIVE) == Pattern.CASE_INSENSITIVE, holder);
+    private RegExFacetForPropertyAnnotation(final String pattern, final int patternFlags, final FacetHolder holder, final String replacement) {
+        super(pattern, "", (patternFlags & Pattern.CASE_INSENSITIVE) == Pattern.CASE_INSENSITIVE, holder, replacement);
         this.pattern = Pattern.compile(pattern, patternFlags);
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e1b5dbd3/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForRegExAnnotationOnProperty.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForRegExAnnotationOnProperty.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForRegExAnnotationOnProperty.java
index 5dfccac..7b57768 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForRegExAnnotationOnProperty.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForRegExAnnotationOnProperty.java
@@ -47,12 +47,13 @@ public class RegExFacetForRegExAnnotationOnProperty extends RegExFacetAbstract {
         final String validationExpression = annotation.validation();
         final boolean caseSensitive = annotation.caseSensitive();
         final String formatExpression = annotation.format();
+        final String replacement = "Doesn't match pattern";
 
-        return new RegExFacetForRegExAnnotationOnProperty(validationExpression, formatExpression, caseSensitive, holder);
+        return new RegExFacetForRegExAnnotationOnProperty(validationExpression, formatExpression, caseSensitive, holder, replacement);
     }
 
-    private RegExFacetForRegExAnnotationOnProperty(final String validation, final String format, final boolean caseSensitive, final FacetHolder holder) {
-        super(validation, format, caseSensitive, holder);
+    private RegExFacetForRegExAnnotationOnProperty(final String validation, final String format, final boolean caseSensitive, final FacetHolder holder, final String replacement) {
+        super(validation, format, caseSensitive, holder, replacement);
         pattern = Pattern.compile(validation(), patternFlags());
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e1b5dbd3/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/validate/regex/RegExFacetAnnotationTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/validate/regex/RegExFacetAnnotationTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/validate/regex/RegExFacetAnnotationTest.java
index e459cdb..ab30927 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/validate/regex/RegExFacetAnnotationTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/validate/regex/RegExFacetAnnotationTest.java
@@ -53,12 +53,12 @@ public class RegExFacetAnnotationTest {
 
     @Test
     public void shouldBeAbleToInstantiate() {
-        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation(".*", "", true, facetHolder);
+        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation(".*", "", true, facetHolder, "Doesn't match pattern");
     }
 
     @Test
     public void shouldAllowDotStar() {
-        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation(".*", "", true, facetHolder);
+        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation(".*", "", true, facetHolder, "Doesn't match pattern");
         assertThat(regExFacetOnTypeAnnotation.doesNotMatch("abc"), equalTo(false)); // ie
                                                                                      // does
                                                                                      // match
@@ -66,7 +66,7 @@ public class RegExFacetAnnotationTest {
 
     @Test
     public void shouldAllowWhenCaseSensitive() {
-        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^abc$", "", true, facetHolder);
+        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^abc$", "", true, facetHolder, "Doesn't match pattern");
         assertThat(regExFacetOnTypeAnnotation.doesNotMatch("abc"), equalTo(false)); // ie
                                                                                      // does
                                                                                      // match
@@ -74,7 +74,7 @@ public class RegExFacetAnnotationTest {
 
     @Test
     public void shouldAllowWhenCaseInsensitive() {
-        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^abc$", "", false, facetHolder);
+        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^abc$", "", false, facetHolder, "Doesn't match pattern");
         assertThat(regExFacetOnTypeAnnotation.doesNotMatch("ABC"), equalTo(false)); // ie
                                                                                      // does
                                                                                      // match
@@ -82,19 +82,19 @@ public class RegExFacetAnnotationTest {
 
     @Test
     public void shouldDisallowWhenCaseSensitive() {
-        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^abc$", "", true, facetHolder);
+        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^abc$", "", true, facetHolder, "Doesn't match pattern");
         assertThat(regExFacetOnTypeAnnotation.doesNotMatch("abC"), equalTo(true));
     }
 
     @Test
     public void shouldDisallowWhenCaseInsensitive() {
-        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^abc$", "", false, facetHolder);
+        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^abc$", "", false, facetHolder, "Doesn't match pattern");
         assertThat(regExFacetOnTypeAnnotation.doesNotMatch("aBd"), equalTo(true));
     }
 
     @Test
     public void shouldReformat() {
-        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^([0-9]{2})([0-9]{2})([0-9]{2})$", "$1-$2-$3", false, facetHolder);
+        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^([0-9]{2})([0-9]{2})([0-9]{2})$", "$1-$2-$3", false, facetHolder, "Doesn't match pattern");
         assertThat(regExFacetOnTypeAnnotation.doesNotMatch("123456"), equalTo(false));
         assertThat(regExFacetOnTypeAnnotation.format("123456"), equalTo("12-34-56"));
     }


[2/5] isis git commit: ISIS-1241: Tidy up a test

Posted by da...@apache.org.
ISIS-1241: Tidy up a test


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/00869358
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/00869358
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/00869358

Branch: refs/heads/master
Commit: 008693584febfd5c03e5de8583eedf37de4c4806
Parents: e1b5dbd
Author: Sander Ginn <sa...@users.noreply.github.com>
Authored: Fri Nov 13 13:12:09 2015 +0100
Committer: Sander Ginn <sa...@users.noreply.github.com>
Committed: Fri Nov 13 13:12:09 2015 +0100

----------------------------------------------------------------------
 .../validate/regex/RegExFacetAnnotationTest.java      | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/00869358/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/validate/regex/RegExFacetAnnotationTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/validate/regex/RegExFacetAnnotationTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/validate/regex/RegExFacetAnnotationTest.java
index ab30927..a896216 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/validate/regex/RegExFacetAnnotationTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/validate/regex/RegExFacetAnnotationTest.java
@@ -53,12 +53,12 @@ public class RegExFacetAnnotationTest {
 
     @Test
     public void shouldBeAbleToInstantiate() {
-        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation(".*", "", true, facetHolder, "Doesn't match pattern");
+        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation(".*", "", true, facetHolder, null);
     }
 
     @Test
     public void shouldAllowDotStar() {
-        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation(".*", "", true, facetHolder, "Doesn't match pattern");
+        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation(".*", "", true, facetHolder, null);
         assertThat(regExFacetOnTypeAnnotation.doesNotMatch("abc"), equalTo(false)); // ie
                                                                                      // does
                                                                                      // match
@@ -66,7 +66,7 @@ public class RegExFacetAnnotationTest {
 
     @Test
     public void shouldAllowWhenCaseSensitive() {
-        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^abc$", "", true, facetHolder, "Doesn't match pattern");
+        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^abc$", "", true, facetHolder, null);
         assertThat(regExFacetOnTypeAnnotation.doesNotMatch("abc"), equalTo(false)); // ie
                                                                                      // does
                                                                                      // match
@@ -74,7 +74,7 @@ public class RegExFacetAnnotationTest {
 
     @Test
     public void shouldAllowWhenCaseInsensitive() {
-        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^abc$", "", false, facetHolder, "Doesn't match pattern");
+        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^abc$", "", false, facetHolder, null);
         assertThat(regExFacetOnTypeAnnotation.doesNotMatch("ABC"), equalTo(false)); // ie
                                                                                      // does
                                                                                      // match
@@ -82,19 +82,19 @@ public class RegExFacetAnnotationTest {
 
     @Test
     public void shouldDisallowWhenCaseSensitive() {
-        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^abc$", "", true, facetHolder, "Doesn't match pattern");
+        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^abc$", "", true, facetHolder, null);
         assertThat(regExFacetOnTypeAnnotation.doesNotMatch("abC"), equalTo(true));
     }
 
     @Test
     public void shouldDisallowWhenCaseInsensitive() {
-        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^abc$", "", false, facetHolder, "Doesn't match pattern");
+        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^abc$", "", false, facetHolder, null);
         assertThat(regExFacetOnTypeAnnotation.doesNotMatch("aBd"), equalTo(true));
     }
 
     @Test
     public void shouldReformat() {
-        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^([0-9]{2})([0-9]{2})([0-9]{2})$", "$1-$2-$3", false, facetHolder, "Doesn't match pattern");
+        regExFacetOnTypeAnnotation = new RegExFacetOnTypeAnnotation("^([0-9]{2})([0-9]{2})([0-9]{2})$", "$1-$2-$3", false, facetHolder, null);
         assertThat(regExFacetOnTypeAnnotation.doesNotMatch("123456"), equalTo(false));
         assertThat(regExFacetOnTypeAnnotation.format("123456"), equalTo("12-34-56"));
     }


[5/5] isis git commit: ISIS-1241: Merge branch 'ISIS-1241_pr-36'

Posted by da...@apache.org.
ISIS-1241: Merge branch 'ISIS-1241_pr-36'


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/651fb1bb
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/651fb1bb
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/651fb1bb

Branch: refs/heads/master
Commit: 651fb1bba2b3facd75cf2b991664f933a63756db
Parents: 0845ef6 9c20aa9
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Nov 27 08:24:39 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Nov 27 08:24:39 2015 +0000

----------------------------------------------------------------------
 ...annotations_manpage-Parameter_regexPattern.adoc | 14 ++++++++++----
 ..._annotations_manpage-Property_regexPattern.adoc | 17 ++++++++++++-----
 .../apache/isis/applib/annotation/Parameter.java   |  2 +-
 .../apache/isis/applib/annotation/Property.java    |  4 ++++
 .../annotation/RegExFacetOnTypeAnnotation.java     |  4 ++--
 .../RegExFacetOnTypeAnnotationFactory.java         |  3 ++-
 .../facets/objectvalue/regex/RegExFacet.java       |  1 +
 .../objectvalue/regex/RegExFacetAbstract.java      | 12 ++++++++++--
 .../regex/RegExFacetForParameterAnnotation.java    |  7 ++++---
 .../RegExFacetFromRegExAnnotationOnParameter.java  |  7 ++++---
 .../regex/RegExFacetForPropertyAnnotation.java     |  8 +++++---
 .../RegExFacetForRegExAnnotationOnProperty.java    |  7 ++++---
 .../validate/regex/RegExFacetAnnotationTest.java   | 14 +++++++-------
 13 files changed, 66 insertions(+), 34 deletions(-)
----------------------------------------------------------------------



[4/5] isis git commit: ISIS-1241: updating documentation.

Posted by da...@apache.org.
ISIS-1241: updating documentation.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/9c20aa92
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/9c20aa92
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/9c20aa92

Branch: refs/heads/master
Commit: 9c20aa9202ef753fe7b532caa2287704c5a26e21
Parents: f14944c
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Nov 27 08:21:35 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Nov 27 08:21:35 2015 +0000

----------------------------------------------------------------------
 ...annotations_manpage-Parameter_regexPattern.adoc | 14 ++++++++++----
 ..._annotations_manpage-Property_regexPattern.adoc | 17 ++++++++++++-----
 2 files changed, 22 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/9c20aa92/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-Parameter_regexPattern.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-Parameter_regexPattern.adoc b/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-Parameter_regexPattern.adoc
index ecd7043..472a34c 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-Parameter_regexPattern.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-Parameter_regexPattern.adoc
@@ -6,10 +6,15 @@
 
 
 
+There are three attributes related to enforcing regular expressions:
 
-The `regexPattern()` attribute validates the contents of any string parameter with respect to a regular expression pattern. It is ignored if applied to parameters of any other type. This attribute can also be specified for xref:rg.adoc#_rg_annotations_manpage-Property_regexPattern[properties].
+* The `regexPattern()` attribute validates the contents of any string parameter with respect to a regular expression pattern. It is ignored if applied to parameters of any other type. This attribute can also be specified for xref:rg.adoc#_rg_annotations_manpage-Property_regexPattern[properties].
 
-The related `regexPatternFlags()` attribute specifies flags that modify the handling of the pattern.  The values are those that would normally be passed to `java.util.regex.Pattern#compile(String,int)`.
+* The `regexPatternFlags()` attribute specifies flags that modify the handling of the pattern.  The values are those
+that would normally be passed to `java.util.regex.Pattern#compile(String,int)`.
+
+* The related `regexPatternReplacement()` attribute (as of `1.11.0-SNAPSHOT`) specifies the error message to show if
+the provided argument does not match the regex pattern.
 
 For example:
 
@@ -19,7 +24,8 @@ public class Customer {
     public void updateEmail(
             @Parameter(
                 regexPattern = "(\\w+\\.)*\\w+@(\\w+\\.)+[A-Za-z]+",
-                regexPatternFlags=Pattern.CASE_INSENSITIVE
+                regexPatternFlags = Pattern.CASE_INSENSITIVE,
+                regexPatternReplacement = "Must be valid email address (containing a '@') symbol"   // <1>
             )
             @ParameterLayout(named = "Email")
             final String email) {
@@ -27,5 +33,5 @@ public class Customer {
     }
 )
 ----
+<1> unused prior to `1.11.0-SNAPSHOT`. Note that there is currently no i18n support for this phrase.
 
-The related `regexPatternReplacement()` attribute is currently unused.

http://git-wip-us.apache.org/repos/asf/isis/blob/9c20aa92/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-Property_regexPattern.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-Property_regexPattern.adoc b/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-Property_regexPattern.adoc
index a9cdb7b..5040910 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-Property_regexPattern.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-Property_regexPattern.adoc
@@ -6,7 +6,15 @@
 
 
 
-The `regexPattern()` attribute validates the contents of any string property with respect to a regular expression pattern. It is ignored if applied to properties of any other type. This attribute can also be specified for xref:rg.adoc#_rg_annotations_manpage-Parameter_regexPattern[parameters].
+There are three attributes (as of `1.11.0-SNAPSHOT`, two in earlier releases) related to enforcing regular expressions:
+
+* The `regexPattern()` attribute validates the contents of any string property with respect to a regular expression pattern. It is ignored if applied to properties of any other type. This attribute can also be specified for xref:rg.adoc#_rg_annotations_manpage-Parameter_regexPattern[parameters].
+
+* The `regexPatternFlags()` attribute specifies flags that modify the handling of the pattern.  The values are those
+that would normally be passed to `java.util.regex.Pattern#compile(String,int)`.
+
+* The related `regexPatternReplacement()` attribute (as of `1.11.0-SNAPSHOT`) specifies the error message to show if
+the provided argument does not match the regex pattern.
 
 For example:
 
@@ -15,14 +23,13 @@ For example:
 public class Customer {
     @Property(
         regexPattern = "(\\w+\\.)*\\w+@(\\w+\\.)+[A-Za-z]+",
-        regexPatternFlags=Pattern.CASE_INSENSITIVE
+        regexPatternFlags=Pattern.CASE_INSENSITIVE,
+        regexPatternReplacement = "Must be valid email address (containing a '@') symbol"   // <1>
     )
     public String getEmail() { ... }
 }
 ----
+<1> new in `1.11.0-SNAPSHOT`. Note that there is currently no i18n support for this phrase.
 
 
 
-The related `regexPatternFlags()` attribute specifies flags that modify the handling of the pattern.  The values are those that would normally be passed to `java.util.regex.Pattern#compile(String,int)`.
-
-


[3/5] isis git commit: ISIS-1241: Merge branch 'ISIS-1241' of https://github.com/sanderginn/isis into ISIS-1241_pr-36

Posted by da...@apache.org.
ISIS-1241: Merge branch 'ISIS-1241' of https://github.com/sanderginn/isis into ISIS-1241_pr-36


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/f14944c4
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/f14944c4
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/f14944c4

Branch: refs/heads/master
Commit: f14944c496873d4db4f801d6193bcebf372b2db3
Parents: 0845ef6 0086935
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Nov 27 07:49:20 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Nov 27 07:49:20 2015 +0000

----------------------------------------------------------------------
 .../org/apache/isis/applib/annotation/Parameter.java  |  2 +-
 .../org/apache/isis/applib/annotation/Property.java   |  4 ++++
 .../regex/annotation/RegExFacetOnTypeAnnotation.java  |  4 ++--
 .../annotation/RegExFacetOnTypeAnnotationFactory.java |  3 ++-
 .../facets/objectvalue/regex/RegExFacet.java          |  1 +
 .../facets/objectvalue/regex/RegExFacetAbstract.java  | 12 ++++++++++--
 .../regex/RegExFacetForParameterAnnotation.java       |  7 ++++---
 .../RegExFacetFromRegExAnnotationOnParameter.java     |  7 ++++---
 .../regex/RegExFacetForPropertyAnnotation.java        |  8 +++++---
 .../regex/RegExFacetForRegExAnnotationOnProperty.java |  7 ++++---
 .../validate/regex/RegExFacetAnnotationTest.java      | 14 +++++++-------
 11 files changed, 44 insertions(+), 25 deletions(-)
----------------------------------------------------------------------