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

commit 7e9aa99c95c8e15ca49a077a13ce951889ab6efd
Author: danhaywood <[email protected]>
AuthorDate: Thu Jan 25 23:18:20 2024 +0000

    CAUSEWAY-3676: cleaning up is all
---
 .../viewer/graphql/model/domain/GqlvAction.java    | 33 +++++++++++-----------
 .../graphql/model/domain/GqlvActionInvoke.java     |  1 -
 .../graphql/model/domain/GqlvAssociation.java      |  5 ++--
 .../graphql/model/domain/GqlvAssociationGet.java   |  4 +--
 .../graphql/model/domain/GqlvCollection.java       | 12 +++++---
 .../graphql/model/domain/GqlvCollectionGet.java    |  5 ++--
 .../viewer/graphql/model/domain/GqlvMember.java    |  6 ++--
 .../graphql/model/domain/GqlvMemberDisabled.java   | 19 +++++--------
 .../graphql/model/domain/GqlvMemberHidden.java     | 25 ++++++++--------
 .../viewer/graphql/model/domain/GqlvProperty.java  | 20 ++++++-------
 10 files changed, 65 insertions(+), 65 deletions(-)

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 901f0c7268..e67d93f3bd 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
@@ -45,8 +45,8 @@ import static graphql.schema.GraphQLObjectType.newObject;
 @Log4j2
 public class GqlvAction
         extends GqlvMember<ObjectAction, GqlvAction.Holder>
-        implements GqlvMemberHidden.Holder,
-                   GqlvMemberDisabled.Holder,
+        implements GqlvMemberHidden.Holder<ObjectAction>,
+                   GqlvMemberDisabled.Holder<ObjectAction>,
                    GqlvActionInvoke.Holder,
                    GqlvActionValidate.Holder,
                    GqlvActionParams.Holder {
@@ -54,8 +54,8 @@ public class GqlvAction
     private final GraphQLObjectType.Builder gqlObjectTypeBuilder;
     private final GraphQLObjectType gqlObjectType;
 
-    private final GqlvMemberHidden hidden;
-    private final GqlvMemberDisabled disabled;
+    private final GqlvMemberHidden<ObjectAction> hidden;
+    private final GqlvMemberDisabled<ObjectAction> disabled;
     private final GqlvActionValidate validate;
     private final GqlvActionInvoke invoke;
     /**
@@ -66,14 +66,13 @@ public class GqlvAction
     public GqlvAction(
             final Holder holder,
             final ObjectAction objectAction,
-            final Context context
-            ) {
+            final Context context) {
         super(holder, objectAction, context);
 
         this.gqlObjectTypeBuilder = 
newObject().name(TypeNames.actionTypeNameFor(holder.getObjectSpecification(), 
objectAction));
 
-        this.hidden = new GqlvMemberHidden(this, context);
-        this.disabled = new GqlvMemberDisabled(this, context);
+        this.hidden = new GqlvMemberHidden<>(this, context);
+        this.disabled = new GqlvMemberDisabled<>(this, context);
         this.validate = new GqlvActionValidate(this, context);
         this.invoke = new GqlvActionInvoke(this, context);
         val params = new GqlvActionParams(this, context);
@@ -158,10 +157,10 @@ public class GqlvAction
     }
 
     static <T> T evaluate(
-            ObjectActionProvider holder,
-            Context context,
-            DataFetchingEnvironment dataFetchingEnvironment,
-            Evaluator<T, ObjectAction> evaluator) {
+            final ObjectActionProvider holder,
+            final Context context,
+            final DataFetchingEnvironment dataFetchingEnvironment,
+            final Evaluator<T, ObjectAction> evaluator) {
 
         val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
 
@@ -180,10 +179,10 @@ public class GqlvAction
     }
 
     static <T> T evaluate(
-            ObjectActionParameterProvider holder,
-            Context context,
-            DataFetchingEnvironment dataFetchingEnvironment,
-            Evaluator<T, ObjectActionParameter> evaluator) {
+            final ObjectActionParameterProvider holder,
+            final Context context,
+            final DataFetchingEnvironment dataFetchingEnvironment,
+            final Evaluator<T, ObjectActionParameter> evaluator) {
 
         val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
 
@@ -199,7 +198,7 @@ public class GqlvAction
 
         val objectActionParameter = 
objectAction.getParameterById(holder.getObjectActionParameter().getId());
 
-        final Can<ManagedObject> argumentManagedObjects = 
argumentManagedObjectsFor(dataFetchingEnvironment, objectAction, 
context.bookmarkService);
+        val argumentManagedObjects = 
argumentManagedObjectsFor(dataFetchingEnvironment, objectAction, 
context.bookmarkService);
 
         return evaluator.evaluate(actionInteractionHead, 
objectActionParameter, argumentManagedObjects);
     }
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 6193442a0d..fc2af7a8ff 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
@@ -135,7 +135,6 @@ public class GqlvActionInvoke {
 
     private Object invoke(final DataFetchingEnvironment 
dataFetchingEnvironment) {
 
-
         val evaluator = new Evaluator<Object, ObjectAction>(null) {
             @Override
             public Object evaluate(ActionInteractionHead head, ObjectAction 
objectAction, final Can<ManagedObject> argumentManagedObjects) {
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociation.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociation.java
index 630e9dccf7..aff32ff15a 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociation.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociation.java
@@ -52,8 +52,7 @@ public abstract class GqlvAssociation<T extends 
ObjectAssociation, H extends Gql
         return getObjectMember();
     }
 
-    public interface Holder extends GqlvMember.Holder {
-
-        ObjectSpecification getObjectSpecification();
+    public interface Holder
+            extends GqlvMember.Holder {
     }
 }
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociationGet.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociationGet.java
index 948c8e7989..496c39edc7 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociationGet.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociationGet.java
@@ -86,8 +86,7 @@ public abstract class GqlvAssociationGet<T extends 
ObjectAssociation> {
 
     Object get(final DataFetchingEnvironment dataFetchingEnvironment) {
 
-        val association = holder.getObjectAssociation();
-
+        // TODO: introduce evaluator
         val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
 
         val sourcePojoClass = sourcePojo.getClass();
@@ -97,6 +96,7 @@ public abstract class GqlvAssociationGet<T extends 
ObjectAssociation> {
             return null;
         }
 
+        val association = holder.getObjectAssociation();
         val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
         val resultManagedObject = association.get(managedObject);
 
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvCollection.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvCollection.java
index 8c2fdb0059..42fe77b0a0 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvCollection.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvCollection.java
@@ -31,12 +31,16 @@ import graphql.schema.GraphQLObjectType;
 import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
 import static graphql.schema.GraphQLObjectType.newObject;
 
-public class GqlvCollection extends GqlvAssociation<OneToManyAssociation, 
GqlvCollection.Holder> implements GqlvCollectionGet.Holder, 
GqlvMemberHidden.Holder, GqlvMemberDisabled.Holder {
+public class GqlvCollection
+        extends GqlvAssociation<OneToManyAssociation, GqlvCollection.Holder>
+        implements GqlvCollectionGet.Holder,
+                   GqlvMemberHidden.Holder<OneToManyAssociation>,
+                   GqlvMemberDisabled.Holder<OneToManyAssociation> {
 
     private final GraphQLObjectType.Builder gqlObjectTypeBuilder;
     private final GraphQLObjectType gqlObjectType;
-    private final GqlvMemberHidden hidden;
-    private final GqlvMemberDisabled disabled;
+    private final GqlvMemberHidden<OneToManyAssociation> hidden;
+    private final GqlvMemberDisabled<OneToManyAssociation> disabled;
     private final GqlvCollectionGet get;
 
     public GqlvCollection(
@@ -48,7 +52,7 @@ public class GqlvCollection extends 
GqlvAssociation<OneToManyAssociation, GqlvCo
         this.gqlObjectTypeBuilder = 
newObject().name(TypeNames.collectionTypeNameFor(holder.getObjectSpecification(),
 oneToManyAssociation));
 
         this.hidden = new GqlvMemberHidden(this, context);
-        this.disabled = new GqlvMemberDisabled(this, context);
+        this.disabled = new GqlvMemberDisabled<>(this, context);
         this.get = new GqlvCollectionGet(this, context);
 
         this.gqlObjectType = gqlObjectTypeBuilder.build();
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvCollectionGet.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvCollectionGet.java
index 3a220f3129..82b4b1452f 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvCollectionGet.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvCollectionGet.java
@@ -44,7 +44,8 @@ public class GqlvCollectionGet extends 
GqlvAssociationGet<OneToManyAssociation>
         return TypeMapper.listTypeForElementTypeOf(oneToManyAssociation);
     }
 
-    public interface Holder extends 
GqlvAssociationGet.Holder<OneToManyAssociation> {
-
+    public interface Holder
+            extends GqlvAssociationGet.Holder<OneToManyAssociation> {
+        OneToManyAssociation getOneToManyAssociation();
     }
 }
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java
index 987cb52f28..d979a67276 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java
@@ -63,9 +63,9 @@ public abstract class GqlvMember<T extends ObjectMember, H 
extends GqlvMember.Ho
         return objectMember.getFeatureIdentifier().getFullIdentityString();
     }
 
-    public static interface Holder extends GqlvHolder {
-
-        ObjectSpecification getObjectSpecification();
+    public interface Holder
+            extends GqlvHolder,
+                    ObjectSpecificationProvider{
 
     }
 }
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberDisabled.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberDisabled.java
index b91ce4686c..fdba6fa846 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberDisabled.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberDisabled.java
@@ -34,14 +34,14 @@ import graphql.schema.GraphQLFieldDefinition;
 import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
 
 @Log4j2
-public class GqlvMemberDisabled {
+public class GqlvMemberDisabled<T extends ObjectMember> {
 
-    private final Holder holder;
+    private final Holder<T> holder;
     private final Context context;
     private final GraphQLFieldDefinition field;
 
     public GqlvMemberDisabled(
-            final Holder holder,
+            final Holder<T> holder,
             final Context context
     ) {
         this.holder = holder;
@@ -71,30 +71,25 @@ public class GqlvMemberDisabled {
     private String disabled(
             final DataFetchingEnvironment dataFetchingEnvironment) {
 
-        final ObjectMember objectMember = holder.getObjectMember();
-
         val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
 
         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')", sourcePojoClass.getName());
         }
 
+        val objectMember = holder.getObjectMember();
         val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
 
         val usable = objectMember.isUsable(managedObject, 
InteractionInitiatedBy.USER, Where.ANYWHERE);
         return usable.getReasonAsString().orElse(null);
     }
 
-    public interface Holder
+    public interface Holder<T extends ObjectMember>
             extends GqlvHolder,
-                    ObjectSpecificationProvider{
-
-        ObjectSpecification getObjectSpecification();
-
-        ObjectMember getObjectMember();
+                    ObjectSpecificationProvider,
+                    ObjectMemberProvider<T> {
     }
 }
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberHidden.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberHidden.java
index f47b224336..facdd8e7f0 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberHidden.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberHidden.java
@@ -25,6 +25,8 @@ import 
org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectMember;
 import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
 
+import org.springframework.beans.factory.ObjectProvider;
+
 import lombok.val;
 import lombok.extern.log4j.Log4j2;
 
@@ -34,14 +36,14 @@ import graphql.schema.GraphQLFieldDefinition;
 import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
 
 @Log4j2
-public class GqlvMemberHidden {
+public class GqlvMemberHidden<T extends ObjectMember> {
 
-    private final Holder holder;
+    private final Holder<T> holder;
     private final Context context;
     private final GraphQLFieldDefinition field;
 
     public GqlvMemberHidden(
-            final Holder holder,
+            final Holder<T> holder,
             final Context context
     ) {
         this.holder = holder;
@@ -49,7 +51,7 @@ public class GqlvMemberHidden {
         this.field = fieldDefinition(holder);
     }
 
-    private static GraphQLFieldDefinition fieldDefinition(final Holder holder) 
{
+    private static <T extends ObjectMember> GraphQLFieldDefinition 
fieldDefinition(final Holder<T> holder) {
 
         GraphQLFieldDefinition fieldDefinition =
                 newFieldDefinition()
@@ -71,28 +73,29 @@ public class GqlvMemberHidden {
     private boolean hidden(
             final DataFetchingEnvironment dataFetchingEnvironment) {
 
-        val objectMember = holder.getObjectMember();
+        // TODO: introduce Evaluator
+
 
         val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
 
         val sourcePojoClass = sourcePojo.getClass();
-        val specificationLoader = 
holder.getObjectMember().getSpecificationLoader();
-        val objectSpecification = 
specificationLoader.loadSpecification(sourcePojoClass);
+        val objectSpecification = 
context.specificationLoader.loadSpecification(sourcePojoClass);
         if (objectSpecification == null) {
             // not expected
             return true;
         }
 
+        val objectMember = holder.getObjectMember();
         val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
 
         val visibleConsent = objectMember.isVisible(managedObject, 
InteractionInitiatedBy.USER, Where.ANYWHERE);
         return visibleConsent.isVetoed();
     }
 
-    public interface Holder extends GqlvHolder {
-
-        ObjectSpecification getObjectSpecification();
+    public interface Holder<T extends ObjectMember>
+            extends GqlvHolder,
+                    ObjectSpecificationProvider,
+                    ObjectMemberProvider<T> {
 
-        ObjectMember getObjectMember();
     }
 }
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvProperty.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvProperty.java
index 9ac47e791a..499b19d190 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvProperty.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvProperty.java
@@ -32,16 +32,16 @@ import static graphql.schema.GraphQLObjectType.newObject;
 
 public class GqlvProperty
         extends GqlvAssociation<OneToOneAssociation, GqlvProperty.Holder>
-        implements GqlvMemberHidden.Holder,
-        GqlvMemberDisabled.Holder,
-        GqlvPropertyGet.Holder,
-        GqlvPropertySet.Holder,
-        GqlvPropertyValidate.Holder {
+        implements GqlvMemberHidden.Holder<OneToOneAssociation>,
+                   GqlvMemberDisabled.Holder<OneToOneAssociation>,
+                   GqlvPropertyGet.Holder,
+                   GqlvPropertySet.Holder,
+                   GqlvPropertyValidate.Holder {
 
     private final GraphQLObjectType.Builder gqlObjectTypeBuilder;
     private final GraphQLObjectType gqlObjectType;
-    private final GqlvMemberHidden hidden;
-    private final GqlvMemberDisabled disabled;
+    private final GqlvMemberHidden<OneToOneAssociation> hidden;
+    private final GqlvMemberDisabled<OneToOneAssociation> disabled;
     private final GqlvPropertyGet get;
     private final GqlvPropertySet set;
     private final GqlvPropertyValidate validate;
@@ -55,7 +55,7 @@ public class GqlvProperty
         this.gqlObjectTypeBuilder = 
newObject().name(TypeNames.propertyTypeNameFor(this.holder.getObjectSpecification(),
 oneToOneAssociation));
 
         this.hidden = new GqlvMemberHidden(this, context);
-        this.disabled = new GqlvMemberDisabled(this, context);
+        this.disabled = new GqlvMemberDisabled<>(this, context);
         this.get = new GqlvPropertyGet(this, context);
         this.set = new GqlvPropertySet(this, context);
         this.validate = new GqlvPropertyValidate(this, context);
@@ -123,7 +123,7 @@ public class GqlvProperty
     }
 
 
-    public interface Holder extends GqlvAssociation.Holder {
-
+    public interface Holder
+            extends GqlvAssociation.Holder {
     }
 }

Reply via email to