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(-)
----------------------------------------------------------------------