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 13:58:46 UTC
[isis] 04/07: ISIS-1976: minor: simplify OA for viewmodel creation
when via mamentoString
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 c18fb53ae08d68cd8399d96f26d92590455e5804
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Sep 28 11:07:11 2018 +0200
ISIS-1976: minor: simplify OA for viewmodel creation when via
mamentoString
Task-Url: https://issues.apache.org/jira/browse/ISIS-1976
---
.../isis/core/metamodel/adapter/ObjectAdapterProvider.java | 12 +++---------
...ecreatableObjectFacetDeclarativeInitializingAbstract.java | 7 +------
.../persistence/adaptermanager/ObjectAdapterContext.java | 6 +++---
.../ObjectAdapterContext_ObjectAdapterProvider.java | 5 ++---
4 files changed, 9 insertions(+), 21 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ObjectAdapterProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ObjectAdapterProvider.java
index 4edfbee..8ed331c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ObjectAdapterProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ObjectAdapterProvider.java
@@ -21,14 +21,12 @@ package org.apache.isis.core.metamodel.adapter;
import static org.apache.isis.commons.internal.base._With.mapIfPresentElse;
import java.util.List;
-import java.util.function.Function;
import javax.annotation.Nullable;
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.core.metamodel.adapter.oid.Oid;
import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
@@ -78,9 +76,7 @@ public interface ObjectAdapterProvider {
ObjectSpecification specificationForViewModel(Object viewModelPojo);
- ObjectAdapter adapterForViewModel(
- Object viewModelPojo,
- Function<ObjectSpecId, RootOid> rootOidFactory);
+ ObjectAdapter adapterForViewModel(Object viewModelPojo, String mementoStr);
// -- DOMAIN OBJECT CREATION SUPPORT
@@ -138,10 +134,8 @@ public interface ObjectAdapterProvider {
}
@Programmatic
- default ObjectAdapter adapterForViewModel(
- final Object viewModelPojo,
- final Function<ObjectSpecId, RootOid> rootOidFactory) {
- return getObjectAdapterProvider().adapterForViewModel(viewModelPojo, rootOidFactory);
+ default ObjectAdapter adapterForViewModel(final Object viewModelPojo, final String mementoString) {
+ return getObjectAdapterProvider().adapterForViewModel(viewModelPojo, mementoString);
}
@Programmatic
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetDeclarativeInitializingAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetDeclarativeInitializingAbstract.java
index edcf474..0c74be9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetDeclarativeInitializingAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetDeclarativeInitializingAbstract.java
@@ -27,13 +27,11 @@ import org.apache.isis.commons.internal.memento._Mementos;
import org.apache.isis.commons.internal.memento._Mementos.SerializingAdapter;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.ObjectAdapterProvider;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.PostConstructMethodCache;
import org.apache.isis.core.metamodel.facets.properties.update.modify.PropertySetterFacet;
import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
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.OneToOneAssociation;
@@ -65,10 +63,7 @@ extends RecreatableObjectFacetAbstract {
final Set<String> mementoKeys = memento.keySet();
- final ObjectAdapter viewModelAdapter = adapterProvider.adapterForViewModel(
- viewModelPojo,
- (ObjectSpecId objectSpecId)->
- Oid.Factory.viewmodelOf(objectSpecId, mementoStr) );
+ final ObjectAdapter viewModelAdapter = adapterProvider.adapterForViewModel(viewModelPojo, mementoStr);
final ObjectSpecification spec = viewModelAdapter.getSpecification();
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext.java
index 53748ba..b360f00 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext.java
@@ -19,7 +19,6 @@
package org.apache.isis.core.runtime.system.persistence.adaptermanager;
import java.util.Objects;
-import java.util.function.Function;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -254,11 +253,12 @@ final public class ObjectAdapterContext {
// ------------------------------------------------------------------------------------------------
// package private
- ObjectAdapter adapterForViewModel(Object viewModelPojo, Function<ObjectSpecId, RootOid> rootOidFactory) {
+ ObjectAdapter adapterForViewModel(Object viewModelPojo, String mementoString) {
+
final ObjectSpecification objectSpecification =
specificationLoader.loadSpecification(viewModelPojo.getClass());
final ObjectSpecId objectSpecId = objectSpecification.getSpecId();
- final RootOid newRootOid = rootOidFactory.apply(objectSpecId);
+ final RootOid newRootOid = Oid.Factory.viewmodelOf(objectSpecId, mementoString);
final ObjectAdapter viewModelAdapter = recreatePojo(newRootOid, viewModelPojo);
return viewModelAdapter;
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_ObjectAdapterProvider.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_ObjectAdapterProvider.java
index 5f1c1a8..ff4fff2 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_ObjectAdapterProvider.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_ObjectAdapterProvider.java
@@ -22,7 +22,6 @@ import static org.apache.isis.commons.internal.base._With.requires;
import java.util.List;
import java.util.UUID;
-import java.util.function.Function;
import java.util.stream.Collectors;
import org.slf4j.Logger;
@@ -120,8 +119,8 @@ class ObjectAdapterContext_ObjectAdapterProvider implements ObjectAdapterProvide
}
@Override
- public ObjectAdapter adapterForViewModel(Object viewModelPojo, Function<ObjectSpecId, RootOid> rootOidFactory) {
- return objectAdapterContext.adapterForViewModel(viewModelPojo, rootOidFactory);
+ public ObjectAdapter adapterForViewModel(Object viewModelPojo, String mementoString) {
+ return objectAdapterContext.adapterForViewModel(viewModelPojo, mementoString);
}
// -- DOMAIN OBJECT CREATION SUPPORT