You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2020/06/04 13:46:22 UTC

[isis] branch master updated: ISIS-2371: cleaning up ManagedObject class (move utilities)

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

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new c879188  ISIS-2371: cleaning up ManagedObject class (move utilities)
c879188 is described below

commit c879188976a29f1eed01790ad79102b3f426ca5a
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Jun 4 15:17:31 2020 +0200

    ISIS-2371: cleaning up ManagedObject class (move utilities)
---
 .../metamodel/interactions/InteractionUtils.java   |  5 ++---
 .../isis/core/metamodel/spec/ManagedObject.java    | 24 +++++++++++++---------
 .../specloader/specimpl/ObjectActionDefault.java   |  4 +++-
 .../specimpl/OneToOneAssociationDefault.java       |  4 +++-
 .../specimpl/OneToOneAssociationMixedIn.java       |  5 -----
 .../viewer/wicket/ui/pages/entity/EntityPage.java  |  5 ++---
 6 files changed, 24 insertions(+), 23 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionUtils.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionUtils.java
index 3799826..fa14f23 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionUtils.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionUtils.java
@@ -25,11 +25,10 @@ import org.apache.isis.core.metamodel.consent.InteractionResultSet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacet;
 
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
 import lombok.val;
+import lombok.experimental.UtilityClass;
 
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
+@UtilityClass
 public final class InteractionUtils {
 
     public static InteractionResult isVisibleResult(FacetHolder facetHolder, VisibilityContext context) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java
index aa7b61c..952e891 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java
@@ -347,6 +347,17 @@ public interface ManagedObject {
 
 
     // -- VISIBILITY UTILITIES
+    
+    default public VisibilityContext createVisibleInteractionContext(
+            final InteractionInitiatedBy interactionInitiatedBy,
+            final Where where) {
+        
+        return new ObjectVisibilityContext(
+                this,
+                this.getSpecification().getIdentifier(),
+                interactionInitiatedBy,
+                where);
+    }
 
     @Deprecated // move to ManagedObjects
     @NoArgsConstructor(access = AccessLevel.PRIVATE)
@@ -425,21 +436,14 @@ public interface ManagedObject {
         }
 
         private static boolean isVisibleForUser(ManagedObject adapter) {
-            val visibilityContext = createVisibleInteractionContextForUser(adapter);
+            val visibilityContext = adapter.createVisibleInteractionContext(
+                    InteractionInitiatedBy.USER,
+                    Where.OBJECT_FORMS);
             val spec = adapter.getSpecification();
             return InteractionUtils.isVisibleResult(spec, visibilityContext)
                     .isNotVetoing();
         }
 
-        private static VisibilityContext createVisibleInteractionContextForUser(
-                ManagedObject adapter) {
-
-            return new ObjectVisibilityContext(
-                    adapter,
-                    adapter.getSpecification().getIdentifier(),
-                    InteractionInitiatedBy.USER,
-                    Where.OBJECT_FORMS);
-        }
     }
 
     // -- INVOCATION UTILITY
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java
index 913dd32..6e5727d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java
@@ -70,7 +70,9 @@ import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
 import lombok.NonNull;
 import lombok.val;
 
-public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectAction {
+public class ObjectActionDefault 
+extends ObjectMemberAbstract 
+implements ObjectAction {
 
     public static ActionType getType(final String typeStr) {
         final ActionType type = ActionType.valueOf(typeStr);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationDefault.java
index 72725c1..7861fc2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationDefault.java
@@ -56,7 +56,9 @@ import org.apache.isis.schema.cmd.v2.CommandDto;
 
 import lombok.val;
 
-public class OneToOneAssociationDefault extends ObjectAssociationAbstract implements OneToOneAssociation {
+public class OneToOneAssociationDefault 
+extends ObjectAssociationAbstract 
+implements OneToOneAssociation {
 
     public OneToOneAssociationDefault(final FacetedMethod facetedMethod) {
         this(facetedMethod, facetedMethod.getMetaModelContext()
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationMixedIn.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationMixedIn.java
index 64264c0..5fd240e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationMixedIn.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationMixedIn.java
@@ -23,7 +23,6 @@ import java.util.List;
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.core.commons.collections.Can;
-import org.apache.isis.core.commons.internal.assertions._Assert;
 import org.apache.isis.core.commons.internal.base._Strings;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -140,10 +139,6 @@ public class OneToOneAssociationMixedIn extends OneToOneAssociationDefault imple
 
         val head = headFor(mixedInAdapter);
         
-        val mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
-        _Assert.assertEquals(mixedInAdapter, head.getMixedIn().orElse(null));
-        
-
         return getPublisherDispatchService().withPublishingSuppressed(
                 () -> mixinAction.executeInternal(head, Can.empty(), interactionInitiatedBy)
         );
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
index bb41432..e439c08 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
@@ -41,8 +41,8 @@ import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
 import org.apache.isis.core.webapp.context.IsisWebAppCommonContext;
 import org.apache.isis.viewer.wicket.model.common.PageParametersUtils;
 import org.apache.isis.viewer.wicket.model.hints.UiHintContainer;
-import org.apache.isis.viewer.wicket.model.models.EntityModel;
 import org.apache.isis.viewer.wicket.model.modelhelpers.WhereAmIHelper;
+import org.apache.isis.viewer.wicket.model.models.EntityModel;
 import org.apache.isis.viewer.wicket.ui.ComponentType;
 import org.apache.isis.viewer.wicket.ui.components.entity.icontitle.EntityIconAndTitlePanel;
 import org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel;
@@ -51,13 +51,12 @@ import org.apache.isis.viewer.wicket.ui.pages.PageAbstract;
 import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
 
 import lombok.val;
-import lombok.extern.log4j.Log4j2;
 
 /**
  * Web page representing an entity.
  */
 @AuthorizeInstantiation("org.apache.isis.viewer.wicket.roles.USER")
-@Log4j2
+//@Log4j2
 public class EntityPage extends PageAbstract {
 
     private static final long serialVersionUID = 144368606134796079L;