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 2018/09/28 20:16:15 UTC

[isis] 01/02: ISIS-1976: minor: move static ElementSpecificationProvider factory from facet to the interface itself

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

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

commit f6c1f181af447d0ec51bad21366033c10df6fae1
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Sep 28 21:05:17 2018 +0200

    ISIS-1976: minor: move static ElementSpecificationProvider factory from
    facet to the interface itself
    
    Task-Url: https://issues.apache.org/jira/browse/ISIS-1976
---
 .../typeof/ElementSpecificationProviderFromTypeOfFacet.java  |  8 --------
 .../ActionInvocationFacetForDomainEventAbstract.java         |  4 ++--
 .../collections/javautilcollection/JavaArrayFacet.java       |  3 ---
 .../core/metamodel/spec/ElementSpecificationProvider.java    | 12 ++++++++++++
 .../isis/core/metamodel/spec/feature/ObjectAction.java       |  1 -
 .../adaptermanager/ObjectAdapterContext_Factories.java       |  4 ++--
 .../wicket/ui/actionresponse/ActionResultResponseType.java   |  9 +++++----
 7 files changed, 21 insertions(+), 20 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actcoll/typeof/ElementSpecificationProviderFromTypeOfFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actcoll/typeof/ElementSpecificationProviderFromTypeOfFacet.java
index a99d448..96adc23 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actcoll/typeof/ElementSpecificationProviderFromTypeOfFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actcoll/typeof/ElementSpecificationProviderFromTypeOfFacet.java
@@ -21,14 +21,6 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 
 public class ElementSpecificationProviderFromTypeOfFacet implements ElementSpecificationProvider {
 
-    public static ElementSpecificationProvider createFrom(final TypeOfFacet typeOfFacet) {
-        if (typeOfFacet == null) {
-            return null;
-        }
-        final ObjectSpecification spec = typeOfFacet.valueSpec();
-        return new ElementSpecificationProviderFromTypeOfFacet(spec);
-    }
-
     private final ObjectSpecification spec;
 
     public ElementSpecificationProviderFromTypeOfFacet(final ObjectSpecification spec) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
index 01c7cca..871e667 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
@@ -71,7 +71,6 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.CollectionUtils;
 import org.apache.isis.core.metamodel.facets.DomainEventHelper;
 import org.apache.isis.core.metamodel.facets.ImperativeFacet;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.ElementSpecificationProviderFromTypeOfFacet;
 import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
 import org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet;
 import org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacet;
@@ -81,6 +80,7 @@ import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.services.ixn.InteractionDtoServiceInternal;
 import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
 import org.apache.isis.core.metamodel.services.publishing.PublishingServiceInternal;
+import org.apache.isis.core.metamodel.spec.ElementSpecificationProvider;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
@@ -425,7 +425,7 @@ implements ImperativeFacet {
 
         // copy over TypeOfFacet if required
         final TypeOfFacet typeOfFacet = getFacetHolder().getFacet(TypeOfFacet.class);
-        clonedAdapter.setElementSpecificationProvider(ElementSpecificationProviderFromTypeOfFacet.createFrom(typeOfFacet));
+        clonedAdapter.setElementSpecificationProvider(ElementSpecificationProvider.of(typeOfFacet));
 
         return clonedAdapter;
     }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/javautilcollection/JavaArrayFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/javautilcollection/JavaArrayFacet.java
index a99e414..5fcec93 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/javautilcollection/JavaArrayFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/javautilcollection/JavaArrayFacet.java
@@ -22,9 +22,6 @@ package org.apache.isis.core.metamodel.facets.collections.javautilcollection;
 import static org.apache.isis.commons.internal.base._NullSafe.isEmpty;
 import static org.apache.isis.commons.internal.collections._Arrays.toArray;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
 import java.util.stream.Stream;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ElementSpecificationProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ElementSpecificationProvider.java
index b159907..44e43e3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ElementSpecificationProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ElementSpecificationProvider.java
@@ -16,6 +16,9 @@
  */
 package org.apache.isis.core.metamodel.spec;
 
+import org.apache.isis.core.metamodel.facets.actcoll.typeof.ElementSpecificationProviderFromTypeOfFacet;
+import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
+
 /**
  * A mechanism to provide the {@link ObjectSpecification type} of a
  * (stand-alone) collection.
@@ -27,4 +30,13 @@ package org.apache.isis.core.metamodel.spec;
 public interface ElementSpecificationProvider {
 
     public ObjectSpecification getElementType();
+    
+    /** for convenience */
+    public static ElementSpecificationProvider of(final TypeOfFacet typeOfFacet) {
+        if (typeOfFacet == null) {
+            return null;
+        }
+        final ObjectSpecification spec = typeOfFacet.valueSpec();
+        return new ElementSpecificationProviderFromTypeOfFacet(spec);
+    }
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
index 23a8af0..2de9176 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
@@ -42,7 +42,6 @@ import org.apache.isis.core.metamodel.consent.Consent;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.facets.actions.action.associateWith.AssociatedWithFacet;
-import org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet;
 import org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet;
 import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
 import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_Factories.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_Factories.java
index fffc74f..8a99b90 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_Factories.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_Factories.java
@@ -24,8 +24,8 @@ import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.adapter.oid.ParentedOid;
 import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.ElementSpecificationProviderFromTypeOfFacet;
 import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
+import org.apache.isis.core.metamodel.spec.ElementSpecificationProvider;
 import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.runtime.persistence.adapter.PojoAdapter;
@@ -83,7 +83,7 @@ class ObjectAdapterContext_Factories implements ObjectAdapterFactories {
         // the adapter
         // to look this up on the fly?]
         final TypeOfFacet facet = otma.getFacet(TypeOfFacet.class);
-        collectionAdapter.setElementSpecificationProvider(ElementSpecificationProviderFromTypeOfFacet.createFrom(facet));
+        collectionAdapter.setElementSpecificationProvider(ElementSpecificationProvider.of(facet));
 
         return collectionAdapter;
     }
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseType.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseType.java
index 70536dd..4f367be 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseType.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseType.java
@@ -30,9 +30,9 @@ import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.concurrency.ConcurrencyChecking;
 import org.apache.isis.core.metamodel.adapter.version.ConcurrencyException;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.ElementSpecificationProviderFromTypeOfFacet;
 import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
 import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
+import org.apache.isis.core.metamodel.spec.ElementSpecificationProvider;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.runtime.system.context.IsisContext;
 import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
@@ -63,10 +63,11 @@ public enum ActionResultResponseType {
         @Override
         public ActionResultResponse interpretResult(final ActionModel actionModel, final AjaxRequestTarget target, final ObjectAdapter resultAdapter) {
             if(resultAdapter.getElementSpecification() == null) {
-                final TypeOfFacet typeOfFacet = actionModel.getActionMemento().getAction(IsisContext.getSessionFactory().getSpecificationLoader()).getFacet(
-                        TypeOfFacet.class);
+                final TypeOfFacet typeOfFacet = actionModel.getActionMemento()
+                        .getAction(IsisContext.getSessionFactory().getSpecificationLoader())
+                        .getFacet(TypeOfFacet.class);
                 if (typeOfFacet != null) {
-                    resultAdapter.setElementSpecificationProvider(new ElementSpecificationProviderFromTypeOfFacet(typeOfFacet.valueSpec()));
+                    resultAdapter.setElementSpecificationProvider(ElementSpecificationProvider.of(typeOfFacet));
                 }
             }