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

danhaywood pushed a commit to branch CAUSEWAY-3676
in repository https://gitbox.apache.org/repos/asf/causeway.git


The following commit(s) were added to refs/heads/CAUSEWAY-3676 by this push:
     new 493fef8e57 CAUSEWAY-3676: renames GqlvActionDisabled/HiddenHolder to 
be GqlvMember...Holder
493fef8e57 is described below

commit 493fef8e5775b64d6238973b9c8ae2d676738aa3
Author: danhaywood <[email protected]>
AuthorDate: Tue Jan 23 18:23:38 2024 +0000

    CAUSEWAY-3676: renames GqlvActionDisabled/HiddenHolder to be 
GqlvMember...Holder
---
 .../graphql/model/domain/BookmarkedPojo.java       | 12 +++++++
 .../viewer/graphql/model/domain/GqlvAction.java    | 29 +++++++----------
 .../graphql/model/domain/GqlvActionInvoke.java     | 26 ++++++---------
 ...ActionDisabled.java => GqlvMemberDisabled.java} | 37 ++++++++++------------
 ...edHolder.java => GqlvMemberDisabledHolder.java} |  6 ++--
 ...GqlvActionHidden.java => GqlvMemberHidden.java} | 35 ++++++++------------
 ...ddenHolder.java => GqlvMemberHiddenHolder.java} |  5 +--
 7 files changed, 69 insertions(+), 81 deletions(-)

diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/BookmarkedPojo.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/BookmarkedPojo.java
index 7e9a7aeae7..ed0e4d1be7 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/BookmarkedPojo.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/BookmarkedPojo.java
@@ -18,6 +18,10 @@
  */
 package org.apache.causeway.viewer.graphql.model.domain;
 
+import graphql.schema.DataFetchingEnvironment;
+
+import lombok.val;
+
 import org.apache.causeway.applib.services.bookmark.Bookmark;
 import org.apache.causeway.applib.services.bookmark.BookmarkService;
 
@@ -34,6 +38,14 @@ class BookmarkedPojo {
         this.bookmarkService = bookmarkService;
     }
 
+    static Object sourceFrom(DataFetchingEnvironment dataFetchingEnvironment) {
+
+        val source = dataFetchingEnvironment.getSource();
+        return source instanceof BookmarkedPojo
+                ? ((BookmarkedPojo) source).getTargetPojo()
+                : source;
+    }
+
     public Object getTargetPojo() {
         return bookmarkService.lookup(bookmark).orElseThrow();
     }
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java
index 71b8487184..ebf61e4ac1 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java
@@ -31,12 +31,13 @@ import static 
graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
 import static graphql.schema.GraphQLObjectType.newObject;
 
 @Log4j2
-public class GqlvAction extends GqlvMember<ObjectAction, GqlvActionHolder> 
implements GqlvActionInvokeHolder, GqlvActionHiddenHolder, 
GqlvActionDisabledHolder {
+public class GqlvAction extends GqlvMember<ObjectAction, GqlvActionHolder>
+        implements GqlvActionInvokeHolder, GqlvMemberHiddenHolder, 
GqlvMemberDisabledHolder {
 
     private final GraphQLObjectType.Builder gqlObjectTypeBuilder;
     private final GraphQLObjectType gqlObjectType;
-    private final GqlvActionHidden hidden;
-    private final GqlvActionDisabled disabled;
+    private final GqlvMemberHidden hidden;
+    private final GqlvMemberDisabled disabled;
     private final GqlvActionInvoke invoke;
     private final BookmarkService bookmarkService;
 
@@ -51,8 +52,8 @@ public class GqlvAction extends GqlvMember<ObjectAction, 
GqlvActionHolder> imple
         this.gqlObjectTypeBuilder = 
newObject().name(TypeNames.actionTypeNameFor(objectAction, 
holder.getObjectSpecification()));
         this.bookmarkService = bookmarkService;
 
-        this.hidden = new GqlvActionHidden(this, codeRegistryBuilder);
-        this.disabled = new GqlvActionDisabled(this, codeRegistryBuilder);
+        this.hidden = new GqlvMemberHidden(this, codeRegistryBuilder);
+        this.disabled = new GqlvMemberDisabled(this, codeRegistryBuilder);
         this.invoke = new GqlvActionInvoke(this, codeRegistryBuilder);
 
         this.gqlObjectType = gqlObjectTypeBuilder.build();
@@ -67,7 +68,7 @@ public class GqlvAction extends GqlvMember<ObjectAction, 
GqlvActionHolder> imple
         setField(field);
     }
 
-
+    @Override
     public ObjectAction getObjectAction() {
         return getObjectMember();
     }
@@ -90,17 +91,11 @@ public class GqlvAction extends GqlvMember<ObjectAction, 
GqlvActionHolder> imple
 
     private class Fetcher implements DataFetcher<Object> {
         @Override
-        public Object get(DataFetchingEnvironment environment) {
-            Object source = environment.getSource();
-            Object domainPojo;
-            if (source instanceof BookmarkedPojo) {
-                BookmarkedPojo mutationsBookmarkedPojo = (BookmarkedPojo) 
source;
-                domainPojo = mutationsBookmarkedPojo.getTargetPojo();
-            } else {
-                // presumably this is a safe action
-                domainPojo = source;
-            }
-            return bookmarkService.bookmarkFor(domainPojo)
+        public Object get(DataFetchingEnvironment dataFetchingEnvironment) {
+
+            val sourcePojo = 
BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
+
+            return bookmarkService.bookmarkFor(sourcePojo)
                     .map(bookmark -> new BookmarkedPojo(bookmark, 
bookmarkService))
                     .orElseThrow();
         }
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionInvoke.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionInvoke.java
index d7f0b0f3fe..a6a2ac8d41 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionInvoke.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionInvoke.java
@@ -43,6 +43,7 @@ import 
org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectActionParameter;
+import org.apache.causeway.core.metamodel.specloader.SpecificationLoader;
 import org.apache.causeway.viewer.graphql.model.types.ScalarMapper;
 import org.apache.causeway.viewer.graphql.model.util.TypeNames;
 
@@ -172,25 +173,18 @@ public class GqlvActionInvoke {
             final DataFetchingEnvironment dataFetchingEnvironment) {
         final ObjectAction objectAction = holder.getObjectAction();
 
-        Object source = dataFetchingEnvironment.getSource();
-        Object domainObjectInstance;
-        if (source instanceof BookmarkedPojo) {
-            BookmarkedPojo fetched = (BookmarkedPojo) source;
-            domainObjectInstance = fetched.getTargetPojo();
-        } else {
-            domainObjectInstance = source;
-        }
+        val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
 
-        Class<?> domainObjectInstanceClass = domainObjectInstance.getClass();
-        ObjectSpecification specification = 
holder.getObjectAction().getSpecificationLoader()
-                .loadSpecification(domainObjectInstanceClass);
-        if (specification == null) {
+        val sourcePojoClass = sourcePojo.getClass();
+        val specificationLoader = 
holder.getObjectAction().getSpecificationLoader();
+        val objectSpecification = 
specificationLoader.loadSpecification(sourcePojoClass);
+        if (objectSpecification == null) {
             // not expected
             return null;
         }
 
-        ManagedObject owner = ManagedObject.adaptSingular(specification, 
domainObjectInstance);
-        ActionInteractionHead actionInteractionHead = 
objectAction.interactionHead(owner);
+        val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
+        val actionInteractionHead = 
objectAction.interactionHead(managedObject);
 
         Map<String, Object> arguments = dataFetchingEnvironment.getArguments();
         Can<ObjectActionParameter> parameters = objectAction.getParameters();
@@ -200,10 +194,10 @@ public class GqlvActionInvoke {
                     return ManagedObject.adaptParameter(oap, argumentValue);
                 });
 
-        ManagedObject managedObject = objectAction
+        val resultManagedObject = objectAction
                 .execute(actionInteractionHead, canOfParams, 
InteractionInitiatedBy.USER);
 
-        return managedObject.getPojo();
+        return resultManagedObject.getPojo();
     }
 
 }
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionDisabled.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberDisabled.java
similarity index 70%
rename from 
incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionDisabled.java
rename to 
incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberDisabled.java
index c42a7fcf20..4ab4f29a45 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionDisabled.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberDisabled.java
@@ -23,6 +23,8 @@ import 
org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
+import org.apache.causeway.core.metamodel.spec.feature.ObjectMember;
+import org.apache.causeway.core.metamodel.specloader.SpecificationLoader;
 import org.apache.causeway.viewer.graphql.model.types.ScalarMapper;
 
 import lombok.val;
@@ -35,14 +37,14 @@ import graphql.schema.GraphQLFieldDefinition;
 import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
 
 @Log4j2
-public class GqlvActionDisabled {
+public class GqlvMemberDisabled {
 
-    private final GqlvActionHiddenHolder holder;
+    private final GqlvMemberDisabledHolder holder;
     private final GraphQLCodeRegistry.Builder codeRegistryBuilder;
     private final GraphQLFieldDefinition field;
 
-    public GqlvActionDisabled(
-            final GqlvActionHiddenHolder holder,
+    public GqlvMemberDisabled(
+            final GqlvMemberDisabledHolder holder,
             final GraphQLCodeRegistry.Builder codeRegistryBuilder
     ) {
         this.holder = holder;
@@ -50,7 +52,7 @@ public class GqlvActionDisabled {
         this.field = fieldDefinition(holder);
     }
 
-    private static GraphQLFieldDefinition fieldDefinition(final 
GqlvActionHiddenHolder holder) {
+    private static GraphQLFieldDefinition fieldDefinition(final 
GqlvMemberDisabledHolder holder) {
 
         GraphQLFieldDefinition fieldDefinition =
                 newFieldDefinition()
@@ -72,28 +74,21 @@ public class GqlvActionDisabled {
     private String disabled(
             final DataFetchingEnvironment dataFetchingEnvironment) {
 
-        final ObjectAction objectAction = holder.getObjectAction();
+        final ObjectMember objectMember = holder.getObjectMember();
 
-        Object source = dataFetchingEnvironment.getSource();
-        Object domainObjectInstance;
-        if (source instanceof BookmarkedPojo) {
-            BookmarkedPojo fetched = (BookmarkedPojo) source;
-            domainObjectInstance = fetched.getTargetPojo();
-        } else {
-            domainObjectInstance = source;
-        }
+        val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
 
-        Class<?> domainObjectInstanceClass = domainObjectInstance.getClass();
-        ObjectSpecification specification = 
holder.getObjectAction().getSpecificationLoader()
-                .loadSpecification(domainObjectInstanceClass);
-        if (specification == null) {
+        val sourcePojoClass = sourcePojo.getClass();
+        val specificationLoader = 
holder.getObjectMember().getSpecificationLoader();
+        val objectSpecification = 
specificationLoader.loadSpecification(sourcePojoClass);
+        if (objectSpecification == null) {
             // not expected
-            return String.format("Disabled; could not determine target 
object's type ('%s')", domainObjectInstanceClass.getName());
+            return String.format("Disabled; could not determine target 
object's type ('%s')", sourcePojoClass.getName());
         }
 
-        ManagedObject owner = ManagedObject.adaptSingular(specification, 
domainObjectInstance);
+        val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
 
-        val usable = objectAction.isUsable(owner, InteractionInitiatedBy.USER, 
Where.ANYWHERE);
+        val usable = objectMember.isUsable(managedObject, 
InteractionInitiatedBy.USER, Where.ANYWHERE);
         return usable.getReasonAsString().orElse(null);
     }
 
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionDisabledHolder.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberDisabledHolder.java
similarity index 84%
rename from 
incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionDisabledHolder.java
rename to 
incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberDisabledHolder.java
index 8264c7ad72..3fde923567 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionDisabledHolder.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberDisabledHolder.java
@@ -18,10 +18,10 @@
  */
 package org.apache.causeway.viewer.graphql.model.domain;
 
-import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
+import org.apache.causeway.core.metamodel.spec.feature.ObjectMember;
 
-public interface GqlvActionDisabledHolder extends GqlvHolder {
+public interface GqlvMemberDisabledHolder extends GqlvHolder {
 
 
-    ObjectAction getObjectAction();
+    ObjectMember getObjectMember();
 }
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionHidden.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberHidden.java
similarity index 67%
rename from 
incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionHidden.java
rename to 
incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberHidden.java
index 8b4852ec24..07e1d4cf47 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionHidden.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberHidden.java
@@ -21,8 +21,6 @@ package org.apache.causeway.viewer.graphql.model.domain;
 import org.apache.causeway.applib.annotation.Where;
 import org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.causeway.core.metamodel.object.ManagedObject;
-import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
-import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
 import org.apache.causeway.viewer.graphql.model.types.ScalarMapper;
 
 import lombok.extern.log4j.Log4j2;
@@ -36,14 +34,14 @@ import lombok.val;
 import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
 
 @Log4j2
-public class GqlvActionHidden {
+public class GqlvMemberHidden {
 
-    private final GqlvActionHiddenHolder holder;
+    private final GqlvMemberHiddenHolder holder;
     private final GraphQLCodeRegistry.Builder codeRegistryBuilder;
     private final GraphQLFieldDefinition field;
 
-    public GqlvActionHidden(
-            final GqlvActionHiddenHolder holder,
+    public GqlvMemberHidden(
+            final GqlvMemberHiddenHolder holder,
             final GraphQLCodeRegistry.Builder codeRegistryBuilder
     ) {
         this.holder = holder;
@@ -51,7 +49,7 @@ public class GqlvActionHidden {
         this.field = fieldDefinition(holder);
     }
 
-    private static GraphQLFieldDefinition fieldDefinition(final 
GqlvActionHiddenHolder holder) {
+    private static GraphQLFieldDefinition fieldDefinition(final 
GqlvMemberHiddenHolder holder) {
 
         GraphQLFieldDefinition fieldDefinition =
                 newFieldDefinition()
@@ -73,28 +71,21 @@ public class GqlvActionHidden {
     private boolean hidden(
             final DataFetchingEnvironment dataFetchingEnvironment) {
 
-        final ObjectAction objectAction = holder.getObjectAction();
+        val objectMember = holder.getObjectMember();
 
-        Object source = dataFetchingEnvironment.getSource();
-        Object domainObjectInstance;
-        if (source instanceof BookmarkedPojo) {
-            BookmarkedPojo fetched = (BookmarkedPojo) source;
-            domainObjectInstance = fetched.getTargetPojo();
-        } else {
-            domainObjectInstance = source;
-        }
+        val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
 
-        Class<?> domainObjectInstanceClass = domainObjectInstance.getClass();
-        ObjectSpecification specification = 
holder.getObjectAction().getSpecificationLoader()
-                .loadSpecification(domainObjectInstanceClass);
-        if (specification == null) {
+        val sourcePojoClass = sourcePojo.getClass();
+        val specificationLoader = 
holder.getObjectMember().getSpecificationLoader();
+        val objectSpecification = 
specificationLoader.loadSpecification(sourcePojoClass);
+        if (objectSpecification == null) {
             // not expected
             return true;
         }
 
-        ManagedObject owner = ManagedObject.adaptSingular(specification, 
domainObjectInstance);
+        val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
 
-        val visibleConsent = objectAction.isVisible(owner, 
InteractionInitiatedBy.USER, Where.ANYWHERE);
+        val visibleConsent = objectMember.isVisible(managedObject, 
InteractionInitiatedBy.USER, Where.ANYWHERE);
         return visibleConsent.isVetoed();
     }
 
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionHiddenHolder.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberHiddenHolder.java
similarity index 85%
rename from 
incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionHiddenHolder.java
rename to 
incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberHiddenHolder.java
index a13414ea92..85b705fef4 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionHiddenHolder.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberHiddenHolder.java
@@ -19,9 +19,10 @@
 package org.apache.causeway.viewer.graphql.model.domain;
 
 import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
+import org.apache.causeway.core.metamodel.spec.feature.ObjectMember;
 
-public interface GqlvActionHiddenHolder extends GqlvHolder {
+public interface GqlvMemberHiddenHolder extends GqlvHolder {
 
 
-    ObjectAction getObjectAction();
+    ObjectMember getObjectMember();
 }

Reply via email to