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 2021/05/31 18:52:48 UTC

[isis] branch ISIS-2659 created (now bfe0354)

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

danhaywood pushed a change to branch ISIS-2659
in repository https://gitbox.apache.org/repos/asf/isis.git.


      at bfe0354  ISIS-2659: renames

This branch includes the following new commits:

     new bfe0354  ISIS-2659: renames

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[isis] 01/01: ISIS-2659: renames

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2659
in repository https://gitbox.apache.org/repos/asf/isis.git

commit bfe035455eef8740555028e2d0bfae0eb04321a1
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon May 31 19:52:06 2021 +0100

    ISIS-2659: renames
    
    to 'autoCompleteMethod'
---
 .../modules/fun/pages/drop-downs-and-defaults.adoc |  2 +-
 .../modules/fun/pages/object-members/actions.adoc  |  2 +-
 .../isis/applib/annotation/DomainObject.java       |  9 +++--
 .../DomainObjectAnnotationFacetFactory.java        | 45 ++++++++--------------
 .../DomainObjectAnnotationFacetFactoryTest.java    |  2 +-
 .../secman/jdo/role/dom/ApplicationRole.java       |  2 +-
 .../secman/jdo/tenancy/dom/ApplicationTenancy.java |  2 +-
 .../secman/jdo/user/dom/ApplicationUser.java       |  2 +-
 .../secman/jpa/role/dom/ApplicationRole.java       |  2 +-
 .../secman/jpa/tenancy/dom/ApplicationTenancy.java |  2 +-
 .../secman/jpa/user/dom/ApplicationUser.java       |  2 +-
 11 files changed, 29 insertions(+), 43 deletions(-)

diff --git a/antora/components/userguide/modules/fun/pages/drop-downs-and-defaults.adoc b/antora/components/userguide/modules/fun/pages/drop-downs-and-defaults.adoc
index 3fe3002..a18c3cc 100644
--- a/antora/components/userguide/modules/fun/pages/drop-downs-and-defaults.adoc
+++ b/antora/components/userguide/modules/fun/pages/drop-downs-and-defaults.adoc
@@ -142,7 +142,7 @@ For example:
 ----
 @DomainObject(
     autoCompleteRepository = Customers.class,
-    autoCompleteAction = "findByReferenceOrName"
+    autoCompleteMethod = "findByReferenceOrName"
 )
 public class Customer { /* ... */ }
 ----
diff --git a/antora/components/userguide/modules/fun/pages/object-members/actions.adoc b/antora/components/userguide/modules/fun/pages/object-members/actions.adoc
index 0759b38..3b54124 100644
--- a/antora/components/userguide/modules/fun/pages/object-members/actions.adoc
+++ b/antora/components/userguide/modules/fun/pages/object-members/actions.adoc
@@ -101,7 +101,7 @@ To save having to define an `autoCompleteNXxx(...)` method everywhere that a ref
 ----
 @DomainObject(
     autoCompleteRepository=ProductRepository.class          // <.>
-    autoCompleteAction="find"                               // <.>
+    autoCompleteMethod="find"                               // <.>
 )
 public class Product ... {
     ...
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java
index 39c975e..4c7d68d 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java
@@ -72,22 +72,23 @@ public @interface DomainObject {
      * <p>
      * It is sufficient to specify an interface rather than a concrete type.
      *
-     * @see DomainObject#autoCompleteAction()
+     * @see DomainObject#autoCompleteMethod()
      */
     Class<?> autoCompleteRepository()
             default Object.class;
 
     /**
-     * The method (despite its name, not necessarily an action) to use in order to perform the auto-complete search
+     * The method to use in order to perform the auto-complete search
      * (defaults to &quot;autoComplete&quot;).
      *
      * <p>
-     * The method is required to accept a single string parameter, and must return a list of the domain type.
+     * The method is required to accept a single string parameter, and must
+     * return a list of the domain type.
      * </p>
      *
      * @see DomainObject#autoCompleteRepository()
      */
-    String autoCompleteAction()
+    String autoCompleteMethod()
             default "autoComplete";
 
     /**
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
index 1ceba77..6dfd371 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
@@ -156,34 +156,8 @@ implements
         val facetHolder = processClassContext.getFacetHolder();
 
         // check from @DomainObject(autoCompleteRepository=...)
-        val domainObjectIfAny = processClassContext.synthesizeOnType(DomainObject.class);
-        val facet = createFor(domainObjectIfAny, facetHolder, cls);
-
-        // then add
-        super.addFacet(facet);
-    }
-
-    private static final class AnnotHelper {
-        AnnotHelper(DomainObject domainObject) {
-            this.autoCompleteRepository = domainObject.autoCompleteRepository();
-            this.autoCompleteAction = domainObject.autoCompleteAction();
-        }
-        final Class<?> autoCompleteRepository;
-        final String autoCompleteAction;
-        Method repositoryMethod;
-    }
-
-    private AutoCompleteFacet createFor(
-            final Optional<DomainObject> domainObjectIfAny,
-            final FacetHolder facetHolder,
-            final Class<?> cls) {
-
-        if(!domainObjectIfAny.isPresent()) {
-            return null;
-        }
-
-        return domainObjectIfAny
-                .map(domainObject -> new AnnotHelper(domainObject))
+        processClassContext.synthesizeOnType(DomainObject.class)
+                .map(AnnotHelper::new)
                 .filter(a -> a.autoCompleteRepository != Object.class)
                 .filter(a -> {
                     a.repositoryMethod = findRepositoryMethod(
@@ -191,13 +165,24 @@ implements
                             cls,
                             "@DomainObject",
                             a.autoCompleteRepository,
-                            a.autoCompleteAction);
+                            a.autoCompleteMethod);
 
                     return a.repositoryMethod != null;
                 })
                 .map(a -> new AutoCompleteFacetForDomainObjectAnnotation(
                         facetHolder, a.autoCompleteRepository, a.repositoryMethod))
-                .orElse(null);
+                .ifPresent(super::addFacet);
+
+    }
+
+    private static final class AnnotHelper {
+        AnnotHelper(DomainObject domainObject) {
+            this.autoCompleteRepository = domainObject.autoCompleteRepository();
+            this.autoCompleteMethod = domainObject.autoCompleteMethod();
+        }
+        final Class<?> autoCompleteRepository;
+        final String autoCompleteMethod;
+        Method repositoryMethod;
     }
 
     private Method findRepositoryMethod(
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
index 618cc09..043aad1 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
@@ -238,7 +238,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public String autoComplete(final String x) { return null; }
         }
 
-        @DomainObject(autoCompleteRepository = CustomerRepository.class, autoCompleteAction = "lookup")
+        @DomainObject(autoCompleteRepository = CustomerRepository.class, autoCompleteMethod = "lookup")
         class CustomerWithDomainObjectAndAutoCompleteRepositoryAndAction {
         }
 
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/role/dom/ApplicationRole.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/role/dom/ApplicationRole.java
index a3adee4..57ab64b 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/role/dom/ApplicationRole.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/role/dom/ApplicationRole.java
@@ -70,7 +70,7 @@ import org.apache.isis.extensions.secman.applib.user.dom.ApplicationUser;
         bounding = Bounding.BOUNDED,
         logicalTypeName = ApplicationRole.LOGICAL_TYPE_NAME,
         autoCompleteRepository = ApplicationRoleRepository.class,
-        autoCompleteAction = "findMatching"
+        autoCompleteMethod = "findMatching"
         )
 @DomainObjectLayout(
         bookmarking = BookmarkPolicy.AS_ROOT
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/tenancy/dom/ApplicationTenancy.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/tenancy/dom/ApplicationTenancy.java
index 1ced297..1e30abb 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/tenancy/dom/ApplicationTenancy.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/tenancy/dom/ApplicationTenancy.java
@@ -77,7 +77,7 @@ import org.apache.isis.commons.internal.base._Casts;
 @DomainObject(
         logicalTypeName = ApplicationTenancy.LOGICAL_TYPE_NAME,
         autoCompleteRepository = ApplicationTenancyRepository.class,
-        autoCompleteAction = "findMatching"
+        autoCompleteMethod = "findMatching"
 )
 @DomainObjectLayout(
         bookmarking = BookmarkPolicy.AS_ROOT
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/user/dom/ApplicationUser.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/user/dom/ApplicationUser.java
index 32195e4..c651265 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/user/dom/ApplicationUser.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/user/dom/ApplicationUser.java
@@ -90,7 +90,7 @@ import org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserStatus;
 @DomainObject(
         logicalTypeName = ApplicationUser.LOGICAL_TYPE_NAME,
         autoCompleteRepository = ApplicationUserRepository.class,
-        autoCompleteAction = "findMatching"
+        autoCompleteMethod = "findMatching"
 )
 @DomainObjectLayout(
         bookmarking = BookmarkPolicy.AS_ROOT
diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/role/dom/ApplicationRole.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/role/dom/ApplicationRole.java
index 2809251..514a4f5 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/role/dom/ApplicationRole.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/role/dom/ApplicationRole.java
@@ -67,7 +67,7 @@ import org.apache.isis.persistence.jpa.applib.integration.JpaEntityInjectionPoin
         bounding = Bounding.BOUNDED,
         logicalTypeName = ApplicationRole.LOGICAL_TYPE_NAME,
         autoCompleteRepository = ApplicationRoleRepository.class,
-        autoCompleteAction = "findMatching"
+        autoCompleteMethod = "findMatching"
         )
 @DomainObjectLayout(
         bookmarking = BookmarkPolicy.AS_ROOT
diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/tenancy/dom/ApplicationTenancy.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/tenancy/dom/ApplicationTenancy.java
index 247b46c..1254d41 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/tenancy/dom/ApplicationTenancy.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/tenancy/dom/ApplicationTenancy.java
@@ -70,7 +70,7 @@ import org.apache.isis.commons.internal.base._Casts;
 @DomainObject(
         logicalTypeName = ApplicationTenancy.LOGICAL_TYPE_NAME,
         autoCompleteRepository = ApplicationTenancyRepository.class,
-        autoCompleteAction = "findMatching"
+        autoCompleteMethod = "findMatching"
         )
 @DomainObjectLayout(
         bookmarking = BookmarkPolicy.AS_ROOT
diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/user/dom/ApplicationUser.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/user/dom/ApplicationUser.java
index 9f5541f..15ea2ce 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/user/dom/ApplicationUser.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/user/dom/ApplicationUser.java
@@ -85,7 +85,7 @@ import org.apache.isis.persistence.jpa.applib.integration.JpaEntityInjectionPoin
 @DomainObject(
         logicalTypeName = ApplicationUser.LOGICAL_TYPE_NAME,
         autoCompleteRepository = ApplicationUserRepository.class,
-        autoCompleteAction = "findMatching"
+        autoCompleteMethod = "findMatching"
         )
 @DomainObjectLayout(
         bookmarking = BookmarkPolicy.AS_ROOT