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 2021/03/07 07:19:13 UTC

[isis] branch master updated: ISIS-2553: remove SpecificationLoader.loadSpecification(LogicalType)

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 b589eb0  ISIS-2553: remove SpecificationLoader.loadSpecification(LogicalType)
b589eb0 is described below

commit b589eb008059e217231c5a50d706c0114246e638
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Mar 7 08:19:02 2021 +0100

    ISIS-2553: remove SpecificationLoader.loadSpecification(LogicalType)
---
 .../isis/core/metamodel/specloader/SpecificationLoader.java    |  6 ------
 .../apache/isis/viewer/wicket/model/links/LinkAndLabel.java    | 10 +++++-----
 .../viewer/services/mementos/ObjectMementoServiceWicket.java   |  6 ++++--
 3 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
index a8df5e7..04c08bc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
@@ -203,10 +203,4 @@ public interface SpecificationLoader {
         return loadSpecification(domainType, IntrospectionState.TYPE_INTROSPECTED);
     }
     
-    @Nullable
-    default ObjectSpecification loadSpecification(
-            final @Nullable LogicalType logicalType) {
-        return loadSpecification(logicalType.getCorrespondingClass(), IntrospectionState.TYPE_INTROSPECTED);
-    }
-    
 }
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
index dd1acb4..3453823 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
@@ -96,11 +96,11 @@ public final class LinkAndLabel extends LinkAndLabelAbstract {
 
         private Object readResolve() {
             val commonContext = CommonContextUtils.getCommonContext();
-            val actionHolderSpec = commonContext.getSpecificationLoader().loadSpecification(actionHolderLogicalType);
-            val objectMember = actionHolderSpec
-                    .getMember(objectActionId)
-                    .orElseThrow(()->
-                        _Exceptions.noSuchElement("could not restore objectAction from id %s", objectActionId));
+            val objectMember = commonContext.getSpecificationLoader()
+            .specForLogicalType(actionHolderLogicalType)
+            .flatMap(actionHolderSpec->actionHolderSpec.getMember(objectActionId))
+            .orElseThrow(()->
+                _Exceptions.noSuchElement("could not restore objectAction from id %s", objectActionId));
             return new LinkAndLabel(uiComponentFactory, named, actionHolder, (ObjectAction) objectMember);
         }
     }
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoServiceWicket.java b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoServiceWicket.java
index 6f046ae..58021cd 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoServiceWicket.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoServiceWicket.java
@@ -130,8 +130,10 @@ public class ObjectMementoServiceWicket implements ObjectMementoService {
         if(memento instanceof ObjectMementoForEmpty) {
             val objectMementoForEmpty = (ObjectMementoForEmpty) memento;
             val logicalType = objectMementoForEmpty.getLogicalType();
-            val spec = specificationLoader.loadSpecification(logicalType);
-            return ManagedObject.empty(spec);
+            val spec = specificationLoader.specForLogicalType(logicalType);
+            return spec.isPresent()
+                    ? ManagedObject.empty(spec.get())
+                    : ManagedObject.unspecified();
         }
         
         if(memento instanceof ObjectMementoCollection) {