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 2017/10/16 10:44:25 UTC

[isis] 01/38: ISIS-1742: renames facet factories for @Pattern annotation, updates .adocs

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch dev/2.0.0/ISIS-1742-remove-deprecations
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 8c61f9f548ff0ae404cfa634916f8ae0d68fc8ce
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Oct 12 07:19:05 2017 +0100

    ISIS-1742: renames facet factories for @Pattern annotation, updates .adocs
---
 .../main/asciidoc/guides/rgant/_rgant-Pattern.adoc  | 21 ++++++++++++++++++---
 .../parameter/ParameterAnnotationFacetFactory.java  |  5 +++--
 ... RegExFacetForPatternAnnotationOnParameter.java} |  6 +++---
 .../property/PropertyAnnotationFacetFactory.java    |  4 ++--
 ...> RegExFacetForPatternAnnotationOnProperty.java} |  6 +++---
 .../RegExAnnotationOnParameterFacetFactoryTest.java |  6 +++---
 .../RegExAnnotationOnPropertyFacetFactoryTest.java  |  6 +++---
 todo-deprecation-list.txt                           | 20 ++++++++++----------
 8 files changed, 45 insertions(+), 29 deletions(-)

diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Pattern.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Pattern.adoc
index a2ed03c..a9caa05 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Pattern.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Pattern.adoc
@@ -8,7 +8,23 @@
 
 The `@javax.validation.constraints.Pattern` annotation is recognized by Apache Isis as a means to specify a regular expression constraint for properties and action parameters of type `java.lang.String`.
 
-For example:
+For example, here's the annotation being used on an action parameter:
+
+[source,java]
+----
+public Customer updateName(
+                    @javax.validation.constraints.Pattern(
+                        regexp="[A-Z].+"
+                        message="Must begin with a capital."
+                    )
+                    final String name) {
+    setName(name);
+    return this
+}
+...
+----
+
+and here's an example of its use on a property:
 
 [source,java]
 ----
@@ -23,8 +39,7 @@ public String getName() {
 ----
 
 
-It is also possible to specify against a field if Lombok is being used:
-
+For properties, it is also possible to specify against a field if Lombok is being used:
 
 [source,java]
 ----
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/ParameterAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/ParameterAnnotationFacetFactory.java
index 5bbf69a..b89d761 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/ParameterAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/ParameterAnnotationFacetFactory.java
@@ -41,7 +41,7 @@ import org.apache.isis.core.metamodel.facets.param.parameter.mandatory.Mandatory
 import org.apache.isis.core.metamodel.facets.param.parameter.maxlen.MaxLengthFacetForParameterAnnotation;
 import org.apache.isis.core.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForParameterAnnotation;
 import org.apache.isis.core.metamodel.facets.param.parameter.regex.RegExFacetForParameterAnnotation;
-import org.apache.isis.core.metamodel.facets.param.parameter.regex.RegExFacetFromRegExAnnotationOnParameter;
+import org.apache.isis.core.metamodel.facets.param.parameter.regex.RegExFacetForPatternAnnotationOnParameter;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForConflictingOptionality;
 
@@ -118,7 +118,8 @@ public class ParameterAnnotationFacetFactory extends FacetFactoryAbstract implem
             if (parameterAnnotation instanceof Pattern) {
 
                 final Pattern annotation = (Pattern) parameterAnnotation;
-                final RegExFacet facet = RegExFacetFromRegExAnnotationOnParameter.create(annotation, parameterType, holder);
+                final RegExFacet facet = RegExFacetForPatternAnnotationOnParameter
+                        .create(annotation, parameterType, holder);
                 FacetUtil.addFacet(facet);
                 return;
             }
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/RegExFacetForPatternAnnotationOnParameter.java
similarity index 90%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/regex/RegExFacetFromRegExAnnotationOnParameter.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/regex/RegExFacetForPatternAnnotationOnParameter.java
index 65d062d..4b5aec0 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/RegExFacetForPatternAnnotationOnParameter.java
@@ -26,7 +26,7 @@ import org.apache.isis.core.metamodel.facets.Annotations;
 import org.apache.isis.core.metamodel.facets.objectvalue.regex.RegExFacet;
 import org.apache.isis.core.metamodel.facets.objectvalue.regex.RegExFacetAbstract;
 
-public class RegExFacetFromRegExAnnotationOnParameter extends RegExFacetAbstract {
+public class RegExFacetForPatternAnnotationOnParameter extends RegExFacetAbstract {
 
     private final Pattern pattern;
 
@@ -42,10 +42,10 @@ public class RegExFacetFromRegExAnnotationOnParameter extends RegExFacetAbstract
         final javax.validation.constraints.Pattern.Flag[] flags = annotation.flags();
         final String message = annotation.message();
 
-        return new RegExFacetFromRegExAnnotationOnParameter(regexp, flags, message, holder);
+        return new RegExFacetForPatternAnnotationOnParameter(regexp, flags, message, holder);
     }
 
-    private RegExFacetFromRegExAnnotationOnParameter(
+    private RegExFacetForPatternAnnotationOnParameter(
             final String regexp,
             final javax.validation.constraints.Pattern.Flag[] flags,
             final String message, final FacetHolder holder) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java
index 4f18375..0aac427 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java
@@ -63,7 +63,7 @@ import org.apache.isis.core.metamodel.facets.properties.property.mustsatisfy.Mus
 import org.apache.isis.core.metamodel.facets.properties.property.notpersisted.NotPersistedFacetForPropertyAnnotation;
 import org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetForPropertyAnnotation;
 import org.apache.isis.core.metamodel.facets.properties.property.regex.RegExFacetForPropertyAnnotation;
-import org.apache.isis.core.metamodel.facets.properties.property.regex.RegExFacetForRegExAnnotationOnProperty;
+import org.apache.isis.core.metamodel.facets.properties.property.regex.RegExFacetForPatternAnnotationOnProperty;
 import org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet;
 import org.apache.isis.core.metamodel.facets.properties.update.clear.PropertyClearFacet;
 import org.apache.isis.core.metamodel.facets.properties.update.modify.PropertySetterFacet;
@@ -314,7 +314,7 @@ public class PropertyAnnotationFacetFactory extends FacetFactoryAbstract impleme
 
         // check for @Pattern first
         final Pattern annotation = Annotations.getAnnotation(processMethodContext.getMethod(), Pattern.class);
-        RegExFacet facet = RegExFacetForRegExAnnotationOnProperty.create(annotation, returnType, holder);
+        RegExFacet facet = RegExFacetForPatternAnnotationOnProperty.create(annotation, returnType, holder);
 
         // else search for @Property(pattern=...)
         final Property property = Annotations.getAnnotation(method, Property.class);
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/RegExFacetForPatternAnnotationOnProperty.java
similarity index 90%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForRegExAnnotationOnProperty.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForPatternAnnotationOnProperty.java
index c4f2374..4db36e6 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/RegExFacetForPatternAnnotationOnProperty.java
@@ -26,7 +26,7 @@ import org.apache.isis.core.metamodel.facets.Annotations;
 import org.apache.isis.core.metamodel.facets.objectvalue.regex.RegExFacet;
 import org.apache.isis.core.metamodel.facets.objectvalue.regex.RegExFacetAbstract;
 
-public class RegExFacetForRegExAnnotationOnProperty extends RegExFacetAbstract {
+public class RegExFacetForPatternAnnotationOnProperty extends RegExFacetAbstract {
 
     private final Pattern pattern;
 
@@ -45,10 +45,10 @@ public class RegExFacetForRegExAnnotationOnProperty extends RegExFacetAbstract {
         final javax.validation.constraints.Pattern.Flag[] flags = annotation.flags();
         final String message = annotation.message();
 
-        return new RegExFacetForRegExAnnotationOnProperty(regexp, flags, message, holder);
+        return new RegExFacetForPatternAnnotationOnProperty(regexp, flags, message, holder);
     }
 
-    private RegExFacetForRegExAnnotationOnProperty(
+    private RegExFacetForPatternAnnotationOnProperty(
             final String regexp,
             final javax.validation.constraints.Pattern.Flag[] flags,
             final String replacement,
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/RegExAnnotationOnParameterFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/RegExAnnotationOnParameterFacetFactoryTest.java
index dad822b..6e31584 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/RegExAnnotationOnParameterFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/RegExAnnotationOnParameterFacetFactoryTest.java
@@ -29,7 +29,7 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessParameterContext;
 import org.apache.isis.core.metamodel.facets.objectvalue.regex.RegExFacet;
-import org.apache.isis.core.metamodel.facets.param.parameter.regex.RegExFacetFromRegExAnnotationOnParameter;
+import org.apache.isis.core.metamodel.facets.param.parameter.regex.RegExFacetForPatternAnnotationOnParameter;
 
 public class RegExAnnotationOnParameterFacetFactoryTest extends AbstractFacetFactoryTest {
 
@@ -54,8 +54,8 @@ public class RegExAnnotationOnParameterFacetFactoryTest extends AbstractFacetFac
 
         final Facet facet = facetedMethodParameter.getFacet(RegExFacet.class);
         assertNotNull(facet);
-        assertTrue(facet instanceof RegExFacetFromRegExAnnotationOnParameter);
-        final RegExFacetFromRegExAnnotationOnParameter regExFacet = (RegExFacetFromRegExAnnotationOnParameter) facet;
+        assertTrue(facet instanceof RegExFacetForPatternAnnotationOnParameter);
+        final RegExFacetForPatternAnnotationOnParameter regExFacet = (RegExFacetForPatternAnnotationOnParameter) facet;
         assertEquals("^A.*", regExFacet.regexp());
         assertEquals(2, regExFacet.patternFlags());
     }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/RegExAnnotationOnPropertyFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/RegExAnnotationOnPropertyFacetFactoryTest.java
index ae80d5a..dbc81e7 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/RegExAnnotationOnPropertyFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/RegExAnnotationOnPropertyFacetFactoryTest.java
@@ -29,7 +29,7 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
 import org.apache.isis.core.metamodel.facets.objectvalue.regex.RegExFacet;
-import org.apache.isis.core.metamodel.facets.properties.property.regex.RegExFacetForRegExAnnotationOnProperty;
+import org.apache.isis.core.metamodel.facets.properties.property.regex.RegExFacetForPatternAnnotationOnProperty;
 
 public class RegExAnnotationOnPropertyFacetFactoryTest extends AbstractFacetFactoryTest {
 
@@ -56,8 +56,8 @@ public class RegExAnnotationOnPropertyFacetFactoryTest extends AbstractFacetFact
 
         final Facet facet = facetedMethod.getFacet(RegExFacet.class);
         assertNotNull(facet);
-        assertTrue(facet instanceof RegExFacetForRegExAnnotationOnProperty);
-        final RegExFacetForRegExAnnotationOnProperty regExFacet = (RegExFacetForRegExAnnotationOnProperty) facet;
+        assertTrue(facet instanceof RegExFacetForPatternAnnotationOnProperty);
+        final RegExFacetForPatternAnnotationOnProperty regExFacet = (RegExFacetForPatternAnnotationOnProperty) facet;
         assertEquals("^A.*", regExFacet.regexp());
         assertEquals(2, regExFacet.patternFlags());
     }
diff --git a/todo-deprecation-list.txt b/todo-deprecation-list.txt
index a162047..527930b 100644
--- a/todo-deprecation-list.txt
+++ b/todo-deprecation-list.txt
@@ -8,15 +8,6 @@ org.apache.isis.applib
     DomainObjectContainer.java  - entire class
 
 
-org.apache.isis.applib.annotation
-
-
-
-    RegEx.java - entire annotation, use @Property(regexPatternFlags=...) or @Parameter(regexPatternFlags=...) instead; or alternatively NEW SUPPORT for JSR-303 @Pattern annotation (http://beanvalidation.org/1.0/spec/, chapter 6).
-
-
-
-
 
 org.apache.isis.applib.clock
     Clock.java -
@@ -261,7 +252,13 @@ org.apache.isis.applib.services.command
 
 *************************************************************************
 
-DONE:
+DONE (ADDED)
+
+    new support for JSR-303 @Pattern annotation (http://beanvalidation.org/1.0/spec/, chapter 6) ... replaces @RegEx
+
+
+
+DONE (REMOVED):
 
     removed support for Xxx.layout.json
     - "reflector.layoutMetadataReaders" config prop
@@ -359,6 +356,9 @@ org.apache.isis.applib.annotation
 
     MustSatisfy.java - entire annotation, use @Property(mustSatisfy=....) or @Parameter(mustSatisfy=...) instead
 
+    RegEx.java - entire annotation, use @Property(regexPatternFlags=...) or @Parameter(regexPatternFlags=...) instead;
+
+
     RenderedAsDayBefore.java - entire annotation, use @PropertyLayout(renderedAsDayBefore=...) and @ParameterLayout(renderedAsDayBefore=...)
 
     Paged.java - entire annotation, use @DomainObjectLayout(paged=...) or @CollectionLayout(paged=...) instead.

-- 
To stop receiving notification emails like this one, please contact
"commits@isis.apache.org" <co...@isis.apache.org>.