This is an automated email from the ASF dual-hosted git repository. ahuber pushed a commit to branch ISIS-1976-rethink-object-adapters in repository https://gitbox.apache.org/repos/asf/isis.git
commit 1f5520f43c39be8f55d43f6ea22b7020765e374b Author: Andi Huber <ahu...@apache.org> AuthorDate: Wed Sep 5 15:56:32 2018 +0200 ISIS-1976: removing ObjectAdapter.replacePojo(Object pojo) also cleaning up Task-Url: https://issues.apache.org/jira/browse/ISIS-1976 --- .../apache/isis/core/metamodel/adapter/ObjectAdapter.java | 13 ------------- .../facets/actions/action/invocation/CommandUtil.java | 2 +- .../collections/javautilcollection/JavaArrayFacet.java | 3 ++- .../collections/javautilcollection/JavaCollectionFacet.java | 9 +++++---- .../facets/collections/modify/CollectionFacet.java | 3 ++- .../specloader/specimpl/OneToOneAssociationDefault.java | 2 +- .../standalonelist/CollectionFacetOnStandaloneList.java | 3 ++- .../viewer/wicket/model/mementos/ObjectAdapterMemento.java | 2 +- .../viewer/wicket/model/models/EntityCollectionModel.java | 2 +- 9 files changed, 15 insertions(+), 24 deletions(-) diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ObjectAdapter.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ObjectAdapter.java index 48b4745..fc67020 100644 --- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ObjectAdapter.java +++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ObjectAdapter.java @@ -469,19 +469,6 @@ public interface ObjectAdapter extends Instance { return Util::unwrap; } - public static Function<Object, ObjectAdapter> adapterForUsing(final ObjectAdapterProvider adapterProvider) { - return adapterProvider::adapterFor; - } - - @Deprecated - public static com.google.common.base.Function<Object, ObjectAdapter> adapter_ForUsing(final ObjectAdapterProvider adapterProvider) { - return new com.google.common.base.Function<Object, ObjectAdapter>() { - @Override - public ObjectAdapter apply(final Object pojo) { - return adapterProvider.adapterFor(pojo); - } - }; - } } /** diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/CommandUtil.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/CommandUtil.java index aea2939..f0f9112 100644 --- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/CommandUtil.java +++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/CommandUtil.java @@ -103,7 +103,7 @@ public class CommandUtil { public static ObjectAdapter[] adaptersFor(final Object[] args, final ObjectAdapterProvider adapterProvider) { return _NullSafe.stream(args) - .map(ObjectAdapter.Functions.adapterForUsing(adapterProvider)) + .map(adapterProvider::adapterFor) .collect(_Arrays.toArray(ObjectAdapter.class, _NullSafe.size(args))); } 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 315027c..94ffea2 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 @@ -43,13 +43,14 @@ public class JavaArrayFacet extends CollectionFacetAbstract { * Expected to be called with a {@link ObjectAdapter} wrapping an array. */ @Override - public void init(final ObjectAdapter arrayAdapter, final ObjectAdapter[] initData) { + public ObjectAdapter init(final ObjectAdapter arrayAdapter, final ObjectAdapter[] initData) { final int length = initData.length; final Object[] array = new Object[length]; for (int i = 0; i < length; i++) { array[i] = initData[i].getObject(); } arrayAdapter.friend().replacePojo(array); + return arrayAdapter; } /** diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/javautilcollection/JavaCollectionFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/javautilcollection/JavaCollectionFacet.java index 84360f9..a1fe10d 100644 --- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/javautilcollection/JavaCollectionFacet.java +++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/javautilcollection/JavaCollectionFacet.java @@ -21,10 +21,10 @@ package org.apache.isis.core.metamodel.facets.collections.javautilcollection; import java.util.Collection; import java.util.Iterator; +import java.util.function.Function; import com.google.common.collect.Collections2; -import org.apache.isis.commons.internal.base._NullSafe; import org.apache.isis.core.metamodel.adapter.ObjectAdapter; import org.apache.isis.core.metamodel.adapter.ObjectAdapterProvider; import org.apache.isis.core.metamodel.facetapi.FacetHolder; @@ -40,13 +40,14 @@ public class JavaCollectionFacet extends CollectionFacetAbstract { } @Override - public void init(final ObjectAdapter collection, final ObjectAdapter[] initData) { + public ObjectAdapter init(final ObjectAdapter collection, final ObjectAdapter[] initData) { final Collection<? super Object> pojoCollection = pojoCollection(collection); pojoCollection.clear(); for (final ObjectAdapter element : initData) { final Object pojo = element.getObject(); pojoCollection.add(pojo); } + return collection; } @Override @@ -55,8 +56,8 @@ public class JavaCollectionFacet extends CollectionFacetAbstract { //TODO [ahuber] java doc states, this is a live view, don't know if this is needed, // or if a copy is sufficient - return Collections2.transform(pojoCollection, - ObjectAdapter.Functions.adapter_ForUsing(getObjectAdapterProvider())); + return Collections2.transform(pojoCollection, adapterProvider::adapterFor); + } @Override diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionFacet.java index 97d3798..fb6019f 100644 --- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionFacet.java +++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionFacet.java @@ -56,8 +56,9 @@ public interface CollectionFacet extends Facet { /** * Set the contents of this collection. + * @return a possibly new instance */ - void init(ObjectAdapter collectionAdapter, ObjectAdapter[] elements); + ObjectAdapter init(ObjectAdapter collectionAdapter, ObjectAdapter[] elements); /** * Convenience method that returns the {@link TypeOfFacet} on this facet's 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 bd313fa..7418bda 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 @@ -272,7 +272,7 @@ public class OneToOneAssociationDefault extends ObjectAssociationAbstract implem getSpecificationLoader(), interactionInitiatedBy); List<ObjectAdapter> adapters = _NullSafe.stream(pojoOptions) - .map( ObjectAdapter.Functions.adapterForUsing( getObjectAdapterProvider() ) ) + .map( getObjectAdapterProvider()::adapterFor ) .collect(Collectors.toList()); return adapters.toArray(new ObjectAdapter[]{}); } diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/standalonelist/CollectionFacetOnStandaloneList.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/standalonelist/CollectionFacetOnStandaloneList.java index cca3801..e03fda9 100644 --- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/standalonelist/CollectionFacetOnStandaloneList.java +++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/standalonelist/CollectionFacetOnStandaloneList.java @@ -64,7 +64,8 @@ public class CollectionFacetOnStandaloneList extends CollectionFacetAbstract { * Does nothing. */ @Override - public void init(final ObjectAdapter collection, final ObjectAdapter[] initData) { + public ObjectAdapter init(final ObjectAdapter collection, final ObjectAdapter[] initData) { + return collection; } } diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/ObjectAdapterMemento.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/ObjectAdapterMemento.java index f4079cb..243cbac 100644 --- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/ObjectAdapterMemento.java +++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/ObjectAdapterMemento.java @@ -134,7 +134,7 @@ public class ObjectAdapterMemento implements Serializable { final List<Object> listOfPojos = _Lists.transform(oam.list, Functions.toPojo(persistenceSession, specificationLoader)); - return ObjectAdapter.Functions.adapterForUsing(persistenceSession).apply(listOfPojos); + return persistenceSession.adapterFor(listOfPojos); } @Override diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java index fafc912..5970611 100644 --- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java +++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java @@ -176,7 +176,7 @@ UiHintContainer { final List<ObjectAdapter> adapterList = _Lists.transform(objectList, - ObjectAdapter.Functions.adapterForUsing( entityCollectionModel.getPersistenceSession() )); + entityCollectionModel.getPersistenceSession()::adapterFor); return adapterList; }