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 2019/10/08 12:45:42 UTC
[isis] 02/02: ISIS-2158: major MM refactoring: replace
ObjectAdapter -> ManagedObject
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 350846849076609e642cae7c3bcb2ca1ad54877d
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Oct 8 14:45:29 2019 +0200
ISIS-2158: major MM refactoring: replace ObjectAdapter -> ManagedObject
- in order to decouple the meta-model from the stateful 'ObjectAdapter'
- instead the lightweigth 'ManagedObject' just holds a PoJos and its
ObjectSpecification
---
.../internal/concurrent/_ConcurrentTask.java | 10 +-
.../internal/concurrent/_ConcurrentTaskList.java | 29 +++-
.../isis/config/registry/IsisBeanTypeRegistry.java | 14 +-
.../isis/metamodel/adapter/ObjectAdapter.java | 33 ++--
.../isis/metamodel/facets/DomainEventHelper.java | 2 +-
.../action/invocation/ActionInvocationFacet.java | 12 +-
...ctionInvocationFacetForDomainEventAbstract.java | 63 ++++----
.../actions/action/invocation/CommandUtil.java | 32 ++--
.../actions/defaults/ActionDefaultsFacet.java | 4 +-
.../method/ActionDefaultsFacetViaMethod.java | 3 +-
.../CollectionAccessorFacetViaAccessor.java | 5 +-
.../clear/CollectionClearFacetViaAccessor.java | 3 +-
.../clear/CollectionClearFacetViaClearMethod.java | 3 +-
...ectionAddToFacetForDomainEventFromAbstract.java | 10 +-
...nRemoveFromFacetForDomainEventFromAbstract.java | 10 +-
.../collections/modify/CollectionAddToFacet.java | 4 +-
.../modify/CollectionAddToFacetViaAccessor.java | 7 +-
.../modify/CollectionAddToFacetViaMethod.java | 6 +-
.../collections/modify/CollectionClearFacet.java | 4 +-
.../modify/CollectionRemoveFromFacet.java | 8 +-
.../CollectionRemoveFromFacetViaAccessor.java | 6 +-
.../modify/CollectionRemoveFromFacetViaMethod.java | 6 +-
.../facets/fallback/ActionChoicesFacetNone.java | 6 +-
.../facets/fallback/ActionDefaultsFacetNone.java | 4 +-
.../object/autocomplete/AutoCompleteFacet.java | 4 +-
.../autocomplete/AutoCompleteFacetAbstract.java | 12 +-
.../choices/ChoicesFacetFromBoundedAbstract.java | 4 +-
.../object/choices/enums/ChoicesFacetEnum.java | 4 +-
.../facets/object/encodeable/EncodableFacet.java | 3 +-
.../object/encodeable/EncodableFacetAbstract.java | 3 +-
.../encoder/EncodableFacetUsingEncoderDecoder.java | 3 +-
.../facets/object/parseable/ParseableFacet.java | 5 +-
.../object/parseable/ParseableFacetAbstract.java | 6 +-
.../parser/ParseableFacetUsingParser.java | 8 +-
.../facets/object/projection/ProjectionFacet.java | 3 +-
.../ProjectionFacetFromProjectingProperty.java | 29 ++--
.../CssClassFacetDerivedFromProjectionFacet.java | 7 +-
.../ident/IconFacetDerivedFromProjectionFacet.java | 5 +-
.../TitleFacetDerivedFromProjectionFacet.java | 5 +-
.../facets/objectvalue/choices/ChoicesFacet.java | 4 +-
.../ActionParameterAutoCompleteFacet.java | 4 +-
.../ActionParameterAutoCompleteFacetViaMethod.java | 9 +-
.../facets/param/choices/ActionChoicesFacet.java | 4 +-
.../param/choices/ActionParameterChoicesFacet.java | 6 +-
.../choices/ActionParameterChoicesFacetNone.java | 9 +-
...rameterChoicesFacetDerivedFromChoicesFacet.java | 7 +-
.../method/ActionChoicesFacetViaMethod.java | 9 +-
.../ActionParameterChoicesFacetViaMethod.java | 12 +-
.../defaults/ActionParameterDefaultsFacet.java | 6 +-
...ParameterDefaultFacetDerivedFromTypeFacets.java | 4 +-
.../ActionParameterDefaultsFacetViaMethod.java | 7 +-
.../disable/ActionParameterDisabledFacet.java | 3 +-
.../ActionParameterDisabledFacetViaMethod.java | 3 +-
.../param/hide/ActionParameterHiddenFacet.java | 3 +-
.../ActionParameterHiddenFacetViaMethod.java | 2 +-
.../validate/ActionParameterValidationFacet.java | 3 +-
.../ActionParameterValidationFacetViaMethod.java | 2 +-
.../autocomplete/PropertyAutoCompleteFacet.java | 4 +-
.../method/PropertyAutoCompleteFacetMethod.java | 7 +-
.../properties/choices/PropertyChoicesFacet.java | 4 +-
...ropertyChoicesFacetDerivedFromChoicesFacet.java | 4 +-
.../method/PropertyChoicesFacetViaMethod.java | 3 +-
.../properties/defaults/PropertyDefaultFacet.java | 4 +-
.../defaults/PropertyDefaultFacetNone.java | 3 +-
...pertyDefaultFacetDerivedFromDefaultedFacet.java | 4 +-
.../method/PropertyDefaultFacetViaMethod.java | 10 +-
...tySetterOrClearFacetForDomainEventAbstract.java | 38 ++---
.../update/clear/PropertyClearFacet.java | 4 +-
.../clear/PropertyClearFacetViaClearMethod.java | 3 +-
.../clear/PropertyClearFacetViaSetterMethod.java | 4 +-
.../update/init/PropertyInitializationFacet.java | 4 +-
...PropertyInitializationFacetViaSetterMethod.java | 3 +-
.../update/modify/PropertySetterFacet.java | 6 +-
.../modify/PropertySetterFacetViaModifyMethod.java | 5 +-
.../modify/PropertySetterFacetViaSetterMethod.java | 6 +-
.../BooleanPrimitiveValueSemanticsProvider.java | 23 +--
.../bytes/BytePrimitiveValueSemanticsProvider.java | 4 +-
.../chars/CharPrimitiveValueSemanticsProvider.java | 4 +-
.../DoublePrimitiveValueSemanticsProvider.java | 4 +-
.../FloatPrimitiveValueSemanticsProvider.java | 4 +-
.../IntPrimitiveValueSemanticsProvider.java | 4 +-
.../longs/LongPrimitiveValueSemanticsProvider.java | 4 +-
.../ShortPrimitiveValueSemanticsProvider.java | 4 +-
.../interactions/ActionArgUsabilityContext.java | 10 +-
.../interactions/ActionArgValidityContext.java | 13 +-
.../interactions/ActionArgVisibilityContext.java | 10 +-
.../interactions/ActionValidityContext.java | 12 +-
.../interactions/CollectionAddToContext.java | 12 +-
.../interactions/CollectionRemoveFromContext.java | 10 +-
.../interactions/ObjectVisibilityContext.java | 3 +-
.../metamodel/interactions/ParseValueContext.java | 11 +-
...arameterChoicesFacetFromParentedCollection.java | 18 +--
...meterDefaultsFacetFromAssociatedCollection.java | 6 +-
.../param/DeriveFacetsPostProcessor.java | 11 +-
.../command/CommandDtoServiceInternal.java | 14 +-
.../services/homepage/HomePageAction.java | 10 +-
.../ixn/InteractionDtoServiceInternal.java | 10 +-
.../apache/isis/metamodel/spec/ManagedObject.java | 46 ++++++
.../isis/metamodel/spec/feature/CurrentHolder.java | 3 +-
.../spec/feature/MutableCurrentHolder.java | 9 +-
.../isis/metamodel/spec/feature/ObjectAction.java | 56 +++----
.../spec/feature/ObjectActionParameter.java | 32 ++--
.../metamodel/spec/feature/ObjectAssociation.java | 28 ++--
.../spec/feature/OneToManyAssociation.java | 36 ++---
.../spec/feature/OneToOneAssociation.java | 3 +-
.../specloader/SpecificationLoaderDefault.java | 13 +-
.../classsubstitutor/ClassSubstitutor.java | 19 ++-
.../specimpl/ObjectActionContributee.java | 49 +++---
.../specloader/specimpl/ObjectActionDefault.java | 101 ++++++------
.../specloader/specimpl/ObjectActionMixedIn.java | 37 +++--
.../specimpl/ObjectActionParameterAbstract.java | 108 ++++++-------
.../ObjectActionParameterContributeeAbstract.java | 18 +--
.../ObjectActionParameterMixedInAbstract.java | 16 +-
.../specimpl/ObjectAssociationAbstract.java | 4 +-
.../specloader/specimpl/ObjectMemberAbstract.java | 16 +-
.../specimpl/OneToManyAssociationContributee.java | 13 +-
.../specimpl/OneToManyAssociationDefault.java | 81 +++++-----
.../specimpl/OneToManyAssociationMixedIn.java | 18 +--
.../specimpl/OneToOneActionParameterDefault.java | 3 +-
.../specimpl/OneToOneAssociationContributee.java | 8 +-
.../specimpl/OneToOneAssociationDefault.java | 75 ++++-----
.../specimpl/OneToOneAssociationMixedIn.java | 18 ++-
.../isis/metamodel/util/snapshot/IsisSchema.java | 4 +-
.../apache/isis/metamodel/util/snapshot/Place.java | 8 +-
.../isis/metamodel/util/snapshot/XmlSnapshot.java | 27 ++--
.../CollectionAnnotationFacetFactoryTest.java | 9 +-
.../PropertyAnnotationFacetFactoryTest.java | 9 +-
...ionParameterAbstractTest_getId_and_getName.java | 5 +-
.../specimpl/ObjectAssociationAbstractTest.java | 19 ++-
...ObjectAssociationAbstractTest_alwaysHidden.java | 16 +-
.../background/CommandExecutorServiceDefault.java | 3 +-
.../command/CommandDtoServiceInternalDefault.java | 27 ++--
.../ixn/InteractionDtoServiceInternalDefault.java | 9 +-
.../org/apache/isis/runtime/memento/Memento.java | 12 +-
.../ObjectAdapterContext_MementoSupport.java | 6 +-
.../system/transaction/AdapterAndProperty.java | 4 +-
.../system/OneToManyAssociationDefaultTest.java | 7 +
.../domainobjects/DomainObjectReprRenderer.java | 7 +-
.../rendering/domainobjects/JsonValueEncoder.java | 5 +-
.../domainobjects/ObjectActionReprRenderer.java | 7 +-
.../ObjectCollectionReprRenderer.java | 16 +-
.../domainobjects/ObjectPropertyReprRenderer.java | 23 +--
.../ContentNegotiationServiceOrgApacheIsisV1.java | 10 +-
.../server/resources/DomainResourceHelper.java | 5 +-
.../viewer/wicket/model/models/ActionModel.java | 10 +-
.../wicket/model/models/BookmarkTreeNode.java | 12 +-
.../wicket/model/models/EntityCollectionModel.java | 5 +-
.../viewer/wicket/model/models/EntityModel.java | 11 +-
.../viewer/wicket/model/models/ScalarModel.java | 32 ++--
.../components/actions/ActionParametersForm.java | 3 +-
.../CollectionContentsSortableDataProvider.java | 11 +-
.../summary/CollectionContentsAsSummary.java | 5 +-
.../entity/icontitle/EntityIconAndTitlePanel.java | 9 +-
.../components/scalars/ScalarPanelAbstract2.java | 3 +-
.../linkandlabel/ActionLinkFactoryAbstract.java | 5 +-
...entoProviderForReferenceObjectAutoComplete.java | 30 ++--
.../isis/viewer/wicket/ui/pages/home/HomePage.java | 8 +-
.../background/BackgroundServiceDefault.java | 149 ------------------
.../background/CommandInvocationHandler.java | 174 ---------------------
.../background/ForkingInvocationHandler.java | 102 ------------
.../background/InvocationHandlerFactory.java | 37 -----
.../InvocationHandlerFactoryFallback.java | 84 ----------
...andlerFactoryUsingBackgroundCommandService.java | 62 --------
.../viewer/wicket/excel/ExcelFileModel.java | 4 +-
164 files changed, 1063 insertions(+), 1540 deletions(-)
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/concurrent/_ConcurrentTask.java b/core/commons/src/main/java/org/apache/isis/commons/internal/concurrent/_ConcurrentTask.java
index a1144b9..dfa7dba 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/concurrent/_ConcurrentTask.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/concurrent/_ConcurrentTask.java
@@ -42,7 +42,7 @@ public abstract class _ConcurrentTask<T> implements Runnable {
NOT_STARTED,
STARTED,
FAILED,
- COMPLETED
+ SUCCEEDED
}
public abstract String getName();
@@ -52,7 +52,7 @@ public abstract class _ConcurrentTask<T> implements Runnable {
@Getter private long completedAtNanos;
@Getter private long failedAtNanos;
@Getter private T completedWith;
- @Getter private Exception failedWith;
+ @Getter private Throwable failedWith;
protected synchronized void preCall() {
if(startedAtNanos>0L) {
@@ -65,7 +65,7 @@ public abstract class _ConcurrentTask<T> implements Runnable {
status = State.STARTED;
}
- protected void postCall(T completedWith, Exception failedWith) {
+ protected void postCall(T completedWith, Throwable failedWith) {
if(failedWith!=null) {
this.failedAtNanos = System.nanoTime();
this.failedWith = failedWith;
@@ -73,7 +73,7 @@ public abstract class _ConcurrentTask<T> implements Runnable {
} else {
this.completedAtNanos = System.nanoTime();
this.completedWith = completedWith;
- this.status = State.COMPLETED;
+ this.status = State.SUCCEEDED;
}
}
@@ -86,7 +86,7 @@ public abstract class _ConcurrentTask<T> implements Runnable {
try {
val completedWith = innerCall();
postCall(completedWith, /*failedWith*/ null);
- } catch (Exception e) {
+ } catch (Throwable e) {
postCall(/*completedWith*/ null, e);
}
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/concurrent/_ConcurrentTaskList.java b/core/commons/src/main/java/org/apache/isis/commons/internal/concurrent/_ConcurrentTaskList.java
index dba0966..bc6295f 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/concurrent/_ConcurrentTaskList.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/concurrent/_ConcurrentTaskList.java
@@ -48,8 +48,8 @@ public class _ConcurrentTaskList {
private final List<_ConcurrentTask<?>> tasks = _Lists.newArrayList();
private final AtomicBoolean wasStarted = new AtomicBoolean();
- private final CountDownLatch countDownLatch = new CountDownLatch(1);
- private final AwaitableLatch awaitableLatch = AwaitableLatch.of(countDownLatch);
+ private final CountDownLatch allFinishedLatch = new CountDownLatch(1);
+ private final AwaitableLatch awaitableLatch = AwaitableLatch.of(allFinishedLatch);
private final LongAdder tasksExecuted = new LongAdder();
private long executionTimeNanos;
@@ -97,15 +97,17 @@ public class _ConcurrentTaskList {
if(context.shouldRunSequential()) {
for(_ConcurrentTask<?> task : tasks) {
- task.run();
+ task.run(); // exceptions are swallowed, to be found in the _ConcurrentTask object
tasksExecuted.increment();
}
- countDownLatch.countDown();
executionTimeNanos = System.nanoTime() - t0;
- logExecutionSummary(context);
+ onFinished(context);
+ allFinishedLatch.countDown();
return this;
}
+ // else run with executor ...
+
val futures = new ArrayList<Future<?>>(tasks.size());
for(_ConcurrentTask<?> task : tasks) {
@@ -127,9 +129,10 @@ public class _ConcurrentTaskList {
}
}
- countDownLatch.countDown();
executionTimeNanos = System.nanoTime() - t0;
- logExecutionSummary(context);
+
+ onFinished(context);
+ allFinishedLatch.countDown();
}
};
@@ -158,7 +161,17 @@ public class _ConcurrentTaskList {
// -- EXECUTION LOGGING
- private void logExecutionSummary(_ConcurrentContext context) {
+ private void onFinished(_ConcurrentContext context) {
+
+ for(val task: tasks) {
+ if(task.getFailedWith()!=null) {
+ log.error("----------------------------------------");
+ log.error("Failed TaskList: " + this.getName());
+ log.error("Failed Task: " + task.getName());
+ log.error("----------------------------------------", task.getFailedWith());
+ }
+ }
+
if(!context.enableExecutionLogging) {
return;
}
diff --git a/core/config/src/main/java/org/apache/isis/config/registry/IsisBeanTypeRegistry.java b/core/config/src/main/java/org/apache/isis/config/registry/IsisBeanTypeRegistry.java
index b0221ef..9c0447f 100644
--- a/core/config/src/main/java/org/apache/isis/config/registry/IsisBeanTypeRegistry.java
+++ b/core/config/src/main/java/org/apache/isis/config/registry/IsisBeanTypeRegistry.java
@@ -267,17 +267,9 @@ public final class IsisBeanTypeRegistry implements BeanSortClassifier, AutoClose
return BeanSort.MANAGED_BEAN;
}
- if(findNearestAnnotation(type, RequestScoped.class).isPresent()) {
- return BeanSort.MANAGED_BEAN;
- }
-
- if(findNearestAnnotation(type, Singleton.class).isPresent()) {
- return BeanSort.MANAGED_BEAN;
- }
-
- if(findNearestAnnotation(type, Service.class).isPresent()) {
- return BeanSort.MANAGED_BEAN;
- }
+// if(findNearestAnnotation(type, RequestScoped.class).isPresent()) {
+// return BeanSort.MANAGED_BEAN;
+// }
if(findNearestAnnotation(type, Component.class).isPresent()) {
return BeanSort.MANAGED_BEAN;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/ObjectAdapter.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/ObjectAdapter.java
index faaa2e6..b593431 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/ObjectAdapter.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/ObjectAdapter.java
@@ -103,20 +103,14 @@ public interface ObjectAdapter extends ManagedObject {
private Util() {}
+ @Deprecated
public static Object unwrapPojo(final ManagedObject adapter) {
- return adapter != null ? adapter.getPojo() : null;
+ return ManagedObject.unwrapPojo(adapter);
}
+ @Deprecated// duplicate is in ManagedObject
public static Object[] unwrapPojoArray(final ManagedObject[] adapters) {
- if (adapters == null) {
- return null;
- }
- final Object[] unwrappedObjects = new Object[adapters.length];
- int i = 0;
- for (final ManagedObject adapter : adapters) {
- unwrappedObjects[i++] = unwrapPojo(adapter);
- }
- return unwrappedObjects;
+ return ManagedObject.unwrapPojoArray(adapters);
}
public static List<Object> unwrapPojoList(final List<? extends ManagedObject> adapters) {
@@ -191,18 +185,18 @@ public interface ObjectAdapter extends ManagedObject {
* @param collectionAdapter - an adapter around a collection (as returned by a getter of a collection, or of an autoCompleteNXxx() or choicesNXxx() method, etc
* @param interactionInitiatedBy
*/
- public static List<ObjectAdapter> visibleAdapters(
- final ObjectAdapter collectionAdapter,
+ public static List<ManagedObject> visibleAdapters(
+ final ManagedObject collectionAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
- final Stream<ObjectAdapter> objectAdapters =
+ final Stream<ManagedObject> objectAdapters =
CollectionFacet.Utils.streamAdapters(collectionAdapter);
return visibleAdapters(objectAdapters, interactionInitiatedBy);
}
- public static List<ObjectAdapter> visibleAdapters(
- final Stream<ObjectAdapter> objectAdapters,
+ public static List<ManagedObject> visibleAdapters(
+ final Stream<ManagedObject> objectAdapters,
final InteractionInitiatedBy interactionInitiatedBy) {
return objectAdapters
@@ -216,20 +210,20 @@ public interface ObjectAdapter extends ManagedObject {
* @param interactionInitiatedBy
*/
public static boolean isVisible(
- final ObjectAdapter adapter,
+ final ManagedObject adapter,
final InteractionInitiatedBy interactionInitiatedBy) {
if(adapter == null) {
// a choices list could include a null (eg example in ToDoItems#choices1Categorized()); want to show as "visible"
return true;
}
- if(adapter.isDestroyed()) {
+ if(ManagedObject.promote(adapter).isDestroyed()) {
return false;
}
if(interactionInitiatedBy == InteractionInitiatedBy.FRAMEWORK) { return true; }
return isVisibleForUser(adapter);
}
- private static boolean isVisibleForUser(final ObjectAdapter adapter) {
+ private static boolean isVisibleForUser(final ManagedObject adapter) {
final VisibilityContext<?> context = createVisibleInteractionContextForUser(adapter);
final ObjectSpecification objectSpecification = adapter.getSpecification();
final InteractionResult visibleResult = InteractionUtils.isVisibleResult(objectSpecification, context);
@@ -237,7 +231,8 @@ public interface ObjectAdapter extends ManagedObject {
}
private static VisibilityContext<?> createVisibleInteractionContextForUser(
- final ObjectAdapter objectAdapter) {
+ final ManagedObject objectAdapter) {
+
return new ObjectVisibilityContext(
objectAdapter,
objectAdapter.getSpecification().getIdentifier(),
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/DomainEventHelper.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/DomainEventHelper.java
index 866c83e..ee76faf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/DomainEventHelper.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/DomainEventHelper.java
@@ -69,7 +69,7 @@ public class DomainEventHelper {
final ManagedObject mixedInAdapter,
final ManagedObject[] argumentAdapters,
final Command command,
- final ObjectAdapter resultAdapter) {
+ final ManagedObject resultAdapter) {
_Assert.assertTypeIsInstanceOf(eventType, ActionDomainEvent.class);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionInvocationFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionInvocationFacet.java
index ac3cd51..3530131 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionInvocationFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionInvocationFacet.java
@@ -19,9 +19,9 @@
package org.apache.isis.metamodel.facets.actions.action.invocation;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
@@ -35,13 +35,13 @@ import org.apache.isis.metamodel.spec.feature.ObjectAction;
*/
public interface ActionInvocationFacet extends Facet {
- ObjectAdapter invoke(
+ ManagedObject invoke(
ObjectAction owningAction,
- ObjectAdapter targetAdapter,
- ObjectAdapter mixedInAdapter, // null for regular or contributed (not mixin) actions
- ObjectAdapter[] argumentAdapters,
+ ManagedObject targetAdapter,
+ ManagedObject mixedInAdapter, // null for regular or contributed (not mixin) actions
+ ManagedObject[] argumentAdapters,
InteractionInitiatedBy interactionInitiatedBy);
-
+
ObjectSpecification getReturnType();
ObjectSpecification getOnType();
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
index ba7ae71..5a4d969 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
@@ -66,6 +66,7 @@ import org.apache.isis.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.metamodel.facets.object.viewmodel.ViewModelFacet;
import org.apache.isis.metamodel.services.ixn.InteractionDtoServiceInternal;
import org.apache.isis.metamodel.services.publishing.PublishingServiceInternal;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.schema.ixn.v1.ActionInvocationDto;
@@ -73,6 +74,8 @@ import org.apache.isis.schema.ixn.v1.ActionInvocationDto;
import static org.apache.isis.commons.internal.base._Casts.uncheckedCast;
import static org.apache.isis.commons.internal.base._NullSafe.stream;
+import lombok.val;
+
public abstract class ActionInvocationFacetForDomainEventAbstract
extends ActionInvocationFacetAbstract
implements ImperativeFacet {
@@ -127,14 +130,14 @@ implements ImperativeFacet {
@Override
- public ObjectAdapter invoke(
+ public ManagedObject invoke(
final ObjectAction owningAction,
- final ObjectAdapter targetAdapter,
- final ObjectAdapter mixedInAdapter,
- final ObjectAdapter[] argumentAdapters,
+ final ManagedObject targetAdapter,
+ final ManagedObject mixedInAdapter,
+ final ManagedObject[] argumentAdapters,
final InteractionInitiatedBy interactionInitiatedBy) {
- final ObjectAdapter executionResult =
+ final ManagedObject executionResult =
getTransactionService().executeWithinTransaction(()->
doInvoke(owningAction, targetAdapter, mixedInAdapter, argumentAdapters, interactionInitiatedBy));
@@ -143,11 +146,11 @@ implements ImperativeFacet {
return executionResult;
}
- ObjectAdapter doInvoke(
+ ManagedObject doInvoke(
final ObjectAction owningAction,
- final ObjectAdapter targetAdapter,
- final ObjectAdapter mixedInAdapter,
- final ObjectAdapter[] argumentAdapters,
+ final ManagedObject targetAdapter,
+ final ManagedObject mixedInAdapter,
+ final ManagedObject[] argumentAdapters,
final InteractionInitiatedBy interactionInitiatedBy) {
// similar code in PropertySetterOrClearFacetFDEA
@@ -160,7 +163,7 @@ implements ImperativeFacet {
final String actionId = owningAction.getIdentifier().toClassAndNameIdentityString();
- final ObjectAdapter returnedAdapter;
+ final ManagedObject returnedAdapter;
if( command.getExecutor() == Command.Executor.USER &&
command.getExecuteIn() == org.apache.isis.applib.annotation.CommandExecuteIn.BACKGROUND) {
@@ -177,11 +180,11 @@ implements ImperativeFacet {
} else {
// otherwise, go ahead and execute action in the 'foreground'
- final ObjectAdapter mixinElseRegularAdapter = mixedInAdapter != null ? mixedInAdapter : targetAdapter;
+ final ManagedObject mixinElseRegularAdapter = mixedInAdapter != null ? mixedInAdapter : targetAdapter;
- final Object mixinElseRegularPojo = ObjectAdapter.Util.unwrapPojo(mixinElseRegularAdapter);
+ final Object mixinElseRegularPojo = ManagedObject.unwrapPojo(mixinElseRegularAdapter);
- final List<ObjectAdapter> argumentAdapterList = Arrays.asList(argumentAdapters);
+ final List<ManagedObject> argumentAdapterList = Arrays.asList(argumentAdapters);
final List<Object> argumentPojos = ObjectAdapter.Util.unwrapPojoList(argumentAdapterList);
final String targetMember = targetNameFor(owningAction, mixedInAdapter);
@@ -232,8 +235,8 @@ implements ImperativeFacet {
currentExecution.setEvent(event);
// invoke method
- final Object resultPojo = invokeMethodElseFromCache(targetAdapter, argumentAdapters);
- ObjectAdapter resultAdapterPossiblyCloned = cloneIfViewModelCloneable(resultPojo, mixinElseRegularAdapter);
+ val resultPojo = invokeMethodElseFromCache(targetAdapter, argumentAdapters);
+ ManagedObject resultAdapterPossiblyCloned = cloneIfViewModelCloneable(resultPojo, mixinElseRegularAdapter);
// ... post the executed event
@@ -250,7 +253,7 @@ implements ImperativeFacet {
if(returnValue != resultPojo) {
resultAdapterPossiblyCloned = cloneIfViewModelCloneable(returnValue, mixinElseRegularAdapter);
}
- return ObjectAdapter.Util.unwrapPojo(resultAdapterPossiblyCloned);
+ return ManagedObject.unwrapPojo(resultAdapterPossiblyCloned);
} catch (Exception e) {
@@ -320,7 +323,7 @@ implements ImperativeFacet {
return filteredIfRequired(returnedAdapter, interactionInitiatedBy);
}
- private static String targetNameFor(ObjectAction owningAction, ObjectAdapter mixedInAdapter) {
+ private static String targetNameFor(ObjectAction owningAction, ManagedObject mixedInAdapter) {
return ObjectAction.Util.targetNameFor(owningAction, mixedInAdapter)
.orElseGet(()->CommandUtil.targetMemberNameFor(owningAction));
}
@@ -336,7 +339,7 @@ implements ImperativeFacet {
}
protected Object invokeMethodElseFromCache(
- final ObjectAdapter targetAdapter, final ObjectAdapter[] arguments)
+ final ManagedObject targetAdapter, final ManagedObject[] arguments)
throws IllegalAccessException, InvocationTargetException {
final Object[] executionParameters = new Object[arguments.length];
@@ -360,14 +363,14 @@ implements ImperativeFacet {
}
}
- protected ObjectAdapter cloneIfViewModelCloneable(
+ protected ManagedObject cloneIfViewModelCloneable(
final Object resultPojo,
- final ObjectAdapter targetAdapter) {
+ final ManagedObject targetAdapter) {
// to remove boilerplate from the domain, we automatically clone the returned object if it is a view model.
if (resultPojo != null) {
- final ObjectAdapter resultAdapter = getObjectAdapterProvider().adapterFor(resultPojo);
+ final ManagedObject resultAdapter = getObjectAdapterProvider().adapterFor(resultPojo);
return cloneIfViewModelElse(resultAdapter, resultAdapter);
} else {
// if void or null, attempt to clone the original target, else return null.
@@ -375,7 +378,7 @@ implements ImperativeFacet {
}
}
- private ObjectAdapter cloneIfViewModelElse(final ObjectAdapter adapter, final ObjectAdapter dfltAdapter) {
+ private ManagedObject cloneIfViewModelElse(final ManagedObject adapter, final ManagedObject dfltAdapter) {
if (!adapter.getSpecification().isViewModelCloneable(adapter)) {
return dfltAdapter;
@@ -384,12 +387,12 @@ implements ImperativeFacet {
final ViewModelFacet viewModelFacet = adapter.getSpecification().getFacet(ViewModelFacet.class);
final Object clone = viewModelFacet.clone(adapter.getPojo());
- final ObjectAdapter clonedAdapter = getObjectAdapterProvider().adapterFor(clone);
+ final ManagedObject clonedAdapter = getObjectAdapterProvider().adapterFor(clone);
return clonedAdapter;
}
- protected void setCommandResultIfEntity(final Command command, final ObjectAdapter resultAdapter) {
+ protected void setCommandResultIfEntity(final Command command, final ManagedObject resultAdapter) {
if(command.getResult() != null) {
// don't trample over any existing result, eg subsequent mixins.
return;
@@ -427,8 +430,8 @@ implements ImperativeFacet {
return serviceRegistry.lookupServiceElseFail(BookmarkService.class);
}
- protected ObjectAdapter filteredIfRequired(
- final ObjectAdapter resultAdapter,
+ protected ManagedObject filteredIfRequired(
+ final ManagedObject resultAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
if (resultAdapter == null) {
@@ -444,15 +447,15 @@ implements ImperativeFacet {
if(result instanceof Collection || result.getClass().isArray()) {
- final Stream<ObjectAdapter> adapters = CollectionFacet.Utils.streamAdapters(resultAdapter);
+ final Stream<ManagedObject> adapters = CollectionFacet.Utils.streamAdapters(resultAdapter);
- final List<ObjectAdapter> visibleAdapters =
+ final List<ManagedObject> visibleAdapters =
ObjectAdapter.Util.visibleAdapters(adapters, interactionInitiatedBy);
final Object visibleObjects =
CollectionUtils.copyOf(
stream(visibleAdapters)
- .map(ObjectAdapter.Util::unwrapPojo)
+ .map(ManagedObject::unwrapPojo)
.collect(Collectors.toList()),
method.getReturnType());
@@ -475,7 +478,7 @@ implements ImperativeFacet {
return uncheckedCast(eventType);
}
- private static Object unwrap(final ObjectAdapter adapter) {
+ private static Object unwrap(final ManagedObject adapter) {
return adapter == null ? null : adapter.getPojo();
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/CommandUtil.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/CommandUtil.java
index 45f2b88..651816a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/CommandUtil.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/invocation/CommandUtil.java
@@ -24,15 +24,17 @@ import java.util.List;
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.commons.internal.collections._Arrays;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.ObjectAdapterProvider;
import org.apache.isis.metamodel.adapter.oid.Oid;
import org.apache.isis.metamodel.adapter.oid.RootOid;
import org.apache.isis.metamodel.commons.StringExtensions;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.metamodel.spec.feature.ObjectActionParameter;
import org.apache.isis.metamodel.spec.feature.ObjectMember;
+import lombok.val;
+
/**
* Factoring out the commonality between <tt>ActionInvocationFacetViaMethod</tt> and <tt>BackgroundServiceDefault</tt>.
*/
@@ -44,7 +46,7 @@ public class CommandUtil {
return objectMember.getName();
}
- public static String targetClassNameFor(final ObjectAdapter targetAdapter) {
+ public static String targetClassNameFor(final ManagedObject targetAdapter) {
return StringExtensions.asNaturalName2(targetAdapter.getSpecification().getSingularName());
}
@@ -52,7 +54,7 @@ public class CommandUtil {
return objectMember.getIdentifier().toClassAndNameIdentityString();
}
- public static String argDescriptionFor(final ObjectAdapter valueAdapter) {
+ public static String argDescriptionFor(final ManagedObject valueAdapter) {
final StringBuilder buf = new StringBuilder();
if(valueAdapter != null) {
appendArg(buf, "new value", valueAdapter);
@@ -61,10 +63,12 @@ public class CommandUtil {
}
return buf.toString();
}
+
public static String argDescriptionFor(
final ObjectAction owningAction,
- final ObjectAdapter[] arguments) {
- final StringBuilder argsBuf = new StringBuilder();
+ final ManagedObject[] arguments) {
+
+ val argsBuf = new StringBuilder();
List<ObjectActionParameter> parameters = owningAction.getParameters();
if(parameters.size() == arguments.length) {
// should be the case
@@ -76,8 +80,9 @@ public class CommandUtil {
return argsBuf.toString();
}
- public static Bookmark bookmarkFor(final ObjectAdapter adapter) {
- final Oid oid = adapter.getOid();
+ public static Bookmark bookmarkFor(final ManagedObject adapter) {
+
+ final Oid oid = ManagedObject.promote(adapter).getOid();
if(!(oid instanceof RootOid)) {
return null;
}
@@ -88,7 +93,8 @@ public class CommandUtil {
static void appendParamArg(
final StringBuilder buf,
final ObjectActionParameter param,
- final ObjectAdapter objectAdapter) {
+ final ManagedObject objectAdapter) {
+
final String name = param.getName();
appendArg(buf, name, objectAdapter);
}
@@ -96,15 +102,19 @@ public class CommandUtil {
private static void appendArg(
final StringBuilder buf,
final String name,
- final ObjectAdapter objectAdapter) {
+ final ManagedObject objectAdapter) {
+
String titleOf = objectAdapter != null? objectAdapter.titleString(null): "null";
buf.append(name).append(": ").append(titleOf).append("\n");
}
- public static ObjectAdapter[] adaptersFor(final Object[] args, final ObjectAdapterProvider adapterProvider) {
+ public static ManagedObject[] adaptersFor(
+ final Object[] args,
+ final ObjectAdapterProvider adapterProvider) {
+
return _NullSafe.stream(args)
.map(adapterProvider::adapterFor)
- .collect(_Arrays.toArray(ObjectAdapter.class, _NullSafe.size(args)));
+ .collect(_Arrays.toArray(ManagedObject.class, _NullSafe.size(args)));
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/defaults/ActionDefaultsFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/defaults/ActionDefaultsFacet.java
index 99e2c58..8e40bbe 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/defaults/ActionDefaultsFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/defaults/ActionDefaultsFacet.java
@@ -19,8 +19,8 @@
package org.apache.isis.metamodel.facets.actions.defaults;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.Facet;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* Obtain defaults for each of the parameters of the action.
@@ -31,5 +31,5 @@ import org.apache.isis.metamodel.facetapi.Facet;
*/
public interface ActionDefaultsFacet extends Facet {
- public abstract Object[] getDefaults(ObjectAdapter inObject);
+ public abstract Object[] getDefaults(ManagedObject inObject);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/defaults/method/ActionDefaultsFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/defaults/method/ActionDefaultsFacetViaMethod.java
index 84492af..c97b021 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/defaults/method/ActionDefaultsFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/defaults/method/ActionDefaultsFacetViaMethod.java
@@ -31,6 +31,7 @@ import org.apache.isis.metamodel.facets.ImperativeFacet;
import org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacet;
import org.apache.isis.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract;
import org.apache.isis.metamodel.facets.actions.defaults.ActionDefaultsFacetAbstract;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class ActionDefaultsFacetViaMethod extends ActionDefaultsFacetAbstract implements ImperativeFacet {
@@ -72,7 +73,7 @@ public class ActionDefaultsFacetViaMethod extends ActionDefaultsFacetAbstract im
}
@Override
- public Object[] getDefaults(final ObjectAdapter owningAdapter) {
+ public Object[] getDefaults(final ManagedObject owningAdapter) {
return (Object[]) ObjectAdapter.InvokeUtils.invoke(method, owningAdapter);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/accessor/CollectionAccessorFacetViaAccessor.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/accessor/CollectionAccessorFacetViaAccessor.java
index eb691e5..ccbc9b1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/accessor/CollectionAccessorFacetViaAccessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/accessor/CollectionAccessorFacetViaAccessor.java
@@ -25,7 +25,6 @@ import java.util.List;
import java.util.Map;
import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.config.internal._Config;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FacetHolder;
@@ -76,13 +75,13 @@ implements ImperativeFacet {
final boolean filterForVisibility = getConfiguration().getReflector().getFacet().isFilterVisibility();
if(filterForVisibility) {
- final List<ObjectAdapter> visibleAdapters =
+ final List<ManagedObject> visibleAdapters =
ObjectAdapter.Util.visibleAdapters(
collectionAdapter,
interactionInitiatedBy);
final Object visibleObjects =
CollectionUtils.copyOf(
- _Lists.map(visibleAdapters, ObjectAdapter.Util::unwrapPojo),
+ _Lists.map(visibleAdapters, ManagedObject::unwrapPojo),
method.getReturnType());
if (visibleObjects != null) {
return visibleObjects;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/clear/CollectionClearFacetViaAccessor.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/clear/CollectionClearFacetViaAccessor.java
index a26883e..1672ef7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/clear/CollectionClearFacetViaAccessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/clear/CollectionClearFacetViaAccessor.java
@@ -29,6 +29,7 @@ import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.ImperativeFacet;
import org.apache.isis.metamodel.facets.collections.modify.CollectionClearFacetAbstract;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class CollectionClearFacetViaAccessor extends CollectionClearFacetAbstract implements ImperativeFacet {
@@ -57,7 +58,7 @@ public class CollectionClearFacetViaAccessor extends CollectionClearFacetAbstrac
}
@Override
- public void clear(final ObjectAdapter owningAdapter) {
+ public void clear(final ManagedObject owningAdapter) {
final Collection<?> collection = (Collection<?>) ObjectAdapter.InvokeUtils.invoke(method, owningAdapter);
collection.clear();
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/clear/CollectionClearFacetViaClearMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/clear/CollectionClearFacetViaClearMethod.java
index a5117e7..5a6cfc9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/clear/CollectionClearFacetViaClearMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/clear/CollectionClearFacetViaClearMethod.java
@@ -28,6 +28,7 @@ import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.ImperativeFacet;
import org.apache.isis.metamodel.facets.collections.modify.CollectionClearFacetAbstract;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class CollectionClearFacetViaClearMethod extends CollectionClearFacetAbstract implements ImperativeFacet {
@@ -53,7 +54,7 @@ public class CollectionClearFacetViaClearMethod extends CollectionClearFacetAbst
}
@Override
- public void clear(final ObjectAdapter owningAdapter) {
+ public void clear(final ManagedObject owningAdapter) {
ObjectAdapter.InvokeUtils.invoke(method, owningAdapter);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/collection/modify/CollectionAddToFacetForDomainEventFromAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/collection/modify/CollectionAddToFacetForDomainEventFromAbstract.java
index 025d25e..af4cc7a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/collection/modify/CollectionAddToFacetForDomainEventFromAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/collection/modify/CollectionAddToFacetForDomainEventFromAbstract.java
@@ -25,7 +25,6 @@ import java.util.Set;
import org.apache.isis.applib.events.domain.AbstractDomainEvent;
import org.apache.isis.applib.events.domain.CollectionDomainEvent;
import org.apache.isis.applib.services.registry.ServiceRegistry;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.facetapi.FacetHolder;
@@ -33,6 +32,7 @@ import org.apache.isis.metamodel.facets.DomainEventHelper;
import org.apache.isis.metamodel.facets.SingleValueFacetAbstract;
import org.apache.isis.metamodel.facets.collections.modify.CollectionAddToFacet;
import org.apache.isis.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import static org.apache.isis.commons.internal.base._Casts.uncheckedCast;
@@ -65,13 +65,13 @@ implements CollectionAddToFacet {
@Override
public void add(
- final ObjectAdapter targetAdapter,
- final ObjectAdapter referencedObjectAdapter, final InteractionInitiatedBy interactionInitiatedBy) {
+ final ManagedObject targetAdapter,
+ final ManagedObject referencedObjectAdapter, final InteractionInitiatedBy interactionInitiatedBy) {
if (this.collectionAddToFacet == null) {
return;
}
- final Object referencedObject = ObjectAdapter.Util.unwrapPojo(referencedObjectAdapter);
+ final Object referencedObject = ManagedObject.unwrapPojo(referencedObjectAdapter);
// get hold of underlying collection
final Object collection = getterFacet.getProperty(targetAdapter, interactionInitiatedBy);
@@ -87,7 +87,7 @@ implements CollectionAddToFacet {
// either doesn't contain object, or doesn't have set semantics, so
// execute the add wrapped between the executing and executed events ...
- final ObjectAdapter mixedInAdapter = null;
+ final ManagedObject mixedInAdapter = null;
// ... post the executing event
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/collection/modify/CollectionRemoveFromFacetForDomainEventFromAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/collection/modify/CollectionRemoveFromFacetForDomainEventFromAbstract.java
index 64eaae9..f1b203d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/collection/modify/CollectionRemoveFromFacetForDomainEventFromAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/collection/modify/CollectionRemoveFromFacetForDomainEventFromAbstract.java
@@ -26,7 +26,6 @@ import org.apache.isis.applib.events.domain.AbstractDomainEvent;
import org.apache.isis.applib.events.domain.CollectionDomainEvent;
import org.apache.isis.applib.services.registry.ServiceRegistry;
import org.apache.isis.commons.internal.base._Casts;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.facetapi.FacetHolder;
@@ -34,6 +33,7 @@ import org.apache.isis.metamodel.facets.DomainEventHelper;
import org.apache.isis.metamodel.facets.SingleValueFacetAbstract;
import org.apache.isis.metamodel.facets.collections.modify.CollectionRemoveFromFacet;
import org.apache.isis.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import static org.apache.isis.commons.internal.base._Casts.uncheckedCast;
@@ -67,15 +67,15 @@ implements CollectionRemoveFromFacet {
@Override
public void remove(
- final ObjectAdapter targetAdapter,
- final ObjectAdapter referencedObjectAdapter,
+ final ManagedObject targetAdapter,
+ final ManagedObject referencedObjectAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
if (this.collectionRemoveFromFacet == null) {
return;
}
- final Object referencedObject = ObjectAdapter.Util.unwrapPojo(referencedObjectAdapter);
+ final Object referencedObject = ManagedObject.unwrapPojo(referencedObjectAdapter);
// get hold of underlying collection
// passing null through for authenticationSession/deploymentType means to avoid any visibility filtering.
@@ -88,7 +88,7 @@ implements CollectionRemoveFromFacet {
// contains the element, so
// execute the remove wrapped between the executing and executed events ...
- final ObjectAdapter mixedInAdapter = null;
+ final ManagedObject mixedInAdapter = null;
// ... post the executing event
final CollectionDomainEvent<?, ?> event =
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionAddToFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionAddToFacet.java
index 04bd0ed..02d8704 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionAddToFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionAddToFacet.java
@@ -19,9 +19,9 @@
package org.apache.isis.metamodel.facets.collections.modify;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* Add object to a collection.
@@ -32,6 +32,6 @@ import org.apache.isis.metamodel.facetapi.Facet;
*/
public interface CollectionAddToFacet extends Facet {
- public void add(ObjectAdapter inObject, ObjectAdapter value, final InteractionInitiatedBy interactionInitiatedBy);
+ public void add(ManagedObject inObject, ManagedObject value, InteractionInitiatedBy interactionInitiatedBy);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionAddToFacetViaAccessor.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionAddToFacetViaAccessor.java
index 1c5db36..a6ff5fe 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionAddToFacetViaAccessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionAddToFacetViaAccessor.java
@@ -29,6 +29,7 @@ import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.ImperativeFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class CollectionAddToFacetViaAccessor extends CollectionAddToFacetAbstract implements ImperativeFacet {
@@ -55,12 +56,12 @@ public class CollectionAddToFacetViaAccessor extends CollectionAddToFacetAbstrac
@Override
public void add(
- final ObjectAdapter owningAdapter,
- final ObjectAdapter elementAdapter,
+ final ManagedObject owningAdapter,
+ final ManagedObject elementAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
@SuppressWarnings("unchecked")
final Collection<? super Object> collection = (Collection<? super Object>) ObjectAdapter.InvokeUtils.invoke(method, owningAdapter);
- final Object elementPojo = ObjectAdapter.Util.unwrapPojo(elementAdapter);
+ final Object elementPojo = ManagedObject.unwrapPojo(elementAdapter);
collection.add(elementPojo);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionAddToFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionAddToFacetViaMethod.java
index 34b92f6..7fe7967 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionAddToFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionAddToFacetViaMethod.java
@@ -28,6 +28,7 @@ import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.ImperativeFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class CollectionAddToFacetViaMethod extends CollectionAddToFacetAbstract implements ImperativeFacet {
@@ -54,9 +55,10 @@ public class CollectionAddToFacetViaMethod extends CollectionAddToFacetAbstract
@Override
public void add(
- final ObjectAdapter owningAdapter,
- final ObjectAdapter elementAdapter,
+ final ManagedObject owningAdapter,
+ final ManagedObject elementAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
+
ObjectAdapter.InvokeUtils.invoke(method, owningAdapter, elementAdapter);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionClearFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionClearFacet.java
index cc5e08e..662d4e7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionClearFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionClearFacet.java
@@ -19,8 +19,8 @@
package org.apache.isis.metamodel.facets.collections.modify;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.Facet;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* Clear all objects from a collection.
@@ -32,5 +32,5 @@ import org.apache.isis.metamodel.facetapi.Facet;
*/
public interface CollectionClearFacet extends Facet {
- public void clear(ObjectAdapter inObject);
+ public void clear(ManagedObject inObject);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionRemoveFromFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionRemoveFromFacet.java
index 781dad3..cd11297 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionRemoveFromFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionRemoveFromFacet.java
@@ -19,9 +19,9 @@
package org.apache.isis.metamodel.facets.collections.modify;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* Remove object to a collection.
@@ -33,7 +33,7 @@ import org.apache.isis.metamodel.facetapi.Facet;
public interface CollectionRemoveFromFacet extends Facet {
public void remove(
- final ObjectAdapter inObject,
- final ObjectAdapter element,
- final InteractionInitiatedBy interactionInitiatedBy);
+ ManagedObject inObject,
+ ManagedObject element,
+ InteractionInitiatedBy interactionInitiatedBy);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionRemoveFromFacetViaAccessor.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionRemoveFromFacetViaAccessor.java
index f4c2fd4..a74a68e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionRemoveFromFacetViaAccessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionRemoveFromFacetViaAccessor.java
@@ -29,6 +29,7 @@ import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.ImperativeFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class CollectionRemoveFromFacetViaAccessor extends CollectionRemoveFromFacetAbstract implements ImperativeFacet {
@@ -57,9 +58,10 @@ public class CollectionRemoveFromFacetViaAccessor extends CollectionRemoveFromFa
@Override
public void remove(
- final ObjectAdapter owningAdapter,
- final ObjectAdapter elementAdapter,
+ final ManagedObject owningAdapter,
+ final ManagedObject elementAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
+
@SuppressWarnings("unchecked")
final Collection<? super Object> collection = (Collection<? super Object>) ObjectAdapter.InvokeUtils.invoke(method, owningAdapter);
collection.remove(ObjectAdapter.Util.unwrapPojo(elementAdapter));
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionRemoveFromFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionRemoveFromFacetViaMethod.java
index 263d2a2..4ba362f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionRemoveFromFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionRemoveFromFacetViaMethod.java
@@ -28,6 +28,7 @@ import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.ImperativeFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class CollectionRemoveFromFacetViaMethod extends CollectionRemoveFromFacetAbstract implements ImperativeFacet {
@@ -54,9 +55,10 @@ public class CollectionRemoveFromFacetViaMethod extends CollectionRemoveFromFace
@Override
public void remove(
- final ObjectAdapter owningAdapter,
- final ObjectAdapter elementAdapter,
+ final ManagedObject owningAdapter,
+ final ManagedObject elementAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
+
ObjectAdapter.InvokeUtils.invoke(method, owningAdapter, elementAdapter);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/fallback/ActionChoicesFacetNone.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/fallback/ActionChoicesFacetNone.java
index 535f88c..991fdc1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/fallback/ActionChoicesFacetNone.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/fallback/ActionChoicesFacetNone.java
@@ -19,10 +19,10 @@
package org.apache.isis.metamodel.facets.fallback;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.param.choices.ActionChoicesFacetAbstract;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class ActionChoicesFacetNone extends ActionChoicesFacetAbstract {
@@ -32,9 +32,9 @@ public class ActionChoicesFacetNone extends ActionChoicesFacetAbstract {
@Override
public Object[][] getChoices(
- final ObjectAdapter inObject,
+ final ManagedObject inObject,
final InteractionInitiatedBy interactionInitiatedBy) {
- return new ObjectAdapter[0][0];
+ return new ManagedObject[0][0];
}
@Override
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/fallback/ActionDefaultsFacetNone.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/fallback/ActionDefaultsFacetNone.java
index a18c2af..73703bb 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/fallback/ActionDefaultsFacetNone.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/fallback/ActionDefaultsFacetNone.java
@@ -19,9 +19,9 @@
package org.apache.isis.metamodel.facets.fallback;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.actions.defaults.ActionDefaultsFacetAbstract;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class ActionDefaultsFacetNone extends ActionDefaultsFacetAbstract {
@@ -30,7 +30,7 @@ public class ActionDefaultsFacetNone extends ActionDefaultsFacetAbstract {
}
@Override
- public Object[] getDefaults(final ObjectAdapter inObject) {
+ public Object[] getDefaults(final ManagedObject inObject) {
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/autocomplete/AutoCompleteFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/autocomplete/AutoCompleteFacet.java
index f4de861..62d695c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/autocomplete/AutoCompleteFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/autocomplete/AutoCompleteFacet.java
@@ -21,13 +21,13 @@ package org.apache.isis.metamodel.facets.object.autocomplete;
import java.util.List;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
+import org.apache.isis.metamodel.spec.ManagedObject;
public interface AutoCompleteFacet extends Facet {
- List<ObjectAdapter> execute(
+ List<ManagedObject> execute(
final String search,
final InteractionInitiatedBy interactionInitiatedBy);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java
index 9c63258..b7bc291 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java
@@ -35,6 +35,7 @@ import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.metamodel.facets.param.autocomplete.MinLengthUtil;
import org.apache.isis.metamodel.services.publishing.PublishingServiceInternal;
+import org.apache.isis.metamodel.spec.ManagedObject;
public abstract class AutoCompleteFacetAbstract extends FacetAbstract implements AutoCompleteFacet {
@@ -68,14 +69,15 @@ public abstract class AutoCompleteFacetAbstract extends FacetAbstract implements
}
@Override
- public List<ObjectAdapter> execute(
+ public List<ManagedObject> execute(
final String search,
final InteractionInitiatedBy interactionInitiatedBy) {
- final ObjectAdapter resultAdapter =
- getPublishingServiceInternal().withPublishingSuppressed(new PublishingServiceInternal.Block<ObjectAdapter>() {
+ final ManagedObject resultAdapter =
+ getPublishingServiceInternal().withPublishingSuppressed(
+ new PublishingServiceInternal.Block<ManagedObject>() {
@Override
- public ObjectAdapter exec() {
+ public ManagedObject exec() {
final Object list = invoke();
return adapterProvider.adapterFor(list);
}
@@ -94,7 +96,7 @@ public abstract class AutoCompleteFacetAbstract extends FacetAbstract implements
return Collections.emptyList();
}
- final Stream<ObjectAdapter> adapterList = CollectionFacet.Utils.streamAdapters(resultAdapter) ;
+ final Stream<ManagedObject> adapterList = CollectionFacet.Utils.streamAdapters(resultAdapter) ;
return ObjectAdapter.Util.visibleAdapters(adapterList, interactionInitiatedBy);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/choices/ChoicesFacetFromBoundedAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/choices/ChoicesFacetFromBoundedAbstract.java
index 8f9b8d6..13d0b1a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/choices/ChoicesFacetFromBoundedAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/choices/ChoicesFacetFromBoundedAbstract.java
@@ -105,13 +105,13 @@ implements ChoicesFacet, DisablingInteractionAdvisor, ValidatingInteractionAdvis
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public Object[] getChoices(
- ObjectAdapter adapter,
+ ManagedObject adapter,
final InteractionInitiatedBy interactionInitiatedBy) {
val context = MetaModelContext.current();
val repository = context.getRepositoryService();
- final Predicate<ObjectAdapter> visibilityFilter =
+ final Predicate<ManagedObject> visibilityFilter =
objectAdapter -> ObjectAdapter.Util.isVisible(objectAdapter, interactionInitiatedBy);
val query = new QueryFindAllChoices(getObjectSpecification().getFullIdentifier(), visibilityFilter);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/choices/enums/ChoicesFacetEnum.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/choices/enums/ChoicesFacetEnum.java
index 957c91d..aff97bc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/choices/enums/ChoicesFacetEnum.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/choices/enums/ChoicesFacetEnum.java
@@ -21,10 +21,10 @@ package org.apache.isis.metamodel.facets.object.choices.enums;
import java.util.Map;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.objectvalue.choices.ChoicesFacetAbstract;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class ChoicesFacetEnum extends ChoicesFacetAbstract {
@@ -37,7 +37,7 @@ public class ChoicesFacetEnum extends ChoicesFacetAbstract {
@Override
public Object[] getChoices(
- final ObjectAdapter adapter,
+ final ManagedObject adapter,
final InteractionInitiatedBy interactionInitiatedBy) {
return choices;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/EncodableFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/EncodableFacet.java
index b1180c4..bc3088c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/EncodableFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/EncodableFacet.java
@@ -22,6 +22,7 @@ package org.apache.isis.metamodel.facets.object.encodeable;
import org.apache.isis.applib.adapters.EncoderDecoder;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facets.MultipleValueFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* Indicates that this class can be encoded/decoded as a string.
@@ -38,5 +39,5 @@ public interface EncodableFacet extends MultipleValueFacet {
* Equivalent to {@link EncoderDecoder#toEncodedString(Object)}, though may
* be implemented through some other equivalent mechanism.
*/
- String toEncodedString(ObjectAdapter object);
+ String toEncodedString(ManagedObject object);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/EncodableFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/EncodableFacetAbstract.java
index 61e0f70..1a113b7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/EncodableFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/EncodableFacetAbstract.java
@@ -25,6 +25,7 @@ import org.apache.isis.metamodel.commons.ClassExtensions;
import org.apache.isis.metamodel.facetapi.FacetAbstract;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.object.encodeable.encoder.EncodableFacetUsingEncoderDecoder;
+import org.apache.isis.metamodel.spec.ManagedObject;
public abstract class EncodableFacetAbstract extends FacetAbstract implements EncodableFacet {
@@ -78,7 +79,7 @@ public abstract class EncodableFacetAbstract extends FacetAbstract implements En
}
@Override
- public String toEncodedString(final ObjectAdapter object) {
+ public String toEncodedString(final ManagedObject object) {
return encodeableFacetUsingEncoderDecoder.toEncodedString(object);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/encoder/EncodableFacetUsingEncoderDecoder.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/encoder/EncodableFacetUsingEncoderDecoder.java
index 9260b5e..bcf8234 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/encoder/EncodableFacetUsingEncoderDecoder.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/encoder/EncodableFacetUsingEncoderDecoder.java
@@ -25,6 +25,7 @@ import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetAbstract;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.object.encodeable.EncodableFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class EncodableFacetUsingEncoderDecoder extends FacetAbstract implements EncodableFacet {
@@ -58,7 +59,7 @@ public class EncodableFacetUsingEncoderDecoder extends FacetAbstract implements
}
@Override
- public String toEncodedString(final ObjectAdapter adapter) {
+ public String toEncodedString(final ManagedObject adapter) {
getServiceInjector().injectServicesInto(encoderDecoder);
return adapter == null ? ENCODED_NULL: encode(encoderDecoder, adapter.getPojo());
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/parseable/ParseableFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/parseable/ParseableFacet.java
index a120386..e30be1f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/parseable/ParseableFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/parseable/ParseableFacet.java
@@ -23,6 +23,7 @@ import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facets.MultipleValueFacet;
import org.apache.isis.metamodel.facets.object.title.TitleFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* Indicates that this class can parse an entry string.
@@ -37,7 +38,7 @@ public interface ParseableFacet extends MultipleValueFacet {
* be implemented through some other mechanism.
*/
ObjectAdapter parseTextEntry(
- final ObjectAdapter original,
+ final ManagedObject original,
final String text,
final InteractionInitiatedBy interactionInitiatedBy);
@@ -51,5 +52,5 @@ public interface ParseableFacet extends MultipleValueFacet {
* field. So, a date might be rendered via a {@link TitleFacet} as
* <tt>May 2, 2007</tt>, but its parseable form might be <tt>20070502</tt>.
*/
- String parseableTitle(ObjectAdapter obj);
+ String parseableTitle(ManagedObject obj);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/parseable/ParseableFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/parseable/ParseableFacetAbstract.java
index 2982274..581c195 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/parseable/ParseableFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/parseable/ParseableFacetAbstract.java
@@ -26,6 +26,7 @@ import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FacetAbstract;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.object.parseable.parser.ParseableFacetUsingParser;
+import org.apache.isis.metamodel.spec.ManagedObject;
public abstract class ParseableFacetAbstract extends FacetAbstract implements ParseableFacet {
@@ -74,14 +75,15 @@ public abstract class ParseableFacetAbstract extends FacetAbstract implements Pa
@Override
public ObjectAdapter parseTextEntry(
- final ObjectAdapter original,
+ final ManagedObject original,
final String entryText,
final InteractionInitiatedBy interactionInitiatedBy) {
+
return parseableFacetUsingParser.parseTextEntry(original, entryText, interactionInitiatedBy);
}
@Override
- public String parseableTitle(final ObjectAdapter existing) {
+ public String parseableTitle(final ManagedObject existing) {
return parseableFacetUsingParser.parseableTitle(existing);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/parseable/parser/ParseableFacetUsingParser.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/parseable/parser/ParseableFacetUsingParser.java
index 26c2921..c4d1267 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/parseable/parser/ParseableFacetUsingParser.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/parseable/parser/ParseableFacetUsingParser.java
@@ -36,6 +36,7 @@ import org.apache.isis.metamodel.interactions.InteractionUtils;
import org.apache.isis.metamodel.interactions.ObjectValidityContext;
import org.apache.isis.metamodel.interactions.ParseValueContext;
import org.apache.isis.metamodel.interactions.ValidityContext;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
public class ParseableFacetUsingParser extends FacetAbstract implements ParseableFacet {
@@ -58,9 +59,10 @@ public class ParseableFacetUsingParser extends FacetAbstract implements Parseabl
@Override
public ObjectAdapter parseTextEntry(
- final ObjectAdapter contextAdapter,
+ final ManagedObject contextAdapter,
final String entry,
final InteractionInitiatedBy interactionInitiatedBy) {
+
if (entry == null) {
throw new IllegalArgumentException("An entry must be provided");
}
@@ -117,8 +119,8 @@ public class ParseableFacetUsingParser extends FacetAbstract implements Parseabl
*/
@Override
@SuppressWarnings({ "unchecked", "rawtypes" })
- public String parseableTitle(final ObjectAdapter contextAdapter) {
- final Object pojo = ObjectAdapter.Util.unwrapPojo(contextAdapter);
+ public String parseableTitle(final ManagedObject contextAdapter) {
+ final Object pojo = ManagedObject.unwrapPojo(contextAdapter);
getServiceInjector().injectServicesInto(parser);
return ((Parser)parser).parseableTitleOf(pojo);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ProjectionFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ProjectionFacet.java
index 15725a8..03febd8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ProjectionFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ProjectionFacet.java
@@ -19,12 +19,11 @@
package org.apache.isis.metamodel.facets.object.projection;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.spec.ManagedObject;
public interface ProjectionFacet extends Facet {
- ObjectAdapter projected(final ManagedObject owningAdapter);
+ ManagedObject projected(ManagedObject owningAdapter);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ProjectionFacetFromProjectingProperty.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ProjectionFacetFromProjectingProperty.java
index 6f16cac..aa8c41b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ProjectionFacetFromProjectingProperty.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ProjectionFacetFromProjectingProperty.java
@@ -20,7 +20,6 @@
package org.apache.isis.metamodel.facets.object.projection;
import org.apache.isis.applib.annotation.Projecting;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.properties.projection.ProjectingFacet;
@@ -29,6 +28,8 @@ import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.Contributed;
import org.apache.isis.metamodel.spec.feature.OneToOneAssociation;
+import lombok.val;
+
public class ProjectionFacetFromProjectingProperty extends ProjectionFacetAbstract {
public static Class<? extends Facet> type() {
@@ -40,27 +41,25 @@ public class ProjectionFacetFromProjectingProperty extends ProjectionFacetAbstra
private ProjectionFacetFromProjectingProperty(
final OneToOneAssociation projectingProperty,
final FacetHolder holder) {
- super( holder);
+
+ super(holder);
this.projectingProperty = projectingProperty;
}
public static ProjectionFacet create(final ObjectSpecification objectSpecification) {
return objectSpecification.streamProperties(Contributed.EXCLUDED)
- .filter(otoa -> {
- final ProjectingFacet projectingFacet = otoa
- .getFacet(ProjectingFacet.class);
- return projectingFacet != null && !projectingFacet.isNoop()
- && projectingFacet.value() == Projecting.PROJECTED;
- })
- .map(otoa -> new ProjectionFacetFromProjectingProperty(otoa, objectSpecification))
- .findFirst()
- .orElse(null);
+ .filter(propertySpec -> {
+ val projectingFacet = propertySpec.getFacet(ProjectingFacet.class);
+ return projectingFacet != null && !projectingFacet.isNoop()
+ && projectingFacet.value() == Projecting.PROJECTED;
+ })
+ .findFirst()
+ .map(propertySpec -> new ProjectionFacetFromProjectingProperty(propertySpec, objectSpecification))
+ .orElse(null);
}
@Override
- public ObjectAdapter projected(final ManagedObject owningAdapter) {
- return owningAdapter instanceof ObjectAdapter
- ? projectingProperty.get((ObjectAdapter) owningAdapter)
- : null ;
+ public ManagedObject projected(final ManagedObject owningAdapter) {
+ return projectingProperty.get(owningAdapter);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ident/CssClassFacetDerivedFromProjectionFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ident/CssClassFacetDerivedFromProjectionFacet.java
index 8f5db16..eadc706 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ident/CssClassFacetDerivedFromProjectionFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ident/CssClassFacetDerivedFromProjectionFacet.java
@@ -21,13 +21,14 @@ package org.apache.isis.metamodel.facets.object.projection.ident;
import java.util.Map;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.members.cssclass.CssClassFacet;
import org.apache.isis.metamodel.facets.members.cssclass.CssClassFacetAbstract2;
import org.apache.isis.metamodel.facets.object.projection.ProjectionFacet;
import org.apache.isis.metamodel.spec.ManagedObject;
+import lombok.val;
+
public class CssClassFacetDerivedFromProjectionFacet extends CssClassFacetAbstract2 {
private final ProjectionFacet projectionFacet;
@@ -39,8 +40,8 @@ public class CssClassFacetDerivedFromProjectionFacet extends CssClassFacetAbstra
@Override
public String cssClass(final ManagedObject targetAdapter) {
- final ObjectAdapter projectedAdapter = projectionFacet.projected(targetAdapter);
- final CssClassFacet cssClassFacet = projectedAdapter.getSpecification().getFacet(CssClassFacet.class);
+ val projectedAdapter = projectionFacet.projected(targetAdapter);
+ val cssClassFacet = projectedAdapter.getSpecification().getFacet(CssClassFacet.class);
return cssClassFacet != null ? cssClassFacet.cssClass(projectedAdapter) : null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ident/IconFacetDerivedFromProjectionFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ident/IconFacetDerivedFromProjectionFacet.java
index a155db8..b302bd8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ident/IconFacetDerivedFromProjectionFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ident/IconFacetDerivedFromProjectionFacet.java
@@ -21,12 +21,13 @@ package org.apache.isis.metamodel.facets.object.projection.ident;
import java.util.Map;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.object.icon.IconFacetAbstract;
import org.apache.isis.metamodel.facets.object.projection.ProjectionFacet;
import org.apache.isis.metamodel.spec.ManagedObject;
+import lombok.val;
+
public class IconFacetDerivedFromProjectionFacet extends IconFacetAbstract {
private final ProjectionFacet projectionFacet;
@@ -38,7 +39,7 @@ public class IconFacetDerivedFromProjectionFacet extends IconFacetAbstract {
@Override
public String iconName(final ManagedObject targetAdapter) {
- final ObjectAdapter projectedAdapter = projectionFacet.projected(targetAdapter);
+ val projectedAdapter = projectionFacet.projected(targetAdapter);
return projectedAdapter.getSpecification().getIconName(projectedAdapter);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ident/TitleFacetDerivedFromProjectionFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ident/TitleFacetDerivedFromProjectionFacet.java
index 21ff45c..47341f8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ident/TitleFacetDerivedFromProjectionFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/projection/ident/TitleFacetDerivedFromProjectionFacet.java
@@ -21,12 +21,13 @@ package org.apache.isis.metamodel.facets.object.projection.ident;
import java.util.Map;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.object.projection.ProjectionFacet;
import org.apache.isis.metamodel.facets.object.title.TitleFacetAbstract;
import org.apache.isis.metamodel.spec.ManagedObject;
+import lombok.val;
+
public class TitleFacetDerivedFromProjectionFacet extends TitleFacetAbstract {
private final ProjectionFacet projectionFacet;
@@ -38,7 +39,7 @@ public class TitleFacetDerivedFromProjectionFacet extends TitleFacetAbstract {
@Override
public String title(final ManagedObject targetAdapter) {
- final ObjectAdapter projectedAdapter = projectionFacet.projected(targetAdapter);
+ val projectedAdapter = projectionFacet.projected(targetAdapter);
return projectedAdapter.titleString(null);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/objectvalue/choices/ChoicesFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/objectvalue/choices/ChoicesFacet.java
index 2a5fe7f..3f209c3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/objectvalue/choices/ChoicesFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/objectvalue/choices/ChoicesFacet.java
@@ -19,9 +19,9 @@
package org.apache.isis.metamodel.facets.objectvalue.choices;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
public interface ChoicesFacet extends Facet {
@@ -30,7 +30,7 @@ public interface ChoicesFacet extends Facet {
* Gets a set of choices for this object.
*/
public Object[] getChoices(
- final ObjectAdapter adapter,
+ final ManagedObject adapter,
final InteractionInitiatedBy interactionInitiatedBy);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/autocomplete/ActionParameterAutoCompleteFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/autocomplete/ActionParameterAutoCompleteFacet.java
index 94c18fa..4c92da1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/autocomplete/ActionParameterAutoCompleteFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/autocomplete/ActionParameterAutoCompleteFacet.java
@@ -19,9 +19,9 @@
package org.apache.isis.metamodel.facets.param.autocomplete;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* Obtain autocompletion for each of the parameters of the action.
@@ -34,7 +34,7 @@ import org.apache.isis.metamodel.facetapi.Facet;
public interface ActionParameterAutoCompleteFacet extends Facet {
public Object[] autoComplete(
- final ObjectAdapter inObject,
+ final ManagedObject inObject,
final String searchArg,
final InteractionInitiatedBy interactionInitiatedBy);
/**
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethod.java
index 231c526..86066cc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethod.java
@@ -34,6 +34,7 @@ import org.apache.isis.metamodel.facets.FacetedMethodParameter;
import org.apache.isis.metamodel.facets.ImperativeFacet;
import org.apache.isis.metamodel.facets.param.autocomplete.ActionParameterAutoCompleteFacetAbstract;
import org.apache.isis.metamodel.facets.param.autocomplete.MinLengthUtil;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
public class ActionParameterAutoCompleteFacetViaMethod
@@ -75,7 +76,7 @@ extends ActionParameterAutoCompleteFacetAbstract implements ImperativeFacet {
@Override
public Object[] autoComplete(
- final ObjectAdapter owningAdapter,
+ final ManagedObject owningAdapter,
final String searchArg,
final InteractionInitiatedBy interactionInitiatedBy) {
@@ -83,17 +84,17 @@ extends ActionParameterAutoCompleteFacetAbstract implements ImperativeFacet {
if (collectionOrArray == null) {
return _Constants.emptyObjects;
}
- final ObjectAdapter collectionAdapter = getObjectAdapterProvider().adapterFor(collectionOrArray);
+ final ManagedObject collectionAdapter = getObjectAdapterProvider().adapterFor(collectionOrArray);
final FacetedMethodParameter facetedMethodParameter = (FacetedMethodParameter) getFacetHolder();
final Class<?> parameterType = facetedMethodParameter.getType();
- final List<ObjectAdapter> visibleAdapters =
+ final List<ManagedObject> visibleAdapters =
ObjectAdapter.Util.visibleAdapters(
collectionAdapter,
interactionInitiatedBy);
final List<Object> visibleObjects =
- _Lists.map(visibleAdapters, ObjectAdapter.Util::unwrapPojo);
+ _Lists.map(visibleAdapters, ManagedObject::unwrapPojo);
final ObjectSpecification parameterSpec = getSpecification(parameterType);
return CollectionUtils.getCollectionAsObjectArray(visibleObjects, parameterSpec, getObjectAdapterProvider());
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionChoicesFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionChoicesFacet.java
index 97f4873..6e13c51 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionChoicesFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionChoicesFacet.java
@@ -19,9 +19,9 @@
package org.apache.isis.metamodel.facets.param.choices;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* Obtain choices for each of the parameters of the action.
@@ -33,6 +33,6 @@ import org.apache.isis.metamodel.facetapi.Facet;
public interface ActionChoicesFacet extends Facet {
public Object[][] getChoices(
- final ObjectAdapter inObject,
+ final ManagedObject inObject,
final InteractionInitiatedBy interactionInitiatedBy);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionParameterChoicesFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionParameterChoicesFacet.java
index 3f8351a..7f1ff44 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionParameterChoicesFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionParameterChoicesFacet.java
@@ -21,9 +21,9 @@ package org.apache.isis.metamodel.facets.param.choices;
import java.util.List;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* Obtain choices for each of the parameters of the action.
@@ -36,7 +36,7 @@ import org.apache.isis.metamodel.facetapi.Facet;
public interface ActionParameterChoicesFacet extends Facet {
public Object[] getChoices(
- final ObjectAdapter target,
- final List<ObjectAdapter> arguments,
+ final ManagedObject target,
+ final List<ManagedObject> arguments,
final InteractionInitiatedBy interactionInitiatedBy);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionParameterChoicesFacetNone.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionParameterChoicesFacetNone.java
index 1d7aba8..782064f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionParameterChoicesFacetNone.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/ActionParameterChoicesFacetNone.java
@@ -21,9 +21,9 @@ package org.apache.isis.metamodel.facets.param.choices;
import java.util.List;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FacetHolder;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class ActionParameterChoicesFacetNone extends ActionParameterChoicesFacetAbstract {
@@ -33,10 +33,11 @@ public class ActionParameterChoicesFacetNone extends ActionParameterChoicesFacet
@Override
public Object[] getChoices(
- final ObjectAdapter adapter,
- final List<ObjectAdapter> arguments,
+ final ManagedObject adapter,
+ final List<ManagedObject> arguments,
final InteractionInitiatedBy interactionInitiatedBy) {
- return new ObjectAdapter[0];
+
+ return new ManagedObject[0];
}
@Override
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/enums/ActionParameterChoicesFacetDerivedFromChoicesFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/enums/ActionParameterChoicesFacetDerivedFromChoicesFacet.java
index 02d6970..58c1982 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/enums/ActionParameterChoicesFacetDerivedFromChoicesFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/enums/ActionParameterChoicesFacetDerivedFromChoicesFacet.java
@@ -22,12 +22,12 @@ package org.apache.isis.metamodel.facets.param.choices.enums;
import java.util.List;
import org.apache.isis.commons.internal._Constants;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.TypedHolder;
import org.apache.isis.metamodel.facets.objectvalue.choices.ChoicesFacet;
import org.apache.isis.metamodel.facets.param.choices.ActionParameterChoicesFacetAbstract;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
public class ActionParameterChoicesFacetDerivedFromChoicesFacet extends ActionParameterChoicesFacetAbstract {
@@ -38,9 +38,10 @@ public class ActionParameterChoicesFacetDerivedFromChoicesFacet extends ActionPa
@Override
public Object[] getChoices(
- final ObjectAdapter adapter,
- final List<ObjectAdapter> arguments,
+ final ManagedObject adapter,
+ final List<ManagedObject> arguments,
final InteractionInitiatedBy interactionInitiatedBy) {
+
final FacetHolder facetHolder = getFacetHolder();
final TypedHolder paramPeer = (TypedHolder) facetHolder;
final ObjectSpecification noSpec = getSpecification(paramPeer.getType());
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/method/ActionChoicesFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/method/ActionChoicesFacetViaMethod.java
index cfea71a..9f3c518 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/method/ActionChoicesFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/method/ActionChoicesFacetViaMethod.java
@@ -32,6 +32,7 @@ import org.apache.isis.metamodel.facets.CollectionUtils;
import org.apache.isis.metamodel.facets.ImperativeFacet;
import org.apache.isis.metamodel.facets.param.choices.ActionChoicesFacetAbstract;
import org.apache.isis.metamodel.spec.DomainModelException;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import lombok.val;
@@ -67,7 +68,7 @@ public class ActionChoicesFacetViaMethod extends ActionChoicesFacetAbstract impl
@Override
public Object[][] getChoices(
- final ObjectAdapter owningAdapter,
+ final ManagedObject owningAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
final Object objectOrCollection = ObjectAdapter.InvokeUtils.invoke(method, owningAdapter);
if (!(objectOrCollection instanceof Object[])) {
@@ -95,14 +96,14 @@ public class ActionChoicesFacetViaMethod extends ActionChoicesFacetAbstract impl
return null;
}
- final ObjectAdapter collectionAdapter = getObjectAdapterProvider().adapterFor(collectionOrArray);
+ final ManagedObject collectionAdapter = getObjectAdapterProvider().adapterFor(collectionOrArray);
- final List<ObjectAdapter> visibleAdapters =
+ final List<ManagedObject> visibleAdapters =
ObjectAdapter.Util.visibleAdapters(
collectionAdapter,
interactionInitiatedBy);
final List<Object> filteredObjects =
- _Lists.map(visibleAdapters, ObjectAdapter.Util::unwrapPojo);
+ _Lists.map(visibleAdapters, ManagedObject::unwrapPojo);
final ObjectSpecification parameterSpec = getSpecification(parameterType);
return CollectionUtils.getCollectionAsObjectArray(filteredObjects, parameterSpec, getObjectAdapterProvider());
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java
index 5ec52e7..33bdd42 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java
@@ -33,6 +33,7 @@ import org.apache.isis.metamodel.facets.CollectionUtils;
import org.apache.isis.metamodel.facets.FacetedMethodParameter;
import org.apache.isis.metamodel.facets.ImperativeFacet;
import org.apache.isis.metamodel.facets.param.choices.ActionParameterChoicesFacetAbstract;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
public class ActionParameterChoicesFacetViaMethod extends ActionParameterChoicesFacetAbstract implements ImperativeFacet {
@@ -65,25 +66,26 @@ public class ActionParameterChoicesFacetViaMethod extends ActionParameterChoices
@Override
public Object[] getChoices(
- final ObjectAdapter adapter,
- final List<ObjectAdapter> argumentsIfAvailable,
+ final ManagedObject adapter,
+ final List<ManagedObject> argumentsIfAvailable,
final InteractionInitiatedBy interactionInitiatedBy) {
+
final Object choices =
ObjectAdapter.InvokeUtils.invokeAutofit(
method, adapter, argumentsIfAvailable);
if (choices == null) {
return _Constants.emptyObjects;
}
- final ObjectAdapter objectAdapter = getObjectAdapterProvider().adapterFor(choices);
+ final ManagedObject objectAdapter = getObjectAdapterProvider().adapterFor(choices);
final FacetedMethodParameter facetedMethodParameter = (FacetedMethodParameter) getFacetHolder();
final Class<?> parameterType = facetedMethodParameter.getType();
- final List<ObjectAdapter> visibleAdapters =
+ final List<ManagedObject> visibleAdapters =
ObjectAdapter.Util.visibleAdapters(
objectAdapter,
interactionInitiatedBy);
final List<Object> visibleObjects =
- _Lists.map(visibleAdapters, ObjectAdapter.Util::unwrapPojo);
+ _Lists.map(visibleAdapters, ManagedObject::unwrapPojo);
final ObjectSpecification parameterSpec = getSpecification(parameterType);
return CollectionUtils.getCollectionAsObjectArray(visibleObjects, parameterSpec, getObjectAdapterProvider());
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/ActionParameterDefaultsFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/ActionParameterDefaultsFacet.java
index bb88c31..d0764ff 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/ActionParameterDefaultsFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/ActionParameterDefaultsFacet.java
@@ -21,8 +21,8 @@ package org.apache.isis.metamodel.facets.param.defaults;
import java.util.List;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.Facet;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* Obtain defaults for each of the parameters of the action.
@@ -35,7 +35,7 @@ import org.apache.isis.metamodel.facetapi.Facet;
public interface ActionParameterDefaultsFacet extends Facet {
public abstract Object getDefault(
- ObjectAdapter target,
- List<ObjectAdapter> parameters,
+ ManagedObject target,
+ List<ManagedObject> parameters,
final Integer paramNumUpdated);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetDerivedFromTypeFacets.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetDerivedFromTypeFacets.java
index 0684645..08aa3fc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetDerivedFromTypeFacets.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetDerivedFromTypeFacets.java
@@ -21,10 +21,10 @@ package org.apache.isis.metamodel.facets.param.defaults.fromtype;
import java.util.Map;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.actions.defaults.ActionDefaultsFacetAbstract;
import org.apache.isis.metamodel.facets.object.defaults.DefaultedFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class ActionParameterDefaultFacetDerivedFromTypeFacets extends ActionDefaultsFacetAbstract {
@@ -43,7 +43,7 @@ public class ActionParameterDefaultFacetDerivedFromTypeFacets extends ActionDefa
* conceivably change.
*/
@Override
- public Object[] getDefaults(final ObjectAdapter inObject) {
+ public Object[] getDefaults(final ManagedObject inObject) {
final Object[] defaults = new Object[defaultedFacets.length];
for (int i = 0; i < defaults.length; i++) {
if (defaultedFacets[i] != null) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethod.java
index da32a96..a1d0dcb 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethod.java
@@ -28,6 +28,7 @@ import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.ImperativeFacet;
import org.apache.isis.metamodel.facets.param.defaults.ActionParameterDefaultsFacetAbstract;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class ActionParameterDefaultsFacetViaMethod extends ActionParameterDefaultsFacetAbstract implements ImperativeFacet {
@@ -67,8 +68,8 @@ public class ActionParameterDefaultsFacetViaMethod extends ActionParameterDefaul
@Override
public Object getDefault(
- final ObjectAdapter target,
- final List<ObjectAdapter> argumentsIfAvailable,
+ final ManagedObject target,
+ final List<ManagedObject> argumentsIfAvailable,
final Integer paramNumUpdated) {
// this isn't a dependent defaults situation, so just evaluate the default.
@@ -93,7 +94,7 @@ public class ActionParameterDefaultsFacetViaMethod extends ActionParameterDefaul
// otherwise, just return the arguments that are already known; we don't want to recompute the default
// because if we did then this would trample over any pending changes already made by the end-user.
- final ObjectAdapter objectAdapter = argumentsIfAvailable.get(paramNum);
+ final ManagedObject objectAdapter = argumentsIfAvailable.get(paramNum);
return objectAdapter != null ? objectAdapter.getPojo() : null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/disable/ActionParameterDisabledFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/disable/ActionParameterDisabledFacet.java
index 57761f8..6790aeb 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/disable/ActionParameterDisabledFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/disable/ActionParameterDisabledFacet.java
@@ -19,7 +19,6 @@
package org.apache.isis.metamodel.facets.param.disable;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.interactions.DisablingInteractionAdvisor;
import org.apache.isis.metamodel.spec.ManagedObject;
@@ -36,5 +35,5 @@ public interface ActionParameterDisabledFacet extends Facet, DisablingInteractio
/**
* Reason why the parameter is disabled, or <tt>null</tt> if okay.
*/
- public String disabledReason(ManagedObject target, ObjectAdapter[] arguments);
+ public String disabledReason(ManagedObject target, ManagedObject[] arguments);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethod.java
index 76cfbd2..9885d0b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethod.java
@@ -66,7 +66,8 @@ public class ActionParameterDisabledFacetViaMethod extends ActionParameterDisabl
}
@Override
- public String disabledReason(final ManagedObject owningAdapter, final ObjectAdapter[] argumentAdapters) {
+ public String disabledReason(final ManagedObject owningAdapter, final ManagedObject[] argumentAdapters) {
+
final Object returnValue = ObjectAdapter.InvokeUtils.invokeAutofit(method, owningAdapter, argumentAdapters != null ? Arrays.asList(argumentAdapters) : null);
if(returnValue instanceof String) {
return (String) returnValue;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/hide/ActionParameterHiddenFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/hide/ActionParameterHiddenFacet.java
index f0dc1b2..6c39307 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/hide/ActionParameterHiddenFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/hide/ActionParameterHiddenFacet.java
@@ -19,7 +19,6 @@
package org.apache.isis.metamodel.facets.param.hide;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.interactions.HidingInteractionAdvisor;
import org.apache.isis.metamodel.spec.ManagedObject;
@@ -37,5 +36,5 @@ public interface ActionParameterHiddenFacet extends Facet, HidingInteractionAdvi
/**
* Whether the parameter is hidden.
*/
- public boolean isHidden(ManagedObject target, ObjectAdapter[] arguments);
+ public boolean isHidden(ManagedObject target, ManagedObject[] arguments);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethod.java
index c35f4ec..adce8c7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethod.java
@@ -58,7 +58,7 @@ public class ActionParameterHiddenFacetViaMethod extends ActionParameterHiddenFa
}
@Override
- public boolean isHidden(final ManagedObject owningAdapter, final ObjectAdapter[] argumentAdapters) {
+ public boolean isHidden(final ManagedObject owningAdapter, final ManagedObject[] argumentAdapters) {
final Object returnValue = ObjectAdapter.InvokeUtils.invokeAutofit(method, owningAdapter, argumentAdapters != null ? Arrays.asList(argumentAdapters) : null);
if(returnValue instanceof Boolean) {
return (Boolean) returnValue;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/validate/ActionParameterValidationFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/validate/ActionParameterValidationFacet.java
index 2d0ed1f..9230681 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/validate/ActionParameterValidationFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/validate/ActionParameterValidationFacet.java
@@ -19,7 +19,6 @@
package org.apache.isis.metamodel.facets.param.validate;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.interactions.ValidatingInteractionAdvisor;
import org.apache.isis.metamodel.spec.ManagedObject;
@@ -42,5 +41,5 @@ public interface ActionParameterValidationFacet extends Facet, ValidatingInterac
/**
* Reason why the validation has failed, or <tt>null</tt> if okay.
*/
- public String invalidReason(ManagedObject target, ObjectAdapter arguments);
+ public String invalidReason(ManagedObject target, ManagedObject arguments);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethod.java
index 58a02ad..60b57e2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethod.java
@@ -60,7 +60,7 @@ public class ActionParameterValidationFacetViaMethod extends ActionParameterVali
}
@Override
- public String invalidReason(final ManagedObject owningAdapter, final ObjectAdapter proposedArgumentAdapter) {
+ public String invalidReason(final ManagedObject owningAdapter, final ManagedObject proposedArgumentAdapter) {
final Object returnValue = ObjectAdapter.InvokeUtils.invoke(method, owningAdapter, proposedArgumentAdapter);
if(returnValue instanceof String) {
return (String) returnValue;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/autocomplete/PropertyAutoCompleteFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/autocomplete/PropertyAutoCompleteFacet.java
index 82c6d75..6897c48 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/autocomplete/PropertyAutoCompleteFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/autocomplete/PropertyAutoCompleteFacet.java
@@ -19,9 +19,9 @@
package org.apache.isis.metamodel.facets.properties.autocomplete;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* Provides a set of auto-complete choices for a property.
@@ -41,7 +41,7 @@ public interface PropertyAutoCompleteFacet extends Facet {
* Gets the available auto-complete choices for this property.
*/
public Object[] autoComplete(
- final ObjectAdapter inObject,
+ final ManagedObject inObject,
final String searchArg,
final InteractionInitiatedBy interactionInitiatedBy);
/**
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/autocomplete/method/PropertyAutoCompleteFacetMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/autocomplete/method/PropertyAutoCompleteFacetMethod.java
index b8768df..a3fc20a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/autocomplete/method/PropertyAutoCompleteFacetMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/autocomplete/method/PropertyAutoCompleteFacetMethod.java
@@ -33,6 +33,7 @@ import org.apache.isis.metamodel.facets.FacetedMethod;
import org.apache.isis.metamodel.facets.ImperativeFacet;
import org.apache.isis.metamodel.facets.param.autocomplete.MinLengthUtil;
import org.apache.isis.metamodel.facets.properties.autocomplete.PropertyAutoCompleteFacetAbstract;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
public class PropertyAutoCompleteFacetMethod extends PropertyAutoCompleteFacetAbstract implements ImperativeFacet {
@@ -72,7 +73,7 @@ public class PropertyAutoCompleteFacetMethod extends PropertyAutoCompleteFacetAb
@Override
public Object[] autoComplete(
- final ObjectAdapter owningAdapter,
+ final ManagedObject owningAdapter,
final String searchArg,
final InteractionInitiatedBy interactionInitiatedBy) {
@@ -86,12 +87,12 @@ public class PropertyAutoCompleteFacetMethod extends PropertyAutoCompleteFacetAb
final FacetedMethod facetedMethod = (FacetedMethod) getFacetHolder();
final Class<?> propertyType = facetedMethod.getType();
- final List<ObjectAdapter> visibleAdapters =
+ final List<ManagedObject> visibleAdapters =
ObjectAdapter.Util.visibleAdapters(
collectionAdapter,
interactionInitiatedBy);
final List<Object> filteredObjects =
- _Lists.map(visibleAdapters, ObjectAdapter.Util::unwrapPojo);
+ _Lists.map(visibleAdapters, ManagedObject::unwrapPojo);
final ObjectSpecification propertySpec = getSpecification(propertyType);
return CollectionUtils.getCollectionAsObjectArray(filteredObjects, propertySpec, getObjectAdapterProvider());
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/choices/PropertyChoicesFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/choices/PropertyChoicesFacet.java
index 36d4816..eab312a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/choices/PropertyChoicesFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/choices/PropertyChoicesFacet.java
@@ -19,9 +19,9 @@
package org.apache.isis.metamodel.facets.properties.choices;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* Provides a set of choices for a property.
@@ -45,6 +45,6 @@ public interface PropertyChoicesFacet extends Facet {
* Gets the available choices for this property.
*/
public Object[] getChoices(
- final ObjectAdapter adapter,
+ final ManagedObject adapter,
final InteractionInitiatedBy interactionInitiatedBy);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/choices/enums/PropertyChoicesFacetDerivedFromChoicesFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/choices/enums/PropertyChoicesFacetDerivedFromChoicesFacet.java
index ff2c019..0649ae8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/choices/enums/PropertyChoicesFacetDerivedFromChoicesFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/choices/enums/PropertyChoicesFacetDerivedFromChoicesFacet.java
@@ -20,12 +20,12 @@
package org.apache.isis.metamodel.facets.properties.choices.enums;
import org.apache.isis.commons.internal._Constants;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.FacetedMethod;
import org.apache.isis.metamodel.facets.objectvalue.choices.ChoicesFacet;
import org.apache.isis.metamodel.facets.properties.choices.PropertyChoicesFacetAbstract;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
public class PropertyChoicesFacetDerivedFromChoicesFacet extends PropertyChoicesFacetAbstract {
@@ -36,7 +36,7 @@ public class PropertyChoicesFacetDerivedFromChoicesFacet extends PropertyChoices
@Override
public Object[] getChoices(
- final ObjectAdapter adapter,
+ final ManagedObject adapter,
final InteractionInitiatedBy interactionInitiatedBy) {
final FacetHolder facetHolder = getFacetHolder();
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java
index beb6c55..2e67ed8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java
@@ -31,6 +31,7 @@ import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.CollectionUtils;
import org.apache.isis.metamodel.facets.ImperativeFacet;
import org.apache.isis.metamodel.facets.properties.choices.PropertyChoicesFacetAbstract;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
public class PropertyChoicesFacetViaMethod extends PropertyChoicesFacetAbstract implements ImperativeFacet {
@@ -64,7 +65,7 @@ public class PropertyChoicesFacetViaMethod extends PropertyChoicesFacetAbstract
@Override
public Object[] getChoices(
- final ObjectAdapter owningAdapter,
+ final ManagedObject owningAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
final Object options = ObjectAdapter.InvokeUtils.invoke(method, owningAdapter);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/defaults/PropertyDefaultFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/defaults/PropertyDefaultFacet.java
index 89184f8..07d2986 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/defaults/PropertyDefaultFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/defaults/PropertyDefaultFacet.java
@@ -19,9 +19,9 @@
package org.apache.isis.metamodel.facets.properties.defaults;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.facets.object.callbacks.CreatedCallbackFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* Provides a default value for a property of a newly created object.
@@ -42,5 +42,5 @@ public interface PropertyDefaultFacet extends Facet {
/**
* The default value for this property in a newly created object.
*/
- public ObjectAdapter getDefault(ObjectAdapter inObject);
+ public ManagedObject getDefault(ManagedObject inObject);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/defaults/PropertyDefaultFacetNone.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/defaults/PropertyDefaultFacetNone.java
index 7232596..f329162 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/defaults/PropertyDefaultFacetNone.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/defaults/PropertyDefaultFacetNone.java
@@ -21,6 +21,7 @@ package org.apache.isis.metamodel.facets.properties.defaults;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class PropertyDefaultFacetNone extends PropertyDefaultFacetAbstract {
@@ -32,7 +33,7 @@ public class PropertyDefaultFacetNone extends PropertyDefaultFacetAbstract {
* Provides a default of <tt>null</tt>.
*/
@Override
- public ObjectAdapter getDefault(final ObjectAdapter inObject) {
+ public ManagedObject getDefault(final ManagedObject inObject) {
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/defaults/fromtype/PropertyDefaultFacetDerivedFromDefaultedFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/defaults/fromtype/PropertyDefaultFacetDerivedFromDefaultedFacet.java
index e3e0855..ec1b108 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/defaults/fromtype/PropertyDefaultFacetDerivedFromDefaultedFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/defaults/fromtype/PropertyDefaultFacetDerivedFromDefaultedFacet.java
@@ -21,11 +21,11 @@ package org.apache.isis.metamodel.facets.properties.defaults.fromtype;
import java.util.Map;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetAbstract;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.object.defaults.DefaultedFacet;
import org.apache.isis.metamodel.facets.properties.defaults.PropertyDefaultFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class PropertyDefaultFacetDerivedFromDefaultedFacet extends FacetAbstract implements PropertyDefaultFacet {
@@ -39,7 +39,7 @@ public class PropertyDefaultFacetDerivedFromDefaultedFacet extends FacetAbstract
}
@Override
- public ObjectAdapter getDefault(final ObjectAdapter inObject) {
+ public ManagedObject getDefault(final ManagedObject inObject) {
if (getIdentified() == null) {
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/defaults/method/PropertyDefaultFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/defaults/method/PropertyDefaultFacetViaMethod.java
index c55396a..4fd00d5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/defaults/method/PropertyDefaultFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/defaults/method/PropertyDefaultFacetViaMethod.java
@@ -29,7 +29,9 @@ import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.ImperativeFacet;
import org.apache.isis.metamodel.facets.properties.defaults.PropertyDefaultFacetAbstract;
-import org.apache.isis.metamodel.spec.ObjectSpecification;
+import org.apache.isis.metamodel.spec.ManagedObject;
+
+import lombok.val;
public class PropertyDefaultFacetViaMethod extends PropertyDefaultFacetAbstract implements ImperativeFacet {
@@ -57,7 +59,7 @@ public class PropertyDefaultFacetViaMethod extends PropertyDefaultFacetAbstract
}
@Override
- public ObjectAdapter getDefault(final ObjectAdapter owningAdapter) {
+ public ManagedObject getDefault(final ManagedObject owningAdapter) {
final Object result = ObjectAdapter.InvokeUtils.invoke(method, owningAdapter);
if (result == null) {
return null;
@@ -65,8 +67,8 @@ public class PropertyDefaultFacetViaMethod extends PropertyDefaultFacetAbstract
return createAdapter(method.getReturnType(), result);
}
- private ObjectAdapter createAdapter(final Class<?> type, final Object object) {
- final ObjectSpecification specification = getSpecificationLoader().loadSpecification(type);
+ private ManagedObject createAdapter(final Class<?> type, final Object object) {
+ val specification = getSpecificationLoader().loadSpecification(type);
if (specification.isNotCollection()) {
return getObjectAdapterProvider().adapterFor(object);
} else {
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/property/modify/PropertySetterOrClearFacetForDomainEventAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/property/modify/PropertySetterOrClearFacetForDomainEventAbstract.java
index 47a94f6..4369069 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/property/modify/PropertySetterOrClearFacetForDomainEventAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/property/modify/PropertySetterOrClearFacetForDomainEventAbstract.java
@@ -32,7 +32,6 @@ import org.apache.isis.applib.services.command.spi.CommandService;
import org.apache.isis.applib.services.iactn.Interaction;
import org.apache.isis.applib.services.iactn.InteractionContext;
import org.apache.isis.commons.exceptions.IsisException;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.facetapi.FacetHolder;
@@ -45,6 +44,7 @@ import org.apache.isis.metamodel.facets.properties.update.clear.PropertyClearFac
import org.apache.isis.metamodel.facets.properties.update.modify.PropertySetterFacet;
import org.apache.isis.metamodel.services.ixn.InteractionDtoServiceInternal;
import org.apache.isis.metamodel.services.publishing.PublishingServiceInternal;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.schema.ixn.v1.PropertyEditDto;
@@ -86,8 +86,8 @@ extends SingleValueFacetAbstract<Class<? extends PropertyDomainEvent<?,?>>> {
void invoke(
final PropertySetterOrClearFacetForDomainEventAbstract facet,
final OneToOneAssociation owningProperty,
- final ObjectAdapter targetAdapter,
- final ObjectAdapter valueAdapterOrNull,
+ final ManagedObject targetAdapter,
+ final ManagedObject valueAdapterOrNull,
final InteractionInitiatedBy interactionInitiatedBy) {
facet.setterFacet.setProperty(
owningProperty, targetAdapter, valueAdapterOrNull, interactionInitiatedBy);
@@ -104,8 +104,8 @@ extends SingleValueFacetAbstract<Class<? extends PropertyDomainEvent<?,?>>> {
void invoke(
final PropertySetterOrClearFacetForDomainEventAbstract facet,
final OneToOneAssociation owningProperty,
- final ObjectAdapter targetAdapter,
- final ObjectAdapter valueAdapterOrNull,
+ final ManagedObject targetAdapter,
+ final ManagedObject valueAdapterOrNull,
final InteractionInitiatedBy interactionInitiatedBy) {
facet.clearFacet.clearProperty(
@@ -119,14 +119,14 @@ extends SingleValueFacetAbstract<Class<? extends PropertyDomainEvent<?,?>>> {
abstract void invoke(
final PropertySetterOrClearFacetForDomainEventAbstract facet,
final OneToOneAssociation owningProperty,
- final ObjectAdapter targetAdapter,
- final ObjectAdapter valueAdapterOrNull,
+ final ManagedObject targetAdapter,
+ final ManagedObject valueAdapterOrNull,
final InteractionInitiatedBy interactionInitiatedBy);
}
public void clearProperty(
final OneToOneAssociation owningProperty,
- final ObjectAdapter targetAdapter,
+ final ManagedObject targetAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
setOrClearProperty(Style.CLEAR,
@@ -136,8 +136,8 @@ extends SingleValueFacetAbstract<Class<? extends PropertyDomainEvent<?,?>>> {
public void setProperty(
final OneToOneAssociation owningProperty,
- final ObjectAdapter targetAdapter,
- final ObjectAdapter newValueAdapter,
+ final ManagedObject targetAdapter,
+ final ManagedObject newValueAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
setOrClearProperty(Style.SET,
@@ -148,11 +148,11 @@ extends SingleValueFacetAbstract<Class<? extends PropertyDomainEvent<?,?>>> {
private void setOrClearProperty(
final Style style,
final OneToOneAssociation owningProperty,
- final ObjectAdapter targetAdapter,
- final ObjectAdapter newValueAdapter,
+ final ManagedObject targetAdapter,
+ final ManagedObject newValueAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
- final ObjectAdapter mixedInAdapter = null;
+ final ManagedObject mixedInAdapter = null;
getTransactionService().executeWithinTransaction(()->{
doSetOrClearProperty(style, owningProperty, targetAdapter, mixedInAdapter, newValueAdapter, interactionInitiatedBy);
@@ -163,9 +163,9 @@ extends SingleValueFacetAbstract<Class<? extends PropertyDomainEvent<?,?>>> {
private void doSetOrClearProperty(
final Style style,
final OneToOneAssociation owningProperty,
- final ObjectAdapter targetAdapter,
- final ObjectAdapter mixedInAdapter,
- final ObjectAdapter newValueAdapter,
+ final ManagedObject targetAdapter,
+ final ManagedObject mixedInAdapter,
+ final ManagedObject newValueAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
// similar code in ActionInvocationFacetFDEA
@@ -197,8 +197,8 @@ extends SingleValueFacetAbstract<Class<? extends PropertyDomainEvent<?,?>>> {
} else {
- final Object target = ObjectAdapter.Util.unwrapPojo(targetAdapter);
- final Object argValue = ObjectAdapter.Util.unwrapPojo(newValueAdapter);
+ final Object target = ManagedObject.unwrapPojo(targetAdapter);
+ final Object argValue = ManagedObject.unwrapPojo(newValueAdapter);
final String targetMember = CommandUtil.targetMemberNameFor(owningProperty);
final String targetClass = CommandUtil.targetClassNameFor(targetAdapter);
@@ -230,7 +230,7 @@ extends SingleValueFacetAbstract<Class<? extends PropertyDomainEvent<?,?>>> {
// ... post the executing event
final Object oldValue = getterFacet.getProperty(targetAdapter, interactionInitiatedBy);
- final Object newValue = ObjectAdapter.Util.unwrapPojo(newValueAdapter);
+ final Object newValue = ManagedObject.unwrapPojo(newValueAdapter);
final PropertyDomainEvent<?, ?> event =
domainEventHelper.postEventForProperty(
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/clear/PropertyClearFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/clear/PropertyClearFacet.java
index 885dba4..36414cd 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/clear/PropertyClearFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/clear/PropertyClearFacet.java
@@ -19,9 +19,9 @@
package org.apache.isis.metamodel.facets.properties.update.clear;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.OneToOneAssociation;
/**
@@ -38,6 +38,6 @@ public interface PropertyClearFacet extends Facet {
void clearProperty(
final OneToOneAssociation owningProperty,
- final ObjectAdapter targetAdapter,
+ final ManagedObject targetAdapter,
final InteractionInitiatedBy interactionInitiatedBy);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/clear/PropertyClearFacetViaClearMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/clear/PropertyClearFacetViaClearMethod.java
index bbfeaaa..3602b5a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/clear/PropertyClearFacetViaClearMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/clear/PropertyClearFacetViaClearMethod.java
@@ -28,6 +28,7 @@ import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.ImperativeFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.OneToOneAssociation;
public class PropertyClearFacetViaClearMethod extends PropertyClearFacetAbstract implements ImperativeFacet {
@@ -56,7 +57,7 @@ public class PropertyClearFacetViaClearMethod extends PropertyClearFacetAbstract
@Override
public void clearProperty(
final OneToOneAssociation owningProperty,
- final ObjectAdapter targetAdapter,
+ final ManagedObject targetAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
ObjectAdapter.InvokeUtils.invoke(method, targetAdapter);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/clear/PropertyClearFacetViaSetterMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/clear/PropertyClearFacetViaSetterMethod.java
index 34cf72f..667ca10 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/clear/PropertyClearFacetViaSetterMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/clear/PropertyClearFacetViaSetterMethod.java
@@ -28,6 +28,7 @@ import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.ImperativeFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.OneToOneAssociation;
public class PropertyClearFacetViaSetterMethod extends PropertyClearFacetAbstract implements ImperativeFacet {
@@ -56,8 +57,9 @@ public class PropertyClearFacetViaSetterMethod extends PropertyClearFacetAbstrac
@Override
public void clearProperty(
final OneToOneAssociation owningProperty,
- final ObjectAdapter targetAdapter,
+ final ManagedObject targetAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
+
ObjectAdapter.InvokeUtils.invoke(method, targetAdapter);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/init/PropertyInitializationFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/init/PropertyInitializationFacet.java
index 1c09383..4e3886f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/init/PropertyInitializationFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/init/PropertyInitializationFacet.java
@@ -19,9 +19,9 @@
package org.apache.isis.metamodel.facets.properties.update.init;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* The mechanism by which the value of the property can be initialised.
@@ -44,5 +44,5 @@ public interface PropertyInitializationFacet extends Facet {
/**
* Sets the value of this property.
*/
- public void initProperty(ObjectAdapter inObject, ObjectAdapter value);
+ public void initProperty(ManagedObject inObject, ManagedObject value);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/init/PropertyInitializationFacetViaSetterMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/init/PropertyInitializationFacetViaSetterMethod.java
index 099d25c..93fc359 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/init/PropertyInitializationFacetViaSetterMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/init/PropertyInitializationFacetViaSetterMethod.java
@@ -27,6 +27,7 @@ import java.util.Map;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.ImperativeFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class PropertyInitializationFacetViaSetterMethod extends PropertyInitializationFacetAbstract implements ImperativeFacet {
@@ -54,7 +55,7 @@ public class PropertyInitializationFacetViaSetterMethod extends PropertyInitiali
}
@Override
- public void initProperty(final ObjectAdapter owningAdapter, final ObjectAdapter initialAdapter) {
+ public void initProperty(final ManagedObject owningAdapter, final ManagedObject initialAdapter) {
ObjectAdapter.InvokeUtils.invoke(method, owningAdapter, initialAdapter);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/modify/PropertySetterFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/modify/PropertySetterFacet.java
index 3edd158..7ad7a69 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/modify/PropertySetterFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/modify/PropertySetterFacet.java
@@ -19,10 +19,10 @@
package org.apache.isis.metamodel.facets.properties.update.modify;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.OneToOneAssociation;
/**
@@ -43,7 +43,7 @@ public interface PropertySetterFacet extends Facet {
*/
void setProperty(
final OneToOneAssociation owningAssociation,
- final ObjectAdapter inObject,
- final ObjectAdapter value,
+ final ManagedObject inObject,
+ final ManagedObject value,
final InteractionInitiatedBy interactionInitiatedBy);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/modify/PropertySetterFacetViaModifyMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/modify/PropertySetterFacetViaModifyMethod.java
index c065da7..b214c42 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/modify/PropertySetterFacetViaModifyMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/modify/PropertySetterFacetViaModifyMethod.java
@@ -28,6 +28,7 @@ import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.ImperativeFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.OneToOneAssociation;
public class PropertySetterFacetViaModifyMethod extends PropertySetterFacetAbstract implements ImperativeFacet {
@@ -58,8 +59,8 @@ public class PropertySetterFacetViaModifyMethod extends PropertySetterFacetAbstr
@Override
public void setProperty(
final OneToOneAssociation owningAssociation,
- final ObjectAdapter targetAdapter,
- final ObjectAdapter valueAdapter,
+ final ManagedObject targetAdapter,
+ final ManagedObject valueAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
ObjectAdapter.InvokeUtils.invoke(method, targetAdapter, valueAdapter);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/modify/PropertySetterFacetViaSetterMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/modify/PropertySetterFacetViaSetterMethod.java
index c7cd60a..0460455 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/modify/PropertySetterFacetViaSetterMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/update/modify/PropertySetterFacetViaSetterMethod.java
@@ -28,6 +28,7 @@ import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.ImperativeFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.OneToOneAssociation;
public class PropertySetterFacetViaSetterMethod extends PropertySetterFacetAbstract implements ImperativeFacet {
@@ -56,9 +57,10 @@ public class PropertySetterFacetViaSetterMethod extends PropertySetterFacetAbstr
@Override
public void setProperty(
final OneToOneAssociation owningAssociation,
- final ObjectAdapter adapter,
- final ObjectAdapter valueAdapter,
+ final ManagedObject adapter,
+ final ManagedObject valueAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
+
ObjectAdapter.InvokeUtils.invoke(method, adapter, valueAdapter);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/booleans/BooleanPrimitiveValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/booleans/BooleanPrimitiveValueSemanticsProvider.java
index 9fa65c5..706bc68 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/booleans/BooleanPrimitiveValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/booleans/BooleanPrimitiveValueSemanticsProvider.java
@@ -24,6 +24,7 @@ import org.apache.isis.applib.adapters.Parser;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.properties.defaults.PropertyDefaultFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class BooleanPrimitiveValueSemanticsProvider extends BooleanValueSemanticsProviderAbstract implements PropertyDefaultFacet {
@@ -47,29 +48,9 @@ public class BooleanPrimitiveValueSemanticsProvider extends BooleanValueSemantic
// //////////////////////////////////////////////////////////////////
@Override
- public ObjectAdapter getDefault(final ObjectAdapter inObject) {
+ public ObjectAdapter getDefault(final ManagedObject inObject) {
return createAdapter(boolean.class, Boolean.FALSE);
}
- // //////////////////////////////////////////////////////////////////
- // BooleanValueFacet impl
- // //////////////////////////////////////////////////////////////////
-
- // @Override
- // public void reset(final ObjectAdapter object) {
- // object.replacePojo(Boolean.FALSE);
- // }
- //
- // @Override
- // public void set(final ObjectAdapter object) {
- // object.replacePojo(Boolean.TRUE);
- // }
- //
- // @Override
- // public void toggle(final ObjectAdapter object) {
- // final boolean current = ((Boolean) object.getObject()).booleanValue();
- // final boolean toggled = !current;
- // object.replacePojo(Boolean.valueOf(toggled));
- // }
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/bytes/BytePrimitiveValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/bytes/BytePrimitiveValueSemanticsProvider.java
index b73e399..98c06d4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/bytes/BytePrimitiveValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/bytes/BytePrimitiveValueSemanticsProvider.java
@@ -21,9 +21,9 @@ package org.apache.isis.metamodel.facets.value.bytes;
import org.apache.isis.applib.adapters.EncoderDecoder;
import org.apache.isis.applib.adapters.Parser;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.properties.defaults.PropertyDefaultFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class BytePrimitiveValueSemanticsProvider extends ByteValueSemanticsProviderAbstract implements PropertyDefaultFacet {
@@ -45,7 +45,7 @@ public class BytePrimitiveValueSemanticsProvider extends ByteValueSemanticsProvi
// //////////////////////////////////////////////////////////////////
@Override
- public ObjectAdapter getDefault(final ObjectAdapter adapter) {
+ public ManagedObject getDefault(final ManagedObject adapter) {
return createAdapter(byte.class, Byte.valueOf((byte) 0));
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/chars/CharPrimitiveValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/chars/CharPrimitiveValueSemanticsProvider.java
index 25b22e6..00bfe5d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/chars/CharPrimitiveValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/chars/CharPrimitiveValueSemanticsProvider.java
@@ -21,9 +21,9 @@ package org.apache.isis.metamodel.facets.value.chars;
import org.apache.isis.applib.adapters.EncoderDecoder;
import org.apache.isis.applib.adapters.Parser;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.properties.defaults.PropertyDefaultFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class CharPrimitiveValueSemanticsProvider extends CharValueSemanticsProviderAbstract implements PropertyDefaultFacet {
@@ -45,7 +45,7 @@ public class CharPrimitiveValueSemanticsProvider extends CharValueSemanticsProvi
// //////////////////////////////////////////////////////////////////
@Override
- public ObjectAdapter getDefault(final ObjectAdapter inObject) {
+ public ManagedObject getDefault(final ManagedObject inObject) {
return createAdapter(char.class, Character.valueOf(' '));
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/doubles/DoublePrimitiveValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/doubles/DoublePrimitiveValueSemanticsProvider.java
index ce70615..a044cde 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/doubles/DoublePrimitiveValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/doubles/DoublePrimitiveValueSemanticsProvider.java
@@ -21,9 +21,9 @@ package org.apache.isis.metamodel.facets.value.doubles;
import org.apache.isis.applib.adapters.EncoderDecoder;
import org.apache.isis.applib.adapters.Parser;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.properties.defaults.PropertyDefaultFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class DoublePrimitiveValueSemanticsProvider extends DoubleValueSemanticsProviderAbstract implements PropertyDefaultFacet {
@@ -45,7 +45,7 @@ public class DoublePrimitiveValueSemanticsProvider extends DoubleValueSemanticsP
// //////////////////////////////////////////////////////////////////
@Override
- public ObjectAdapter getDefault(final ObjectAdapter inObject) {
+ public ManagedObject getDefault(final ManagedObject inObject) {
return createAdapter(double.class, new Double(0.0));
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/floats/FloatPrimitiveValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/floats/FloatPrimitiveValueSemanticsProvider.java
index 532640e..bc5f05f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/floats/FloatPrimitiveValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/floats/FloatPrimitiveValueSemanticsProvider.java
@@ -21,9 +21,9 @@ package org.apache.isis.metamodel.facets.value.floats;
import org.apache.isis.applib.adapters.EncoderDecoder;
import org.apache.isis.applib.adapters.Parser;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.properties.defaults.PropertyDefaultFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class FloatPrimitiveValueSemanticsProvider extends FloatValueSemanticsProviderAbstract implements PropertyDefaultFacet {
@@ -45,7 +45,7 @@ public class FloatPrimitiveValueSemanticsProvider extends FloatValueSemanticsPro
// //////////////////////////////////////////////////////////////////
@Override
- public ObjectAdapter getDefault(final ObjectAdapter adapter) {
+ public ManagedObject getDefault(final ManagedObject adapter) {
return createAdapter(float.class, new Float(0.0f));
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/integer/IntPrimitiveValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/integer/IntPrimitiveValueSemanticsProvider.java
index 2236f46..b0a3932 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/integer/IntPrimitiveValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/integer/IntPrimitiveValueSemanticsProvider.java
@@ -21,9 +21,9 @@ package org.apache.isis.metamodel.facets.value.integer;
import org.apache.isis.applib.adapters.EncoderDecoder;
import org.apache.isis.applib.adapters.Parser;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.properties.defaults.PropertyDefaultFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class IntPrimitiveValueSemanticsProvider extends IntValueSemanticsProviderAbstract implements PropertyDefaultFacet {
@@ -45,7 +45,7 @@ public class IntPrimitiveValueSemanticsProvider extends IntValueSemanticsProvide
// //////////////////////////////////////////////////////////////////
@Override
- public ObjectAdapter getDefault(final ObjectAdapter inObject) {
+ public ManagedObject getDefault(final ManagedObject inObject) {
return createAdapter(int.class, Integer.valueOf(0));
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/longs/LongPrimitiveValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/longs/LongPrimitiveValueSemanticsProvider.java
index 1349fad..70c1cec 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/longs/LongPrimitiveValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/longs/LongPrimitiveValueSemanticsProvider.java
@@ -21,9 +21,9 @@ package org.apache.isis.metamodel.facets.value.longs;
import org.apache.isis.applib.adapters.EncoderDecoder;
import org.apache.isis.applib.adapters.Parser;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.properties.defaults.PropertyDefaultFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class LongPrimitiveValueSemanticsProvider extends LongValueSemanticsProviderAbstract implements PropertyDefaultFacet {
@@ -45,7 +45,7 @@ public class LongPrimitiveValueSemanticsProvider extends LongValueSemanticsProvi
// //////////////////////////////////////////////////////////////////
@Override
- public ObjectAdapter getDefault(final ObjectAdapter inObject) {
+ public ManagedObject getDefault(final ManagedObject inObject) {
return createAdapter(long.class, Long.valueOf(0L));
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/shortint/ShortPrimitiveValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/shortint/ShortPrimitiveValueSemanticsProvider.java
index 48bfa28..b504a5e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/shortint/ShortPrimitiveValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/shortint/ShortPrimitiveValueSemanticsProvider.java
@@ -21,9 +21,9 @@ package org.apache.isis.metamodel.facets.value.shortint;
import org.apache.isis.applib.adapters.EncoderDecoder;
import org.apache.isis.applib.adapters.Parser;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.properties.defaults.PropertyDefaultFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class ShortPrimitiveValueSemanticsProvider extends ShortValueSemanticsProviderAbstract implements PropertyDefaultFacet {
@@ -45,7 +45,7 @@ public class ShortPrimitiveValueSemanticsProvider extends ShortValueSemanticsPro
// //////////////////////////////////////////////////////////////////
@Override
- public ObjectAdapter getDefault(final ObjectAdapter inObject) {
+ public ManagedObject getDefault(final ManagedObject inObject) {
return createAdapter(short.class, Short.valueOf((short) 0));
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgUsabilityContext.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgUsabilityContext.java
index bb83c32..89f238f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgUsabilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgUsabilityContext.java
@@ -23,9 +23,9 @@ import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.events.ActionArgumentUsabilityEvent;
import org.apache.isis.applib.services.wrapper.events.ActionArgumentEvent;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionContextType;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import static org.apache.isis.metamodel.adapter.ObjectAdapter.Util.unwrapPojo;
@@ -40,14 +40,14 @@ extends UsabilityContext<ActionArgumentUsabilityEvent>
implements ActionInteractionContext {
private final ObjectAction objectAction;
- private final ObjectAdapter[] args;
+ private final ManagedObject[] args;
private final int position;
public ActionArgUsabilityContext(
- final ObjectAdapter targetAdapter,
+ final ManagedObject targetAdapter,
final ObjectAction objectAction,
final Identifier id,
- final ObjectAdapter[] args,
+ final ManagedObject[] args,
final int position,
final InteractionInitiatedBy interactionInitiatedBy) {
super(InteractionContextType.ACTION_PARAMETER_USABLE, targetAdapter, id, interactionInitiatedBy, Where.OBJECT_FORMS);
@@ -62,7 +62,7 @@ implements ActionInteractionContext {
return objectAction;
}
- public ObjectAdapter[] getArgs() {
+ public ManagedObject[] getArgs() {
return args;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgValidityContext.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgValidityContext.java
index c65ef20..6923a60 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgValidityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgValidityContext.java
@@ -24,6 +24,7 @@ import org.apache.isis.applib.services.wrapper.events.ActionArgumentEvent;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionContextType;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import static org.apache.isis.metamodel.adapter.ObjectAdapter.Util.unwrapPojo;
@@ -35,15 +36,15 @@ import static org.apache.isis.metamodel.adapter.ObjectAdapter.Util.unwrapPojo;
public class ActionArgValidityContext extends ValidityContext<ActionArgumentEvent> implements ProposedHolder, ActionInteractionContext {
private final ObjectAction objectAction;
- private final ObjectAdapter[] args;
+ private final ManagedObject[] args;
private final int position;
- private final ObjectAdapter proposed;
+ private final ManagedObject proposed;
public ActionArgValidityContext(
- final ObjectAdapter targetAdapter,
+ final ManagedObject targetAdapter,
final ObjectAction objectAction,
final Identifier id,
- final ObjectAdapter[] args,
+ final ManagedObject[] args,
final int position,
final InteractionInitiatedBy interactionInitiatedBy) {
super(InteractionContextType.ACTION_PROPOSED_ARGUMENT, targetAdapter, id, interactionInitiatedBy);
@@ -59,7 +60,7 @@ public class ActionArgValidityContext extends ValidityContext<ActionArgumentEven
return objectAction;
}
- public ObjectAdapter[] getArgs() {
+ public ManagedObject[] getArgs() {
return args;
}
@@ -68,7 +69,7 @@ public class ActionArgValidityContext extends ValidityContext<ActionArgumentEven
}
@Override
- public ObjectAdapter getProposed() {
+ public ManagedObject getProposed() {
return proposed;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgVisibilityContext.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgVisibilityContext.java
index 3dfa2b8..32cf689 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgVisibilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionArgVisibilityContext.java
@@ -23,9 +23,9 @@ import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.events.ActionArgumentVisibilityEvent;
import org.apache.isis.applib.services.wrapper.events.ActionArgumentEvent;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionContextType;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import static org.apache.isis.metamodel.adapter.ObjectAdapter.Util.unwrapPojo;
@@ -38,14 +38,14 @@ import static org.apache.isis.metamodel.adapter.ObjectAdapter.Util.unwrapPojoArr
public class ActionArgVisibilityContext extends VisibilityContext<ActionArgumentVisibilityEvent> implements ActionInteractionContext {
private final ObjectAction objectAction;
- private final ObjectAdapter[] args;
+ private final ManagedObject[] args;
private final int position;
public ActionArgVisibilityContext(
- final ObjectAdapter targetAdapter,
+ final ManagedObject targetAdapter,
final ObjectAction objectAction,
final Identifier id,
- final ObjectAdapter[] args,
+ final ManagedObject[] args,
final int position,
final InteractionInitiatedBy interactionInitiatedBy) {
super(InteractionContextType.ACTION_PARAMETER_VISIBLE, targetAdapter, id, interactionInitiatedBy, Where.OBJECT_FORMS);
@@ -60,7 +60,7 @@ public class ActionArgVisibilityContext extends VisibilityContext<ActionArgument
return objectAction;
}
- public ObjectAdapter[] getArgs() {
+ public ManagedObject[] getArgs() {
return args;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionValidityContext.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionValidityContext.java
index 68741a3..3dd7f57 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionValidityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ActionValidityContext.java
@@ -21,9 +21,9 @@ package org.apache.isis.metamodel.interactions;
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.services.wrapper.events.ActionInvocationEvent;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionContextType;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import static org.apache.isis.metamodel.adapter.ObjectAdapter.Util.unwrapPojo;
@@ -35,13 +35,13 @@ import static org.apache.isis.metamodel.adapter.ObjectAdapter.Util.unwrapPojo;
public class ActionValidityContext extends ValidityContext<ActionInvocationEvent> implements ActionInteractionContext {
private final ObjectAction objectAction;
- private final ObjectAdapter[] args;
+ private final ManagedObject[] args;
public ActionValidityContext(
- final ObjectAdapter targetAdapter,
+ final ManagedObject targetAdapter,
final ObjectAction objectAction,
final Identifier id,
- final ObjectAdapter[] args,
+ final ManagedObject[] args,
final InteractionInitiatedBy interactionInitiatedBy) {
super(InteractionContextType.ACTION_INVOKE, targetAdapter, id, interactionInitiatedBy);
this.objectAction = objectAction;
@@ -53,13 +53,13 @@ public class ActionValidityContext extends ValidityContext<ActionInvocationEvent
return objectAction;
}
- public ObjectAdapter[] getArgs() {
+ public ManagedObject[] getArgs() {
return args;
}
@Override
public ActionInvocationEvent createInteractionEvent() {
- return new ActionInvocationEvent(unwrapPojo(getTarget()), getIdentifier(), ObjectAdapter.Util.unwrapPojoArray(getArgs()));
+ return new ActionInvocationEvent(unwrapPojo(getTarget()), getIdentifier(), ManagedObject.unwrapPojoArray(getArgs()));
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/CollectionAddToContext.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/CollectionAddToContext.java
index 1d8a4c7..e44d8c9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/CollectionAddToContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/CollectionAddToContext.java
@@ -21,9 +21,9 @@ package org.apache.isis.metamodel.interactions;
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.services.wrapper.events.CollectionAddToEvent;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionContextType;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -31,12 +31,12 @@ import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
*/
public class CollectionAddToContext extends ValidityContext<CollectionAddToEvent> implements ProposedHolder {
- private final ObjectAdapter proposed;
+ private final ManagedObject proposed;
public CollectionAddToContext(
- final ObjectAdapter targetAdapter,
+ final ManagedObject targetAdapter,
final Identifier id,
- final ObjectAdapter proposed,
+ final ManagedObject proposed,
final InteractionInitiatedBy interactionInitiatedBy) {
super(InteractionContextType.COLLECTION_ADD_TO, targetAdapter, id, interactionInitiatedBy);
@@ -44,13 +44,13 @@ public class CollectionAddToContext extends ValidityContext<CollectionAddToEvent
}
@Override
- public ObjectAdapter getProposed() {
+ public ManagedObject getProposed() {
return proposed;
}
@Override
public CollectionAddToEvent createInteractionEvent() {
- return new CollectionAddToEvent(ObjectAdapter.Util.unwrapPojo(getTarget()), getIdentifier(), ObjectAdapter.Util.unwrapPojo(getProposed()));
+ return new CollectionAddToEvent(ManagedObject.unwrapPojo(getTarget()), getIdentifier(), ManagedObject.unwrapPojo(getProposed()));
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/CollectionRemoveFromContext.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/CollectionRemoveFromContext.java
index 3ba78f8..9d36d5d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/CollectionRemoveFromContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/CollectionRemoveFromContext.java
@@ -21,9 +21,9 @@ package org.apache.isis.metamodel.interactions;
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.services.wrapper.events.CollectionRemoveFromEvent;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionContextType;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.metamodel.spec.ManagedObject;
import static org.apache.isis.metamodel.adapter.ObjectAdapter.Util.unwrapPojo;
@@ -33,12 +33,12 @@ import static org.apache.isis.metamodel.adapter.ObjectAdapter.Util.unwrapPojo;
*/
public class CollectionRemoveFromContext extends ValidityContext<CollectionRemoveFromEvent> implements ProposedHolder{
- private final ObjectAdapter proposed;
+ private final ManagedObject proposed;
public CollectionRemoveFromContext(
- final ObjectAdapter targetAdapter,
+ final ManagedObject targetAdapter,
final Identifier identifier,
- final ObjectAdapter proposed,
+ final ManagedObject proposed,
final InteractionInitiatedBy interactionInitiatedBy) {
super(InteractionContextType.COLLECTION_REMOVE_FROM, targetAdapter, identifier, interactionInitiatedBy);
@@ -46,7 +46,7 @@ public class CollectionRemoveFromContext extends ValidityContext<CollectionRemov
}
@Override
- public ObjectAdapter getProposed() {
+ public ManagedObject getProposed() {
return proposed;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ObjectVisibilityContext.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ObjectVisibilityContext.java
index 84bd65c..a52920c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ObjectVisibilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ObjectVisibilityContext.java
@@ -22,7 +22,6 @@ package org.apache.isis.metamodel.interactions;
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.services.wrapper.events.ObjectVisibilityEvent;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionContextType;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.spec.ManagedObject;
@@ -36,7 +35,7 @@ import static org.apache.isis.metamodel.adapter.ObjectAdapter.Util.unwrapPojo;
public class ObjectVisibilityContext extends VisibilityContext<ObjectVisibilityEvent> implements ProposedHolder {
public ObjectVisibilityContext(
- final ObjectAdapter targetAdapter,
+ final ManagedObject targetAdapter,
final Identifier identifier,
final InteractionInitiatedBy interactionInitiatedBy,
final Where where) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ParseValueContext.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ParseValueContext.java
index 7848b36..e061ba3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ParseValueContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/interactions/ParseValueContext.java
@@ -21,9 +21,9 @@ package org.apache.isis.metamodel.interactions;
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.services.wrapper.events.ParseValueEvent;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionContextType;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.metamodel.spec.ManagedObject;
import static org.apache.isis.metamodel.adapter.ObjectAdapter.Util.unwrapPojo;
@@ -33,19 +33,20 @@ import static org.apache.isis.metamodel.adapter.ObjectAdapter.Util.unwrapPojo;
*/
public class ParseValueContext extends ValidityContext<ParseValueEvent> implements ProposedHolder {
- private final ObjectAdapter proposed;
+ private final ManagedObject proposed;
public ParseValueContext(
- final ObjectAdapter targetAdapter,
+ final ManagedObject targetAdapter,
final Identifier identifier,
- final ObjectAdapter proposed,
+ final ManagedObject proposed,
final InteractionInitiatedBy interactionInitiatedBy) {
+
super(InteractionContextType.PARSE_VALUE, targetAdapter, identifier, interactionInitiatedBy);
this.proposed = proposed;
}
@Override
- public ObjectAdapter getProposed() {
+ public ManagedObject getProposed() {
return proposed;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/ActionParameterChoicesFacetFromParentedCollection.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/ActionParameterChoicesFacetFromParentedCollection.java
index 2ac21d8..a2a9bb8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/ActionParameterChoicesFacetFromParentedCollection.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/ActionParameterChoicesFacetFromParentedCollection.java
@@ -22,12 +22,12 @@ package org.apache.isis.metamodel.postprocessors.param;
import java.util.List;
import java.util.Map;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.metamodel.facets.object.mixin.MixinFacet;
import org.apache.isis.metamodel.facets.param.choices.ActionParameterChoicesFacetAbstract;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.OneToManyAssociation;
import lombok.val;
@@ -45,23 +45,23 @@ public class ActionParameterChoicesFacetFromParentedCollection extends ActionPar
@Override
public Object[] getChoices(
- final ObjectAdapter target,
- final List<ObjectAdapter> arguments,
+ final ManagedObject target,
+ final List<ManagedObject> arguments,
final InteractionInitiatedBy interactionInitiatedBy) {
- final ObjectAdapter parentAdapter = determineParentAdapter(target);
- final ObjectAdapter objectAdapter = otma.get(parentAdapter, interactionInitiatedBy);
- final List<ObjectAdapter> objectAdapters = CollectionFacet.Utils.toAdapterList(objectAdapter);
- return ObjectAdapter.Util.unwrapPojoArray(objectAdapters.toArray(new ObjectAdapter[0]));
+ final ManagedObject parentAdapter = determineParentAdapter(target);
+ final ManagedObject objectAdapter = otma.get(parentAdapter, interactionInitiatedBy);
+ final List<ManagedObject> objectAdapters = CollectionFacet.Utils.toAdapterList(objectAdapter);
+ return ManagedObject.unwrapPojoArray(objectAdapters.toArray(new ManagedObject[0]));
}
/**
* in the case of a mixin action, the target passed to the facet is actually the mixin itself,
* not the mixee.
*/
- private ObjectAdapter determineParentAdapter(final ObjectAdapter target) {
+ private ManagedObject determineParentAdapter(final ManagedObject target) {
val mixinFacet = target.getSpecification().getFacet(MixinFacet.class);
- ObjectAdapter mixedInTarget = null;
+ ManagedObject mixedInTarget = null;
if(mixinFacet != null) {
mixedInTarget = mixinFacet.mixedIn(target, MixinFacet.Policy.FAIL_FAST);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/ActionParameterDefaultsFacetFromAssociatedCollection.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/ActionParameterDefaultsFacetFromAssociatedCollection.java
index 6158514..b7f6aae 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/ActionParameterDefaultsFacetFromAssociatedCollection.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/ActionParameterDefaultsFacetFromAssociatedCollection.java
@@ -25,9 +25,9 @@ import java.util.List;
import java.util.concurrent.Callable;
import org.apache.isis.applib.ApplicationException;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.param.defaults.ActionParameterDefaultsFacetAbstract;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class ActionParameterDefaultsFacetFromAssociatedCollection extends ActionParameterDefaultsFacetAbstract {
@@ -56,8 +56,8 @@ public class ActionParameterDefaultsFacetFromAssociatedCollection extends Action
@Override
public Object getDefault(
- final ObjectAdapter target,
- List<ObjectAdapter> argumentsIfAvailable,
+ final ManagedObject target,
+ List<ManagedObject> argumentsIfAvailable,
final Integer paramNumUpdated) {
return selectedPojos.get();
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/DeriveFacetsPostProcessor.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/DeriveFacetsPostProcessor.java
index 0da6b98..35d319c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/DeriveFacetsPostProcessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/DeriveFacetsPostProcessor.java
@@ -57,7 +57,6 @@ import org.apache.isis.metamodel.facets.object.domainobject.domainevents.Collect
import org.apache.isis.metamodel.facets.object.domainobject.domainevents.PropertyDomainEventDefaultFacetForDomainObjectAnnotation;
import org.apache.isis.metamodel.facets.object.icon.IconFacet;
import org.apache.isis.metamodel.facets.object.immutable.ImmutableFacet;
-import org.apache.isis.metamodel.facets.object.projection.ProjectionFacet;
import org.apache.isis.metamodel.facets.object.projection.ProjectionFacetFromProjectingProperty;
import org.apache.isis.metamodel.facets.object.projection.ident.IconFacetDerivedFromProjectionFacet;
import org.apache.isis.metamodel.facets.object.projection.ident.TitleFacetDerivedFromProjectionFacet;
@@ -109,6 +108,8 @@ import org.apache.isis.metamodel.specloader.specimpl.ObjectMemberAbstract;
import org.apache.isis.metamodel.specloader.specimpl.OneToManyAssociationMixedIn;
import org.apache.isis.metamodel.specloader.specimpl.OneToOneAssociationMixedIn;
+import lombok.val;
+
/**
* Sets up all the {@link Facet}s for an action in a single shot.
*/
@@ -221,20 +222,20 @@ public class DeriveFacetsPostProcessor implements ObjectSpecificationPostProcess
}
private void deriveProjectionFacets(final ObjectSpecification objectSpecification) {
- final ProjectionFacet projectionFacet = ProjectionFacetFromProjectingProperty.create(objectSpecification);
+ val projectionFacet = ProjectionFacetFromProjectingProperty.create(objectSpecification);
if (projectionFacet == null) {
return;
}
FacetUtil.addFacet(projectionFacet);
- final TitleFacet titleFacet = objectSpecification.getFacet(TitleFacet.class);
+ val titleFacet = objectSpecification.getFacet(TitleFacet.class);
if(canOverwrite(titleFacet)) {
FacetUtil.addFacet(new TitleFacetDerivedFromProjectionFacet(projectionFacet, objectSpecification));
}
- final IconFacet iconFacet = objectSpecification.getFacet(IconFacet.class);
+ val iconFacet = objectSpecification.getFacet(IconFacet.class);
if(canOverwrite(iconFacet)) {
FacetUtil.addFacet(new IconFacetDerivedFromProjectionFacet(projectionFacet, objectSpecification));
}
- final CssClassFacet cssClassFacet = objectSpecification.getFacet(CssClassFacet.class);
+ val cssClassFacet = objectSpecification.getFacet(CssClassFacet.class);
if(canOverwrite(cssClassFacet)) {
FacetUtil.addFacet(new IconFacetDerivedFromProjectionFacet(projectionFacet, objectSpecification));
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/command/CommandDtoServiceInternal.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/command/CommandDtoServiceInternal.java
index 5167b10..06ea486 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/command/CommandDtoServiceInternal.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/command/CommandDtoServiceInternal.java
@@ -21,7 +21,7 @@ package org.apache.isis.metamodel.services.command;
import java.util.List;
import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.schema.cmd.v1.ActionDto;
@@ -42,9 +42,9 @@ public interface CommandDtoServiceInternal {
*/
@Programmatic
CommandDto asCommandDto(
- final List<ObjectAdapter> targetAdapters,
+ final List<ManagedObject> targetAdapters,
final ObjectAction objectAction,
- final ObjectAdapter[] argAdapters);
+ final ManagedObject[] argAdapters);
/**
* Returns a JAXB DTO (hence convertible to XML) that represents the intention to edit (set or clear) a property on
@@ -52,20 +52,20 @@ public interface CommandDtoServiceInternal {
*/
@Programmatic
CommandDto asCommandDto(
- final List<ObjectAdapter> targetAdapters,
+ final List<ManagedObject> targetAdapters,
final OneToOneAssociation association,
- final ObjectAdapter valueAdapterOrNull);
+ final ManagedObject valueAdapterOrNull);
@Programmatic
void addActionArgs(
final ObjectAction objectAction,
final ActionDto actionDto,
- final ObjectAdapter[] argAdapters);
+ final ManagedObject[] argAdapters);
@Programmatic
void addPropertyValue(
final OneToOneAssociation property,
final PropertyDto propertyDto,
- final ObjectAdapter valueAdapter);
+ final ManagedObject valueAdapter);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/homepage/HomePageAction.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/homepage/HomePageAction.java
index 6ac1f05..d5a3730 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/homepage/HomePageAction.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/homepage/HomePageAction.java
@@ -19,8 +19,8 @@
package org.apache.isis.metamodel.services.homepage;
import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import lombok.NonNull;
@@ -33,15 +33,15 @@ import lombok.val;
@Value(staticConstructor = "of")
public final class HomePageAction {
- @NonNull private final ObjectAdapter objectAdapter;
+ @NonNull private final ManagedObject objectAdapter;
@NonNull private final ObjectAction objectAction;
public Object getHomePagePojo() {
- final ObjectAdapter mixedInAdapter = null;
- final ObjectAdapter[] parameters = {};
+ final ManagedObject mixedInAdapter = null;
+ final ManagedObject[] parameters = {};
- final ObjectAdapter resultAdapter = objectAction.executeWithRuleChecking(
+ final ManagedObject resultAdapter = objectAction.executeWithRuleChecking(
objectAdapter, mixedInAdapter, parameters,
InteractionInitiatedBy.USER,
WHERE_FOR_ACTION_INVOCATION);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/ixn/InteractionDtoServiceInternal.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/ixn/InteractionDtoServiceInternal.java
index c5ab20f..b542a91 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/ixn/InteractionDtoServiceInternal.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/ixn/InteractionDtoServiceInternal.java
@@ -21,7 +21,7 @@ package org.apache.isis.metamodel.services.ixn;
import java.util.List;
import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.schema.ixn.v1.ActionInvocationDto;
@@ -32,14 +32,14 @@ public interface InteractionDtoServiceInternal {
@Programmatic
ActionInvocationDto asActionInvocationDto(
ObjectAction objectAction,
- ObjectAdapter targetAdapter,
- List<ObjectAdapter> argumentAdapters);
+ ManagedObject targetAdapter,
+ List<ManagedObject> argumentAdapters);
@Programmatic
PropertyEditDto asPropertyEditDto(
OneToOneAssociation property,
- ObjectAdapter targetAdapter,
- ObjectAdapter newValueAdapterIfAny);
+ ManagedObject targetAdapter,
+ ManagedObject newValueAdapterIfAny);
@Programmatic
ActionInvocationDto updateResult(
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/ManagedObject.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/ManagedObject.java
index 19cfaf6..900e57b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/ManagedObject.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/ManagedObject.java
@@ -19,7 +19,11 @@
package org.apache.isis.metamodel.spec;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
import java.util.function.Supplier;
+import java.util.stream.Collectors;
import org.apache.isis.commons.internal.base._Lazy;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
@@ -186,6 +190,48 @@ public interface ManagedObject {
}
};
}
+
+ // -- UNWRAPPING
+
+ public static Object unwrapPojo(final ManagedObject adapter) {
+ return adapter != null ? adapter.getPojo() : null;
+ }
+
+ public static Object[] unwrapPojoArray(final ManagedObject[] adapters) {
+ if (adapters == null) {
+ return null;
+ }
+ final Object[] unwrappedObjects = new Object[adapters.length];
+ int i = 0;
+ for (final ManagedObject adapter : adapters) {
+ unwrappedObjects[i++] = unwrapPojo(adapter);
+ }
+ return unwrappedObjects;
+ }
+
+ public static List<Object> unwrapPojoListElseEmpty(Collection<ManagedObject> adapters) {
+ if (adapters == null) {
+ return Collections.emptyList();
+ }
+ return adapters.stream()
+ .map(ManagedObject::unwrapPojo)
+ .collect(Collectors.toList());
+ }
+
+// @Deprecated
+// public default ObjectAdapter promote() {
+// return (ObjectAdapter) this;
+// }
+
+ @Deprecated
+ public static ObjectAdapter promote(ManagedObject managedObject) {
+ if(managedObject==null) {
+ return null;
+ }
+ return (ObjectAdapter) managedObject;
+ }
+
+
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/CurrentHolder.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/CurrentHolder.java
index cff655a..82a4bfc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/CurrentHolder.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/CurrentHolder.java
@@ -21,6 +21,7 @@ package org.apache.isis.metamodel.spec.feature;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* Mix-in interface for {@link ObjectFeature}s that reference or otherwise
@@ -41,6 +42,6 @@ public interface CurrentHolder {
* For example, if this is an {@link OneToOneAssociation}, then returns the
* referenced object.
*/
- ObjectAdapter get(final ObjectAdapter owner, final InteractionInitiatedBy interactionInitiatedBy);
+ ManagedObject get(ManagedObject owner, InteractionInitiatedBy interactionInitiatedBy);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/MutableCurrentHolder.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/MutableCurrentHolder.java
index 1fc9df5..7daaa27 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/MutableCurrentHolder.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/MutableCurrentHolder.java
@@ -21,6 +21,7 @@ package org.apache.isis.metamodel.spec.feature;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* Mix-in interface for {@link ObjectAction}s that reference or otherwise
@@ -47,8 +48,8 @@ public interface MutableCurrentHolder extends CurrentHolder {
* @param interactionInitiatedBy
*/
void set(
- final ObjectAdapter owner,
- final ObjectAdapter newValue,
+ final ManagedObject owner,
+ final ManagedObject newValue,
final InteractionInitiatedBy interactionInitiatedBy);
/**
@@ -57,7 +58,7 @@ public interface MutableCurrentHolder extends CurrentHolder {
* @param newValue
*/
void set(
- final ObjectAdapter owner,
- final ObjectAdapter newValue);
+ final ManagedObject owner,
+ final ManagedObject newValue);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectAction.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectAction.java
index dd64fff..ad017d7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectAction.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectAction.java
@@ -38,9 +38,7 @@ import org.apache.isis.applib.value.Clob;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.commons.internal.collections._Sets;
-import org.apache.isis.commons.internal.context._Context;
import org.apache.isis.commons.internal.environment.IsisSystemEnvironment;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.Consent;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facets.actions.action.associateWith.AssociatedWithFacet;
@@ -54,6 +52,7 @@ import org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet;
import org.apache.isis.metamodel.facets.object.wizard.WizardFacet;
import org.apache.isis.metamodel.layout.memberorderfacet.MemberOrderFacetComparator;
import org.apache.isis.metamodel.spec.ActionType;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.specloader.specimpl.MixedInMember;
@@ -104,10 +103,10 @@ public interface ObjectAction extends ObjectMember {
*
* @param mixedInAdapter - will be null for regular actions, and for mixin actions. When a mixin action invokes its underlying mixedIn action, then will be populated (so that the ActionDomainEvent can correctly provide the underlying mixin)
*/
- ObjectAdapter executeWithRuleChecking(
- final ObjectAdapter target,
- final ObjectAdapter mixedInAdapter,
- final ObjectAdapter[] parameters,
+ ManagedObject executeWithRuleChecking(
+ final ManagedObject target,
+ final ManagedObject mixedInAdapter,
+ final ManagedObject[] parameters,
final InteractionInitiatedBy interactionInitiatedBy,
final Where where) throws AuthorizationException;
@@ -117,10 +116,10 @@ public interface ObjectAction extends ObjectMember {
*
* @param mixedInAdapter - will be null for regular actions, and for mixin actions. When a mixin action invokes its underlying mixedIn action, then will be populated (so that the ActionDomainEvent can correctly provide the underlying mixin)
*/
- ObjectAdapter execute(
- ObjectAdapter targetAdapter,
- ObjectAdapter mixedInAdapter,
- ObjectAdapter[] parameters,
+ ManagedObject execute(
+ ManagedObject targetAdapter,
+ ManagedObject mixedInAdapter,
+ ManagedObject[] parameters,
final InteractionInitiatedBy interactionInitiatedBy);
@@ -137,18 +136,18 @@ public interface ObjectAction extends ObjectMember {
* </p>
*/
Consent isProposedArgumentSetValid(
- ObjectAdapter object,
- ObjectAdapter[] proposedArguments,
+ ManagedObject object,
+ ManagedObject[] proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy);
Consent isEachIndividualArgumentValid(
- ObjectAdapter objectAdapter,
- ObjectAdapter[] proposedArguments,
+ ManagedObject objectAdapter,
+ ManagedObject[] proposedArguments,
InteractionInitiatedBy interactionInitiatedBy);
Consent isArgumentSetValid(
- ObjectAdapter objectAdapter,
- ObjectAdapter[] proposedArguments,
+ ManagedObject objectAdapter,
+ ManagedObject[] proposedArguments,
InteractionInitiatedBy interactionInitiatedBy);
@@ -201,7 +200,7 @@ public interface ObjectAction extends ObjectMember {
* For regular actions, returns same argument, but for mixin actions, will be an instance of the mixin.
* </p>
*/
- ObjectAdapter realTargetAdapter(ObjectAdapter targetAdapter);
+ ManagedObject realTargetAdapter(ManagedObject targetAdapter);
@@ -210,14 +209,14 @@ public interface ObjectAction extends ObjectMember {
/**
* Returns the defaults references/values to be used for the action.
*/
- ObjectAdapter[] getDefaults(ObjectAdapter target);
+ ManagedObject[] getDefaults(ManagedObject target);
/**
* Returns a list of possible references/values for each parameter, which
* the user can choose from.
*/
- ObjectAdapter[][] getChoices(
- final ObjectAdapter target,
+ ManagedObject[][] getChoices(
+ final ManagedObject target,
final InteractionInitiatedBy interactionInitiatedBy);
@@ -297,14 +296,15 @@ public interface ObjectAction extends ObjectMember {
return facet != null ? facet.getPosition() : CssClassFaPosition.LEFT;
}
- public static String cssClassFor(final ObjectAction action, final ObjectAdapter objectAdapter) {
+ public static String cssClassFor(final ObjectAction action, final ManagedObject objectAdapter) {
final CssClassFacet cssClassFacet = action.getFacet(CssClassFacet.class);
return cssClassFacet != null ? cssClassFacet.cssClass(objectAdapter) : null;
}
+ @SuppressWarnings("deprecation")
public static List<ObjectAction> findTopLevel(
- final ObjectAdapter adapter) {
+ final ManagedObject adapter) {
final List<ObjectAction> topLevelActions = _Lists.newArrayList();
addTopLevelActions(adapter, ActionType.USER, topLevelActions);
@@ -315,7 +315,7 @@ public interface ObjectAction extends ObjectMember {
}
static void addTopLevelActions(
- final ObjectAdapter adapter,
+ final ManagedObject adapter,
final ActionType actionType,
final List<ObjectAction> topLevelActions) {
@@ -336,8 +336,9 @@ public interface ObjectAction extends ObjectMember {
}
+ @SuppressWarnings("deprecation")
public static List<ObjectAction> findForAssociation(
- final ObjectAdapter adapter,
+ final ManagedObject adapter,
final ObjectAssociation association) {
final List<ObjectAction> associatedActions = _Lists.newArrayList();
@@ -360,7 +361,7 @@ public interface ObjectAction extends ObjectMember {
}
static void addActions(
- final ObjectAdapter adapter,
+ final ManagedObject adapter,
final ActionType type,
final ObjectAssociation association, final List<ObjectAction> associatedActions) {
final ObjectSpecification objectSpecification = adapter.getSpecification();
@@ -392,7 +393,7 @@ public interface ObjectAction extends ObjectMember {
public static Optional<String> targetNameFor(
final ObjectAction owningAction,
- final @Nullable ObjectAdapter mixedInAdapter) {
+ final @Nullable ManagedObject mixedInAdapter) {
if(mixedInAdapter != null) {
final ObjectSpecification onType = owningAction.getOnType();
@@ -500,9 +501,10 @@ public interface ObjectAction extends ObjectMember {
// }
public static Predicate<ObjectAction> dynamicallyVisible(
- final ObjectAdapter target,
+ final ManagedObject target,
final InteractionInitiatedBy interactionInitiatedBy,
final Where where) {
+
return (ObjectAction objectAction) -> {
final Consent visible = objectAction.isVisible(target, interactionInitiatedBy, where);
return visible.isAllowed();
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectActionParameter.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectActionParameter.java
index 29e9ed5..8831440 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectActionParameter.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectActionParameter.java
@@ -25,11 +25,11 @@ import java.util.function.Predicate;
import javax.annotation.Nullable;
import javax.enterprise.inject.Vetoed;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.Consent;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facets.all.named.NamedFacet;
import org.apache.isis.metamodel.interactions.ActionArgValidityContext;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
/**
@@ -74,8 +74,8 @@ public interface ObjectActionParameter extends ObjectFeature, CurrentHolder {
// internal API
ActionArgValidityContext createProposedArgumentInteractionContext(
- final ObjectAdapter targetObject,
- final ObjectAdapter[] args,
+ final ManagedObject targetObject,
+ final ManagedObject[] args,
final int position,
final InteractionInitiatedBy interactionInitiatedBy);
@@ -90,8 +90,8 @@ public interface ObjectActionParameter extends ObjectFeature, CurrentHolder {
* Returns a list of possible references/values for this parameter, which the
* user can choose from, based on the input search argument.
*/
- ObjectAdapter[] getAutoComplete(
- final ObjectAdapter adapter,
+ ManagedObject[] getAutoComplete(
+ final ManagedObject adapter,
final String searchArg,
final InteractionInitiatedBy interactionInitiatedBy);
@@ -108,15 +108,15 @@ public interface ObjectActionParameter extends ObjectFeature, CurrentHolder {
* Returns a list of possible references/values for this parameter, which the
* user can choose from.
*/
- ObjectAdapter[] getChoices(
- final ObjectAdapter adapter,
- final ObjectAdapter[] argumentsIfAvailable,
+ ManagedObject[] getChoices(
+ final ManagedObject adapter,
+ final ManagedObject[] argumentsIfAvailable,
final InteractionInitiatedBy interactionInitiatedBy);
- ObjectAdapter getDefault(
- ObjectAdapter adapter,
- final ObjectAdapter[] argumentsIfAvailable,
+ ManagedObject getDefault(
+ ManagedObject adapter,
+ final ManagedObject[] argumentsIfAvailable,
final Integer paramNumUpdated);
@@ -128,8 +128,8 @@ public interface ObjectActionParameter extends ObjectFeature, CurrentHolder {
* @return
*/
Consent isVisible(
- final ObjectAdapter targetAdapter,
- final ObjectAdapter[] pendingArguments,
+ final ManagedObject targetAdapter,
+ final ManagedObject[] pendingArguments,
final InteractionInitiatedBy interactionInitiatedBy);
/**
@@ -140,8 +140,8 @@ public interface ObjectActionParameter extends ObjectFeature, CurrentHolder {
* @return
*/
Consent isUsable(
- final ObjectAdapter targetAdapter,
- final ObjectAdapter[] pendingArguments,
+ final ManagedObject targetAdapter,
+ final ManagedObject[] pendingArguments,
final InteractionInitiatedBy interactionInitiatedBy);
/**
@@ -153,7 +153,7 @@ public interface ObjectActionParameter extends ObjectFeature, CurrentHolder {
* @return
*/
String isValid(
- final ObjectAdapter adapter,
+ final ManagedObject adapter,
final Object proposedValue,
final InteractionInitiatedBy interactionInitiatedBy);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectAssociation.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectAssociation.java
index a78431d..0702ba7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectAssociation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectAssociation.java
@@ -32,7 +32,6 @@ import org.apache.isis.applib.annotation.Where;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.commons.internal.collections._Maps;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.facets.WhereValueFacet;
@@ -40,6 +39,7 @@ import org.apache.isis.metamodel.facets.all.hide.HiddenFacet;
import org.apache.isis.metamodel.facets.members.order.MemberOrderFacet;
import org.apache.isis.metamodel.facets.object.value.ValueFacet;
import org.apache.isis.metamodel.layout.memberorderfacet.MemberOrderComparator;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.util.DeweyOrderComparator;
@@ -51,7 +51,7 @@ public interface ObjectAssociation extends ObjectMember, CurrentHolder {
/**
* As per {@link #get(ObjectAdapter, InteractionInitiatedBy)}, with {@link InteractionInitiatedBy#USER}.
*/
- public default ObjectAdapter get(ObjectAdapter owner) {
+ public default ManagedObject get(ManagedObject owner) {
return get(owner, InteractionInitiatedBy.USER);
}
@@ -64,19 +64,21 @@ public interface ObjectAssociation extends ObjectMember, CurrentHolder {
* referenced object.
*/
@Override
- ObjectAdapter get(final ObjectAdapter owner, final InteractionInitiatedBy interactionInitiatedBy);
+ ManagedObject get(
+ ManagedObject owner,
+ InteractionInitiatedBy interactionInitiatedBy);
//Instance get(final Instance owner, final InteractionInitiatedBy interactionInitiatedBy);
/**
* Return the default for this property.
*/
- ObjectAdapter getDefault(ObjectAdapter adapter);
+ ManagedObject getDefault(ManagedObject adapter);
/**
* Set the property to it default references/values.
*/
- public void toDefault(ObjectAdapter target);
+ public void toDefault(ManagedObject target);
/**
* Whether there are any choices provided (eg <tt>choicesXxx</tt> supporting
@@ -87,9 +89,9 @@ public interface ObjectAssociation extends ObjectMember, CurrentHolder {
* Returns a list of possible references/values for this field, which the
* user can choose from.
*/
- public ObjectAdapter[] getChoices(
- final ObjectAdapter object,
- final InteractionInitiatedBy interactionInitiatedBy);
+ public ManagedObject[] getChoices(
+ ManagedObject object,
+ InteractionInitiatedBy interactionInitiatedBy);
/**
@@ -101,10 +103,10 @@ public interface ObjectAssociation extends ObjectMember, CurrentHolder {
* Returns a list of possible references/values for this field, which the
* user can choose from, based on the provided search argument.
*/
- public ObjectAdapter[] getAutoComplete(
- final ObjectAdapter object,
- final String searchArg,
- final InteractionInitiatedBy interactionInitiatedBy);
+ public ManagedObject[] getAutoComplete(
+ ManagedObject object,
+ String searchArg,
+ InteractionInitiatedBy interactionInitiatedBy);
int getAutoCompleteMinLength();
@@ -118,7 +120,7 @@ public interface ObjectAssociation extends ObjectMember, CurrentHolder {
* Returns <code>true</code> if this field on the specified object is deemed
* to be empty, or has no content.
*/
- boolean isEmpty(ObjectAdapter target, final InteractionInitiatedBy interactionInitiatedBy);
+ boolean isEmpty(ManagedObject target, InteractionInitiatedBy interactionInitiatedBy);
/**
* Determines if this field must be complete before the object is in a valid
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/OneToManyAssociation.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/OneToManyAssociation.java
index 2eabb47..6299695 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/OneToManyAssociation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/OneToManyAssociation.java
@@ -19,9 +19,9 @@
package org.apache.isis.metamodel.spec.feature;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.Consent;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.metamodel.spec.ManagedObject;
public interface OneToManyAssociation extends ObjectAssociation, OneToManyFeature {
@@ -41,9 +41,9 @@ public interface OneToManyAssociation extends ObjectAssociation, OneToManyFeatur
* @see #addElement(ObjectAdapter, ObjectAdapter, InteractionInitiatedBy)
*/
Consent isValidToAdd(
- ObjectAdapter owningObjectAdapter,
- ObjectAdapter proposedObjectToAdd,
- final InteractionInitiatedBy interactionInitiatedBy);
+ ManagedObject owningObjectAdapter,
+ ManagedObject proposedObjectToAdd,
+ InteractionInitiatedBy interactionInitiatedBy);
/**
* Add the specified element to this collection field in the specified
@@ -56,9 +56,9 @@ public interface OneToManyAssociation extends ObjectAssociation, OneToManyFeatur
* @see #isValidToAdd(ObjectAdapter, ObjectAdapter)
*/
void addElement(
- ObjectAdapter owningObjectAdapter,
- ObjectAdapter objectToAdd,
- final InteractionInitiatedBy interactionInitiatedBy);
+ ManagedObject owningObjectAdapter,
+ ManagedObject objectToAdd,
+ InteractionInitiatedBy interactionInitiatedBy);
// /////////////////////////////////////////////////////////////
// remove
@@ -76,9 +76,9 @@ public interface OneToManyAssociation extends ObjectAssociation, OneToManyFeatur
* @see #removeElement(ObjectAdapter, ObjectAdapter, InteractionInitiatedBy)
*/
Consent isValidToRemove(
- ObjectAdapter owningObjectAdapter,
- ObjectAdapter proposedObjectToRemove,
- final InteractionInitiatedBy interactionInitiatedBy);
+ ManagedObject owningObjectAdapter,
+ ManagedObject proposedObjectToRemove,
+ InteractionInitiatedBy interactionInitiatedBy);
/**
* Remove the specified element from this collection field in the specified
@@ -91,20 +91,10 @@ public interface OneToManyAssociation extends ObjectAssociation, OneToManyFeatur
* @see #isValidToRemove(ObjectAdapter, ObjectAdapter)
*/
void removeElement(
- ObjectAdapter owningObjectAdapter,
- ObjectAdapter oObjectToRemove,
- final InteractionInitiatedBy interactionInitiatedBy);
+ ManagedObject owningObjectAdapter,
+ ManagedObject oObjectToRemove,
+ InteractionInitiatedBy interactionInitiatedBy);
- // /////////////////////////////////////////////////////////////
- // clear
- // /////////////////////////////////////////////////////////////
- /**
- * Remove all elements from this collection field in the specified object.
- *
- * @deprecated - seemingly unused by any code?
- */
- @Deprecated
- void clearCollection(ObjectAdapter inObject);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/OneToOneAssociation.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/OneToOneAssociation.java
index d25334d..e33e7b2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/OneToOneAssociation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/OneToOneAssociation.java
@@ -19,7 +19,6 @@
package org.apache.isis.metamodel.spec.feature;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.Consent;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.spec.ManagedObject;
@@ -37,7 +36,7 @@ public interface OneToOneAssociation extends ObjectAssociation, OneToOneFeature,
* for re-initialising the object and not specifying an association, which
* is only done once.
*/
- void initAssociation(ObjectAdapter inObject, ObjectAdapter associate);
+ void initAssociation(ManagedObject inObject, ManagedObject associate);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/SpecificationLoaderDefault.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/SpecificationLoaderDefault.java
index a78daa2..dd51833 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/SpecificationLoaderDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/SpecificationLoaderDefault.java
@@ -20,6 +20,7 @@ package org.apache.isis.metamodel.specloader;
import java.util.Collection;
import java.util.List;
+import java.util.Set;
import java.util.stream.Collectors;
import javax.annotation.Nullable;
@@ -28,8 +29,10 @@ import javax.inject.Inject;
import org.springframework.stereotype.Service;
+import org.apache.isis.commons.internal.base._Blackhole;
import org.apache.isis.commons.internal.base._Timing;
import org.apache.isis.commons.internal.collections._Lists;
+import org.apache.isis.commons.internal.collections._Sets;
import org.apache.isis.commons.internal.environment.IsisSystemEnvironment;
import org.apache.isis.config.IsisConfiguration;
import org.apache.isis.config.registry.IsisBeanTypeRegistry;
@@ -81,7 +84,7 @@ public class SpecificationLoaderDefault implements SpecificationLoader {
private final SpecificationCacheDefault<ObjectSpecification> cache =
new SpecificationCacheDefault<>();
-
+
@PostConstruct
public void preInit() {
this.programmingModel = programmingModelService.getProgrammingModel();
@@ -234,12 +237,12 @@ public class SpecificationLoaderDefault implements SpecificationLoader {
if (substitutedType == null) {
return null;
}
-
+
val typeName = substitutedType.getName();
final ObjectSpecification cachedSpec;
- //XXX don't block on long running code ... 'spec.introspectUpTo(upTo);'
+ // we try not to block on long running code ... 'spec.introspectUpTo(upTo);'
synchronized (cache) {
cachedSpec = cache.computeIfAbsent(typeName, __->createSpecification(substitutedType));
}
@@ -272,8 +275,8 @@ public class SpecificationLoaderDefault implements SpecificationLoader {
* Creates the appropriate type of {@link ObjectSpecification}.
*/
private ObjectSpecification createSpecification(final Class<?> cls) {
-
- // ... and create the specs
+
+ // ... and create the specs
final ObjectSpecification objectSpec;
if (FreeStandingList.class.isAssignableFrom(cls)) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/classsubstitutor/ClassSubstitutor.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/classsubstitutor/ClassSubstitutor.java
index ea28d71..2a40440 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/classsubstitutor/ClassSubstitutor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/classsubstitutor/ClassSubstitutor.java
@@ -22,6 +22,7 @@ package org.apache.isis.metamodel.specloader.classsubstitutor;
import java.util.Set;
import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.commons.internal.base._Blackhole;
import org.apache.isis.commons.internal.collections._Sets;
import org.apache.isis.metamodel.commons.ClassUtil;
@@ -78,14 +79,21 @@ public class ClassSubstitutor {
if (ClassUtil.directlyImplements(cls, ProxyEnhanced.class)) {
return getClass(cls.getSuperclass());
}
+
+ try {
+ // guard against cannot introspect
+ _Blackhole.consume(cls.getMethods());
+ } catch (Throwable e) {
+ classesToIgnore.add(cls);
+ return null;
+ }
+
return cls;
}
+ // -- HELPERS
-
- // -- helpers
-
- private final Set<Class<?>> classesToIgnore = _Sets.newHashSet();
+ private final Set<Class<?>> classesToIgnore = _Sets.newConcurrentHashSet();
private final Set<String> classNamesToIgnore = _Sets.newHashSet();
@@ -123,7 +131,4 @@ public class ClassSubstitutor {
}
}
-
-
-
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionContributee.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionContributee.java
index 1b557ae..cb950c3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionContributee.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionContributee.java
@@ -25,7 +25,6 @@ import java.util.stream.Stream;
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.Consent;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
@@ -163,64 +162,64 @@ public class ObjectActionContributee extends ObjectActionDefault implements Cont
}
@Override
- public ObjectAdapter[] getDefaults(final ObjectAdapter target) {
- final ObjectAdapter[] contributorDefaults = serviceAction.getDefaults(getServiceAdapter());
- return removeElementFromArray(contributorDefaults, contributeeParam, new ObjectAdapter[]{});
+ public ManagedObject[] getDefaults(final ManagedObject target) {
+ final ManagedObject[] contributorDefaults = serviceAction.getDefaults(getServiceAdapter());
+ return removeElementFromArray(contributorDefaults, contributeeParam, new ManagedObject[]{});
}
@Override
- public ObjectAdapter[][] getChoices(
- final ObjectAdapter target,
+ public ManagedObject[][] getChoices(
+ final ManagedObject target,
final InteractionInitiatedBy interactionInitiatedBy) {
- final ObjectAdapter[][] serviceChoices = serviceAction.getChoices(getServiceAdapter(),
+ final ManagedObject[][] serviceChoices = serviceAction.getChoices(getServiceAdapter(),
interactionInitiatedBy);
- return removeElementFromArray(serviceChoices, contributeeParam, new ObjectAdapter[][]{});
+ return removeElementFromArray(serviceChoices, contributeeParam, new ManagedObject[][]{});
}
@Override
public Consent isProposedArgumentSetValid(
- final ObjectAdapter contributee,
- final ObjectAdapter[] proposedArguments,
+ final ManagedObject contributee,
+ final ManagedObject[] proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy) {
- final ObjectAdapter[] serviceArguments = argsPlusContributee(contributee, proposedArguments);
+ final ManagedObject[] serviceArguments = argsPlusContributee(contributee, proposedArguments);
return serviceAction.isProposedArgumentSetValid(getServiceAdapter(), serviceArguments, interactionInitiatedBy);
}
@Override
public Consent isEachIndividualArgumentValid(
- final ObjectAdapter contributee,
- final ObjectAdapter[] proposedArguments,
+ final ManagedObject contributee,
+ final ManagedObject[] proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy) {
- final ObjectAdapter[] serviceArguments = argsPlusContributee(contributee, proposedArguments);
+ final ManagedObject[] serviceArguments = argsPlusContributee(contributee, proposedArguments);
return serviceAction.isEachIndividualArgumentValid(getServiceAdapter(), serviceArguments, interactionInitiatedBy);
}
@Override
public Consent isArgumentSetValid(
- final ObjectAdapter contributee,
- final ObjectAdapter[] proposedArguments,
+ final ManagedObject contributee,
+ final ManagedObject[] proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy) {
- final ObjectAdapter[] serviceArguments = argsPlusContributee(contributee, proposedArguments);
+ final ManagedObject[] serviceArguments = argsPlusContributee(contributee, proposedArguments);
return serviceAction.isArgumentSetValid(getServiceAdapter(), serviceArguments, interactionInitiatedBy);
}
@Override
- public ObjectAdapter execute(
- final ObjectAdapter targetAdapter,
- final ObjectAdapter mixedInAdapter,
- final ObjectAdapter[] argumentAdapters,
+ public ManagedObject execute(
+ final ManagedObject targetAdapter,
+ final ManagedObject mixedInAdapter,
+ final ManagedObject[] argumentAdapters,
final InteractionInitiatedBy interactionInitiatedBy) {
setupCommand(targetAdapter, argumentAdapters);
- final ObjectAdapter[] serviceArguments = argsPlusContributee(targetAdapter, argumentAdapters);
+ final ManagedObject[] serviceArguments = argsPlusContributee(targetAdapter, argumentAdapters);
return serviceAction.executeInternal(
getServiceAdapter(), mixedInAdapter, serviceArguments, interactionInitiatedBy);
}
- private ObjectAdapter[] argsPlusContributee(final ObjectAdapter contributee, final ObjectAdapter[] arguments) {
- return addElementToArray(arguments, contributeeParam, contributee, new ObjectAdapter[]{});
+ private ManagedObject[] argsPlusContributee(final ManagedObject contributee, final ManagedObject[] arguments) {
+ return addElementToArray(arguments, contributeeParam, contributee, new ManagedObject[]{});
}
// //////////////////////////////////////
@@ -297,7 +296,7 @@ public class ObjectActionContributee extends ObjectActionDefault implements Cont
return list.toArray(t);
}
- public ObjectAdapter getServiceAdapter() {
+ public ManagedObject getServiceAdapter() {
return getObjectAdapterProvider().adapterFor(servicePojo);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionDefault.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionDefault.java
index 4c5c586..2d5a010 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionDefault.java
@@ -33,7 +33,6 @@ import org.apache.isis.applib.services.command.Command;
import org.apache.isis.commons.exceptions.UnknownTypeException;
import org.apache.isis.commons.internal._Constants;
import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.Consent;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.consent.InteractionResultSet;
@@ -66,6 +65,8 @@ import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.metamodel.spec.feature.ObjectActionParameter;
import org.apache.isis.schema.cmd.v1.CommandDto;
+import lombok.val;
+
public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectAction {
public static ActionType getType(final String typeStr) {
@@ -290,8 +291,8 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
*/
@Override
public Consent isProposedArgumentSetValid(
- final ObjectAdapter targetObject,
- final ObjectAdapter[] proposedArguments,
+ final ManagedObject targetObject,
+ final ManagedObject[] proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy) {
final InteractionResultSet resultSet = new InteractionResultSet();
@@ -320,8 +321,8 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
*/
@Override
public Consent isEachIndividualArgumentValid(
- final ObjectAdapter objectAdapter,
- final ObjectAdapter[] proposedArguments,
+ final ManagedObject objectAdapter,
+ final ManagedObject[] proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy) {
final InteractionResultSet resultSet = new InteractionResultSet();
@@ -332,8 +333,8 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
}
private void validateArgumentsIndividually(
- final ObjectAdapter objectAdapter,
- final ObjectAdapter[] proposedArguments,
+ final ManagedObject objectAdapter,
+ final ManagedObject[] proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy,
final InteractionResultSet resultSet) {
final List<ObjectActionParameter> actionParameters = getParameters();
@@ -363,8 +364,8 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
*/
@Override
public Consent isArgumentSetValid(
- final ObjectAdapter objectAdapter,
- final ObjectAdapter[] proposedArguments,
+ final ManagedObject objectAdapter,
+ final ManagedObject[] proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy) {
final InteractionResultSet resultSet = new InteractionResultSet();
@@ -374,8 +375,8 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
}
protected void validateArgumentSet(
- final ObjectAdapter objectAdapter,
- final ObjectAdapter[] proposedArguments,
+ final ManagedObject objectAdapter,
+ final ManagedObject[] proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy,
final InteractionResultSet resultSet) {
final ValidityContext<?> ic = createActionInvocationInteractionContext(
@@ -384,8 +385,8 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
}
ActionValidityContext createActionInvocationInteractionContext(
- final ObjectAdapter targetObject,
- final ObjectAdapter[] proposedArguments,
+ final ManagedObject targetObject,
+ final ManagedObject[] proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy) {
return new ActionValidityContext(targetObject, this, getIdentifier(), proposedArguments,
interactionInitiatedBy);
@@ -396,10 +397,10 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
// -- executeWithRuleChecking, execute
@Override
- public ObjectAdapter executeWithRuleChecking(
- final ObjectAdapter target,
- final ObjectAdapter mixedInAdapter,
- final ObjectAdapter[] arguments,
+ public ManagedObject executeWithRuleChecking(
+ final ManagedObject target,
+ final ManagedObject mixedInAdapter,
+ final ManagedObject[] arguments,
final InteractionInitiatedBy interactionInitiatedBy,
final Where where) {
@@ -432,10 +433,10 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
* @param mixedInAdapter - will be null for regular actions, and for mixin actions. When a mixin action invokes its underlying mixedIn action, then will be populated (so that the ActionDomainEvent can correctly provide the underlying mixin)
*/
@Override
- public ObjectAdapter execute(
- final ObjectAdapter targetAdapter,
- final ObjectAdapter mixedInAdapter,
- final ObjectAdapter[] argumentAdapters,
+ public ManagedObject execute(
+ final ManagedObject targetAdapter,
+ final ManagedObject mixedInAdapter,
+ final ManagedObject[] argumentAdapters,
final InteractionInitiatedBy interactionInitiatedBy) {
setupCommand(targetAdapter, argumentAdapters);
@@ -446,12 +447,14 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
/**
* private API, called by mixins and contributees.
*/
- public ObjectAdapter executeInternal(
- final ObjectAdapter targetAdapter,
- final ObjectAdapter mixedInAdapter,
- final ObjectAdapter[] argumentAdapters, final InteractionInitiatedBy interactionInitiatedBy) {
- final ActionInvocationFacet facet = getFacet(ActionInvocationFacet.class);
- return facet.invoke(this, targetAdapter, mixedInAdapter, argumentAdapters, interactionInitiatedBy);
+ public ManagedObject executeInternal(
+ final ManagedObject targetAdapter,
+ final ManagedObject mixedInAdapter,
+ final ManagedObject[] argumentAdapters,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+
+ val actionInvocationFacet = getFacet(ActionInvocationFacet.class);
+ return actionInvocationFacet.invoke(this, targetAdapter, mixedInAdapter, argumentAdapters, interactionInitiatedBy);
}
protected ActionInvocationFacet getActionInvocationFacet() {
@@ -464,7 +467,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
// -- defaults
@Override
- public ObjectAdapter[] getDefaults(final ObjectAdapter target) {
+ public ManagedObject[] getDefaults(final ManagedObject target) {
final int parameterCount = getParameterCount();
final List<ObjectActionParameter> parameters = getParameters();
@@ -502,7 +505,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
}
}
- final ObjectAdapter[] parameterDefaultAdapters = new ObjectAdapter[parameterCount];
+ final ManagedObject[] parameterDefaultAdapters = new ManagedObject[parameterCount];
for (int i = 0; i < parameterCount; i++) {
parameterDefaultAdapters[i] = adapterFor(parameterDefaultPojos[i]);
}
@@ -510,11 +513,11 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
return parameterDefaultAdapters;
}
- private ObjectAdapter adapterFor(final Object pojo) {
+ private ManagedObject adapterFor(final Object pojo) {
return pojo == null ? null : getObjectAdapterProvider().adapterFor(pojo);
}
- private static ThreadLocal<List<ObjectAdapter>> commandTargetAdaptersHolder = new ThreadLocal<>();
+ private static ThreadLocal<List<ManagedObject>> commandTargetAdaptersHolder = new ThreadLocal<>();
/**
* A horrible hack to be able to persist a number of adapters in the command object.
@@ -523,7 +526,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
* What is really needed is to be able to invoke an action on a number of adapters all together.
* </p>
*/
- public static <T> T withTargetAdapters(final List<ObjectAdapter> adapters, final Callable<T> callable) {
+ public static <T> T withTargetAdapters(final List<ManagedObject> adapters, final Callable<T> callable) {
commandTargetAdaptersHolder.set(adapters);
try {
return callable.call();
@@ -540,8 +543,8 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
// -- choices
@Override
- public ObjectAdapter[][] getChoices(
- final ObjectAdapter target,
+ public ManagedObject[][] getChoices(
+ final ManagedObject target,
final InteractionInitiatedBy interactionInitiatedBy) {
final int parameterCount = getParameterCount();
@@ -579,19 +582,19 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
}
}
- final ObjectAdapter[][] parameterChoicesAdapters = new ObjectAdapter[parameterCount][];
+ final ManagedObject[][] parameterChoicesAdapters = new ManagedObject[parameterCount][];
for (int i = 0; i < parameterCount; i++) {
final ObjectSpecification paramSpec = parameters.get(i).getSpecification();
if (parameterChoicesPojos[i] != null && parameterChoicesPojos[i].length > 0) {
ObjectActionParameterAbstract.checkChoicesOrAutoCompleteType(
getSpecificationLoader(), parameterChoicesPojos[i], paramSpec);
- parameterChoicesAdapters[i] = new ObjectAdapter[parameterChoicesPojos[i].length];
+ parameterChoicesAdapters[i] = new ManagedObject[parameterChoicesPojos[i].length];
for (int j = 0; j < parameterChoicesPojos[i].length; j++) {
parameterChoicesAdapters[i][j] = adapterFor(parameterChoicesPojos[i][j]);
}
} else if (paramSpec.isNotCollection()) {
- parameterChoicesAdapters[i] = new ObjectAdapter[0];
+ parameterChoicesAdapters[i] = new ManagedObject[0];
} else {
throw new UnknownTypeException(paramSpec);
}
@@ -634,8 +637,8 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
* {@link ObjectActionMixedIn mixed-in} and {@link ObjectActionContributee contributee}).
*/
public void setupCommand(
- final ObjectAdapter targetAdapter,
- final ObjectAdapter[] argumentAdapters) {
+ final ManagedObject targetAdapter,
+ final ManagedObject[] argumentAdapters) {
setupCommandTarget(targetAdapter, argumentAdapters);
setupCommandMemberIdentifier();
@@ -643,34 +646,34 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
}
private void setupCommandTarget(
- final ObjectAdapter targetAdapter,
- final ObjectAdapter[] argumentAdapters) {
+ final ManagedObject targetAdapter,
+ final ManagedObject[] argumentAdapters) {
final String arguments = CommandUtil.argDescriptionFor(this, argumentAdapters);
- setupCommandTarget(targetAdapter, arguments);
+ super.setupCommandTarget(targetAdapter, arguments);
}
private void setupCommandMementoAndExecutionContext(
- final ObjectAdapter targetAdapter,
- final ObjectAdapter[] argumentAdapters) {
+ final ManagedObject targetAdapter,
+ final ManagedObject[] argumentAdapters) {
- final CommandDtoServiceInternal commandDtoServiceInternal = getCommandDtoService();
- final List<ObjectAdapter> commandTargetAdapters =
+ val commandDtoServiceInternal = getCommandDtoService();
+ final List<ManagedObject> commandTargetAdapters =
commandTargetAdaptersHolder.get() != null
? commandTargetAdaptersHolder.get()
: Collections.singletonList(targetAdapter);
- final CommandDto dto = commandDtoServiceInternal.asCommandDto(
+ val commandDto = commandDtoServiceInternal.asCommandDto(
commandTargetAdapters, this, argumentAdapters);
- setupCommandDtoAndExecutionContext(dto);
+ setupCommandDtoAndExecutionContext(commandDto);
}
// -- toString
@Override
- public ObjectAdapter realTargetAdapter(final ObjectAdapter targetAdapter) {
+ public ManagedObject realTargetAdapter(final ManagedObject targetAdapter) {
return targetAdapter;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionMixedIn.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionMixedIn.java
index 5123df8..5bfef89 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionMixedIn.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionMixedIn.java
@@ -24,7 +24,6 @@ import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.Consent;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.consent.InteractionResultSet;
@@ -127,7 +126,7 @@ public class ObjectActionMixedIn extends ObjectActionDefault implements MixedInM
}
@Override
- public ObjectAdapter realTargetAdapter(final ObjectAdapter targetAdapter) {
+ public ManagedObject realTargetAdapter(final ManagedObject targetAdapter) {
return mixinAdapterFor(targetAdapter);
}
@@ -165,7 +164,7 @@ public class ObjectActionMixedIn extends ObjectActionDefault implements MixedInM
final InteractionInitiatedBy interactionInitiatedBy,
final Where where) {
- final ObjectAdapter mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
+ final ManagedObject mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
final VisibilityContext<?> ic =
mixinAction.createVisibleInteractionContext(mixinAdapter, interactionInitiatedBy, where);
ic.setMixedIn(mixedInAdapter);
@@ -177,7 +176,7 @@ public class ObjectActionMixedIn extends ObjectActionDefault implements MixedInM
final ManagedObject mixedInAdapter,
final InteractionInitiatedBy interactionInitiatedBy, final Where where) {
- final ObjectAdapter mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
+ final ManagedObject mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
final UsabilityContext<?> ic =
mixinAction.createUsableInteractionContext(mixinAdapter, interactionInitiatedBy, where);
ic.setMixedIn(mixedInAdapter);
@@ -185,31 +184,31 @@ public class ObjectActionMixedIn extends ObjectActionDefault implements MixedInM
}
@Override
- public ObjectAdapter[] getDefaults(final ObjectAdapter mixedInAdapter) {
- final ObjectAdapter mixinAdapter = mixinAdapterFor(mixedInAdapter);
+ public ManagedObject[] getDefaults(final ManagedObject mixedInAdapter) {
+ final ManagedObject mixinAdapter = mixinAdapterFor(mixedInAdapter);
return mixinAction.getDefaults(mixinAdapter);
}
@Override
- public ObjectAdapter[][] getChoices(
- final ObjectAdapter mixedInAdapter,
+ public ManagedObject[][] getChoices(
+ final ManagedObject mixedInAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
- final ObjectAdapter mixinAdapter = mixinAdapterFor(mixedInAdapter);
+ final ManagedObject mixinAdapter = mixinAdapterFor(mixedInAdapter);
return mixinAction.getChoices(mixinAdapter, interactionInitiatedBy);
}
- protected ObjectAdapter mixinAdapterFor(final ObjectAdapter mixedInAdapter) {
+ protected ManagedObject mixinAdapterFor(final ManagedObject mixedInAdapter) {
return mixinAdapterFor(mixinType, mixedInAdapter);
}
@Override
protected void validateArgumentSet(
- final ObjectAdapter mixedInAdapter,
- final ObjectAdapter[] proposedArguments,
+ final ManagedObject mixedInAdapter,
+ final ManagedObject[] proposedArguments,
final InteractionInitiatedBy interactionInitiatedBy,
final InteractionResultSet resultSet) {
- final ObjectAdapter targetObject = mixinAdapterFor(mixinType, mixedInAdapter);
+ final ManagedObject targetObject = mixinAdapterFor(mixinType, mixedInAdapter);
final ValidityContext<?> ic =
mixinAction.createActionInvocationInteractionContext(targetObject, proposedArguments, interactionInitiatedBy);
@@ -221,15 +220,15 @@ public class ObjectActionMixedIn extends ObjectActionDefault implements MixedInM
@Override
- public ObjectAdapter execute(
- final ObjectAdapter target, // will be the mixedInAdapter
- final ObjectAdapter mixedInAdapter, // will be passed in as null
- final ObjectAdapter[] arguments,
+ public ManagedObject execute(
+ final ManagedObject target, // will be the mixedInAdapter
+ final ManagedObject mixedInAdapter, // will be passed in as null
+ final ManagedObject[] arguments,
final InteractionInitiatedBy interactionInitiatedBy) {
- final ObjectAdapter targetAdapter = mixinAdapterFor(mixinType, target);
- final ObjectAdapter actualMixedInAdapter = target;
+ final ManagedObject targetAdapter = mixinAdapterFor(mixinType, target);
+ final ManagedObject actualMixedInAdapter = target;
setupCommand(actualMixedInAdapter, arguments);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
index 35b42bb..34deaf7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
@@ -25,8 +25,6 @@ import java.util.function.Predicate;
import java.util.stream.Stream;
import org.apache.isis.applib.Identifier;
-import org.apache.isis.applib.query.Query;
-import org.apache.isis.applib.query.QueryFindAllInstances;
import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.commons.internal.exceptions._Exceptions;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
@@ -46,7 +44,6 @@ import org.apache.isis.metamodel.facetapi.MultiTypedFacet;
import org.apache.isis.metamodel.facets.TypedHolder;
import org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet;
import org.apache.isis.metamodel.facets.all.named.NamedFacet;
-import org.apache.isis.metamodel.facets.object.choices.ChoicesFacetFromBoundedAbstract;
import org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet;
import org.apache.isis.metamodel.facets.param.autocomplete.ActionParameterAutoCompleteFacet;
import org.apache.isis.metamodel.facets.param.autocomplete.MinLengthUtil;
@@ -97,7 +94,7 @@ public abstract class ObjectActionParameterAbstract implements ObjectActionParam
* {@link ObjectAdapter}.
*/
@Override
- public ObjectAdapter get(final ObjectAdapter owner, final InteractionInitiatedBy interactionInitiatedBy) {
+ public ManagedObject get(final ManagedObject owner, final InteractionInitiatedBy interactionInitiatedBy) {
throw _Exceptions.unexpectedCodeReach();
//FIXME[ISIS-1976] marked for removal (must be dead code, since MutableProposedHolder has no implementation)
// final MutableProposedHolder proposedHolder = getProposedHolder(owner);
@@ -296,12 +293,12 @@ public abstract class ObjectActionParameterAbstract implements ObjectActionParam
}
@Override
- public ObjectAdapter[] getAutoComplete(
- final ObjectAdapter adapter,
+ public ManagedObject[] getAutoComplete(
+ final ManagedObject adapter,
final String searchArg,
final InteractionInitiatedBy interactionInitiatedBy) {
- final List<ObjectAdapter> adapters = _Lists.newArrayList();
+ final List<ManagedObject> adapters = _Lists.newArrayList();
final ActionParameterAutoCompleteFacet facet = getFacet(ActionParameterAutoCompleteFacet.class);
if (facet != null) {
@@ -318,7 +315,7 @@ public abstract class ObjectActionParameterAbstract implements ObjectActionParam
addAllInstancesForType(adapters);
}
*/
- return adapters.toArray(new ObjectAdapter[0]);
+ return adapters.toArray(new ManagedObject[0]);
}
@Override
@@ -338,23 +335,23 @@ public abstract class ObjectActionParameterAbstract implements ObjectActionParam
}
@Override
- public ObjectAdapter[] getChoices(
- final ObjectAdapter adapter,
- final ObjectAdapter[] argumentsIfAvailable,
+ public ManagedObject[] getChoices(
+ final ManagedObject adapter,
+ final ManagedObject[] argumentsIfAvailable,
final InteractionInitiatedBy interactionInitiatedBy) {
- final List<ObjectAdapter> argListIfAvailable = ListExtensions.mutableCopy(argumentsIfAvailable);
+ final List<ManagedObject> argListIfAvailable = ListExtensions.mutableCopy(argumentsIfAvailable);
- final ObjectAdapter target = targetForDefaultOrChoices(adapter);
- final List<ObjectAdapter> args = argsForDefaultOrChoices(adapter, argListIfAvailable);
+ final ManagedObject target = targetForDefaultOrChoices(adapter);
+ final List<ManagedObject> args = argsForDefaultOrChoices(adapter, argListIfAvailable);
return findChoices(target, args, interactionInitiatedBy);
}
- private ObjectAdapter[] findChoices(
- final ObjectAdapter target,
- final List<ObjectAdapter> args,
+ private ManagedObject[] findChoices(
+ final ManagedObject target,
+ final List<ManagedObject> args,
final InteractionInitiatedBy interactionInitiatedBy) {
- final List<ObjectAdapter> adapters = _Lists.newArrayList();
+ final List<ManagedObject> adapters = _Lists.newArrayList();
final ActionParameterChoicesFacet facet = getFacet(ActionParameterChoicesFacet.class);
if (facet != null) {
@@ -362,7 +359,7 @@ public abstract class ObjectActionParameterAbstract implements ObjectActionParam
interactionInitiatedBy);
checkChoicesOrAutoCompleteType(getSpecificationLoader(), choices, getSpecification());
for (final Object choice : choices) {
- ObjectAdapter adapter = choice != null? getObjectAdapterProvider().adapterFor(choice) : null;
+ ManagedObject adapter = choice != null? getObjectAdapterProvider().adapterFor(choice) : null;
adapters.add(adapter);
}
}
@@ -372,7 +369,7 @@ public abstract class ObjectActionParameterAbstract implements ObjectActionParam
addAllInstancesForType(adapters);
}
*/
- return adapters.toArray(new ObjectAdapter[adapters.size()]);
+ return adapters.toArray(new ManagedObject[adapters.size()]);
}
@@ -380,20 +377,20 @@ public abstract class ObjectActionParameterAbstract implements ObjectActionParam
// -- Defaults
@Override
- public ObjectAdapter getDefault(
- final ObjectAdapter adapter,
- final ObjectAdapter[] argumentsIfAvailable,
+ public ManagedObject getDefault(
+ final ManagedObject adapter,
+ final ManagedObject[] argumentsIfAvailable,
final Integer paramNumUpdated) {
- final ObjectAdapter target = targetForDefaultOrChoices(adapter);
- final List<ObjectAdapter> args = argsForDefaultOrChoices(adapter, argumentsIfAvailable != null ? Arrays.asList(argumentsIfAvailable) : null);
+ final ManagedObject target = targetForDefaultOrChoices(adapter);
+ final List<ManagedObject> args = argsForDefaultOrChoices(adapter, argumentsIfAvailable != null ? Arrays.asList(argumentsIfAvailable) : null);
return findDefault(target, args, paramNumUpdated);
}
- private ObjectAdapter findDefault(
- final ObjectAdapter target,
- final List<ObjectAdapter> args,
+ private ManagedObject findDefault(
+ final ManagedObject target,
+ final List<ManagedObject> args,
final Integer paramNumUpdated) {
final ActionParameterDefaultsFacet defaultsFacet = getFacet(ActionParameterDefaultsFacet.class);
if (defaultsFacet != null) {
@@ -411,16 +408,16 @@ public abstract class ObjectActionParameterAbstract implements ObjectActionParam
/**
* Hook method; {@link ObjectActionParameterContributee contributed action parameter}s override.
*/
- protected ObjectAdapter targetForDefaultOrChoices(final ObjectAdapter adapter) {
+ protected ManagedObject targetForDefaultOrChoices(final ManagedObject adapter) {
return adapter;
}
/**
* Hook method; {@link ObjectActionParameterContributee contributed action parameter}s override.
*/
- protected List<ObjectAdapter> argsForDefaultOrChoices(
- final ObjectAdapter adapter,
- final List<ObjectAdapter> argumentsIfAvailable) {
+ protected List<ManagedObject> argsForDefaultOrChoices(
+ final ManagedObject adapter,
+ final List<ManagedObject> argumentsIfAvailable) {
return argumentsIfAvailable;
}
@@ -457,34 +454,23 @@ public abstract class ObjectActionParameterAbstract implements ObjectActionParam
}
}
- /**
- * unused - incorporated into the {@link ChoicesFacetFromBoundedAbstract}
- */
- @SuppressWarnings("unused")
- private <T> void addAllInstancesForType(final List<ObjectAdapter> adapters) {
- final Query<T> query = new QueryFindAllInstances<T>(getSpecification().getFullIdentifier());
- final List<ObjectAdapter> allInstancesAdapter = getObjectPersistor().allMatchingQuery(query);
- for (final ObjectAdapter choiceAdapter : allInstancesAdapter) {
- adapters.add(choiceAdapter);
- }
- }
-
-
+
//region > Visibility
private ActionArgVisibilityContext createArgumentVisibilityContext(
- final ObjectAdapter objectAdapter,
- final ObjectAdapter[] proposedArguments,
+ final ManagedObject objectAdapter,
+ final ManagedObject[] proposedArguments,
final int position,
final InteractionInitiatedBy interactionInitiatedBy) {
+
return new ActionArgVisibilityContext(
objectAdapter, parentAction, getIdentifier(), proposedArguments, position, interactionInitiatedBy);
}
@Override
public Consent isVisible(
- final ObjectAdapter targetAdapter,
- final ObjectAdapter[] pendingArguments,
+ final ManagedObject targetAdapter,
+ final ManagedObject[] pendingArguments,
final InteractionInitiatedBy interactionInitiatedBy) {
final VisibilityContext<?> ic = createArgumentVisibilityContext(
@@ -500,18 +486,19 @@ public abstract class ObjectActionParameterAbstract implements ObjectActionParam
//region > Usability
private ActionArgUsabilityContext createArgumentUsabilityContext(
- final ObjectAdapter objectAdapter,
- final ObjectAdapter[] proposedArguments,
+ final ManagedObject objectAdapter,
+ final ManagedObject[] proposedArguments,
final int position,
final InteractionInitiatedBy interactionInitiatedBy) {
+
return new ActionArgUsabilityContext(
objectAdapter, parentAction, getIdentifier(), proposedArguments, position, interactionInitiatedBy);
}
@Override
public Consent isUsable(
- final ObjectAdapter targetAdapter,
- final ObjectAdapter[] pendingArguments,
+ final ManagedObject targetAdapter,
+ final ManagedObject[] pendingArguments,
final InteractionInitiatedBy interactionInitiatedBy) {
final UsabilityContext<?> ic = createArgumentUsabilityContext(
@@ -529,21 +516,22 @@ public abstract class ObjectActionParameterAbstract implements ObjectActionParam
@Override
public ActionArgValidityContext createProposedArgumentInteractionContext(
- final ObjectAdapter objectAdapter,
- final ObjectAdapter[] proposedArguments,
+ final ManagedObject objectAdapter,
+ final ManagedObject[] proposedArguments,
final int position,
final InteractionInitiatedBy interactionInitiatedBy) {
+
return new ActionArgValidityContext(
objectAdapter, parentAction, getIdentifier(), proposedArguments, position, interactionInitiatedBy);
}
@Override
public String isValid(
- final ObjectAdapter objectAdapter,
+ final ManagedObject objectAdapter,
final Object proposedValue,
final InteractionInitiatedBy interactionInitiatedBy) {
- ObjectAdapter proposedValueAdapter = null;
+ ManagedObject proposedValueAdapter = null;
ObjectSpecification proposedValueSpec;
if(proposedValue != null) {
proposedValueAdapter = getObjectAdapterProvider().adapterFor(proposedValue);
@@ -556,7 +544,7 @@ public abstract class ObjectActionParameterAbstract implements ObjectActionParam
}
}
- final ObjectAdapter[] argumentAdapters = arguments(proposedValueAdapter);
+ final ManagedObject[] argumentAdapters = arguments(proposedValueAdapter);
final ValidityContext<?> ic = createProposedArgumentInteractionContext(
objectAdapter, argumentAdapters, getNumber(), interactionInitiatedBy
);
@@ -576,9 +564,9 @@ public abstract class ObjectActionParameterAbstract implements ObjectActionParam
* to do this in two passes, one to build up the argument set as a single
* unit, and then validate each in turn.
*/
- private ObjectAdapter[] arguments(final ObjectAdapter proposedValue) {
+ private ManagedObject[] arguments(final ManagedObject proposedValue) {
final int parameterCount = getAction().getParameterCount();
- final ObjectAdapter[] arguments = new ObjectAdapter[parameterCount];
+ final ManagedObject[] arguments = new ManagedObject[parameterCount];
arguments[getNumber()] = proposedValue;
return arguments;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterContributeeAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterContributeeAbstract.java
index 4c06006..63d84ab 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterContributeeAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterContributeeAbstract.java
@@ -20,10 +20,10 @@ package org.apache.isis.metamodel.specloader.specimpl;
import java.util.List;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.commons.ListExtensions;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FeatureType;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.ObjectActionParameter;
public abstract class ObjectActionParameterContributeeAbstract
@@ -47,29 +47,29 @@ implements ObjectActionParameterContributee {
}
@Override
- public ObjectAdapter[] getAutoComplete(
- final ObjectAdapter adapter,
+ public ManagedObject[] getAutoComplete(
+ final ManagedObject adapter,
final String searchArg,
final InteractionInitiatedBy interactionInitiatedBy) {
return serviceActionParameter.getAutoComplete(getServiceAdapter(), searchArg,
interactionInitiatedBy);
}
- protected ObjectAdapter getServiceAdapter() {
+ protected ManagedObject getServiceAdapter() {
return getObjectAdapterProvider().adapterFor(servicePojo);
}
@Override
- protected ObjectAdapter targetForDefaultOrChoices(final ObjectAdapter adapter) {
+ protected ManagedObject targetForDefaultOrChoices(final ManagedObject adapter) {
return getServiceAdapter();
}
@Override
- protected List<ObjectAdapter> argsForDefaultOrChoices(
- final ObjectAdapter contributee,
- final List<ObjectAdapter> argumentsIfAvailable) {
+ protected List<ManagedObject> argsForDefaultOrChoices(
+ final ManagedObject contributee,
+ final List<ManagedObject> argumentsIfAvailable) {
- final List<ObjectAdapter> suppliedArgs = ListExtensions.mutableCopy(argumentsIfAvailable);
+ final List<ManagedObject> suppliedArgs = ListExtensions.mutableCopy(argumentsIfAvailable);
final int contributeeParam = contributeeAction.getContributeeParam();
ListExtensions.insert(suppliedArgs, contributeeParam, contributee);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterMixedInAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterMixedInAbstract.java
index 2c494d1..c3626ec 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterMixedInAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterMixedInAbstract.java
@@ -18,10 +18,10 @@
*/
package org.apache.isis.metamodel.specloader.specimpl;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FeatureType;
import org.apache.isis.metamodel.interactions.ActionArgValidityContext;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.ObjectActionParameter;
public abstract class ObjectActionParameterMixedInAbstract
@@ -40,8 +40,8 @@ implements ObjectActionParameterMixedIn {
}
@Override
- public ObjectAdapter[] getAutoComplete(
- final ObjectAdapter mixedInAdapter,
+ public ManagedObject[] getAutoComplete(
+ final ManagedObject mixedInAdapter,
final String searchArg,
final InteractionInitiatedBy interactionInitiatedBy) {
return mixinParameter.getAutoComplete(
@@ -50,22 +50,22 @@ implements ObjectActionParameterMixedIn {
}
@Override
- protected ObjectAdapter targetForDefaultOrChoices(final ObjectAdapter mixedInAdapter) {
+ protected ManagedObject targetForDefaultOrChoices(final ManagedObject mixedInAdapter) {
return mixinAdapterFor(mixedInAdapter);
}
- private ObjectAdapter mixinAdapterFor(final ObjectAdapter mixedInAdapter) {
+ private ManagedObject mixinAdapterFor(final ManagedObject mixedInAdapter) {
return mixedInAction.mixinAdapterFor(mixedInAdapter);
}
@Override
public ActionArgValidityContext createProposedArgumentInteractionContext(
- final ObjectAdapter mixedInAdapter,
- final ObjectAdapter[] proposedArguments,
+ final ManagedObject mixedInAdapter,
+ final ManagedObject[] proposedArguments,
final int position,
final InteractionInitiatedBy interactionInitiatedBy) {
- final ObjectAdapter targetObject = mixinAdapterFor(mixedInAdapter);
+ final ManagedObject targetObject = mixinAdapterFor(mixedInAdapter);
final ActionArgValidityContext actionArgValidityContext = new ActionArgValidityContext(
targetObject, mixedInAction.mixinAction, getIdentifier(), proposedArguments, position, interactionInitiatedBy);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectAssociationAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectAssociationAbstract.java
index bb3b66f..d64e11d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectAssociationAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectAssociationAbstract.java
@@ -19,7 +19,6 @@
package org.apache.isis.metamodel.specloader.specimpl;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FeatureType;
import org.apache.isis.metamodel.facets.FacetedMethod;
@@ -27,6 +26,7 @@ import org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet;
import org.apache.isis.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
import org.apache.isis.metamodel.facets.propcoll.notpersisted.NotPersistedFacet;
import org.apache.isis.metamodel.facets.properties.choices.PropertyChoicesFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.ObjectAssociation;
@@ -80,7 +80,7 @@ public abstract class ObjectAssociationAbstract extends ObjectMemberAbstract imp
}
@Override
- public abstract boolean isEmpty(final ObjectAdapter adapter, final InteractionInitiatedBy interactionInitiatedBy);
+ public abstract boolean isEmpty(final ManagedObject adapter, final InteractionInitiatedBy interactionInitiatedBy);
@Override
public boolean isOneToOneAssociation() {
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectMemberAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectMemberAbstract.java
index 8aec764..82c60ad 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectMemberAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectMemberAbstract.java
@@ -28,7 +28,6 @@ import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.command.Command;
import org.apache.isis.applib.services.command.CommandContext;
import org.apache.isis.metamodel.MetaModelContext;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.commons.StringExtensions;
import org.apache.isis.metamodel.consent.Consent;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
@@ -60,6 +59,8 @@ import org.apache.isis.metamodel.spec.feature.ObjectMember;
import org.apache.isis.schema.cmd.v1.CommandDto;
import org.apache.isis.schema.utils.CommandDtoUtils;
+import lombok.val;
+
public abstract class ObjectMemberAbstract implements ObjectMember, MetaModelContext.Delegating {
protected static ObjectSpecification specificationOf(final Class<?> type) {
@@ -317,13 +318,14 @@ public abstract class ObjectMemberAbstract implements ObjectMember, MetaModelCon
/**
* For mixins
*/
- ObjectAdapter mixinAdapterFor(
+ ManagedObject mixinAdapterFor(
final Class<?> mixinType,
final ManagedObject mixedInAdapter) {
- final ObjectSpecification objectSpecification = getSpecificationLoader().loadSpecification(mixinType);
- final MixinFacet mixinFacet = objectSpecification.getFacet(MixinFacet.class);
- final Object mixinPojo = mixinFacet.instantiate(mixedInAdapter.getPojo());
- return getObjectAdapterProvider().adapterFor(mixinPojo);
+
+ val spec = getSpecificationLoader().loadSpecification(mixinType);
+ val mixinFacet = spec.getFacet(MixinFacet.class);
+ val mixinPojo = mixinFacet.instantiate(mixedInAdapter.getPojo());
+ return ManagedObject.of(spec, mixinPojo);
}
static String determineNameFrom(final ObjectAction mixinAction) {
@@ -388,7 +390,7 @@ public abstract class ObjectMemberAbstract implements ObjectMember, MetaModelCon
// -- command (setup)
- protected void setupCommandTarget(final ObjectAdapter targetAdapter, final String arguments) {
+ protected void setupCommandTarget(final ManagedObject targetAdapter, final String arguments) {
final CommandContext commandContext = getCommandContext();
final Command command = commandContext.getCommand();
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationContributee.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationContributee.java
index e8a54bb..eb43bce 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationContributee.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationContributee.java
@@ -24,7 +24,6 @@ import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.commons.internal.ioc.BeanAdapter;
import org.apache.isis.metamodel.MetaModelContext;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.Consent;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FacetHolder;
@@ -44,7 +43,8 @@ import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.metamodel.specloader.SpecificationLoader;
-public class OneToManyAssociationContributee extends OneToManyAssociationDefault implements ContributeeMember {
+public class OneToManyAssociationContributee
+extends OneToManyAssociationDefault implements ContributeeMember {
private final BeanAdapter serviceBean;
private final ObjectAction serviceAction;
@@ -118,8 +118,11 @@ public class OneToManyAssociationContributee extends OneToManyAssociationDefault
}
@Override
- public ObjectAdapter get(final ObjectAdapter ownerAdapter, final InteractionInitiatedBy interactionInitiatedBy) {
- return serviceAction.execute(getServiceAdapter(), null, new ObjectAdapter[]{ownerAdapter}, interactionInitiatedBy);
+ public ManagedObject get(
+ final ManagedObject ownerAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+
+ return serviceAction.execute(getServiceAdapter(), null, new ManagedObject[]{ownerAdapter}, interactionInitiatedBy);
}
@Override
@@ -172,7 +175,7 @@ public class OneToManyAssociationContributee extends OneToManyAssociationDefault
return facetHolder;
}
- private ObjectAdapter getServiceAdapter() {
+ private ManagedObject getServiceAdapter() {
return getObjectAdapterProvider().adapterForBean(serviceBean);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationDefault.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationDefault.java
index e4570cc..7b4eebc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationDefault.java
@@ -21,7 +21,6 @@ package org.apache.isis.metamodel.specloader.specimpl;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.commons.exceptions.IsisException;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.oid.RootOid;
import org.apache.isis.metamodel.commons.ToString;
import org.apache.isis.metamodel.consent.Consent;
@@ -50,7 +49,8 @@ import org.apache.isis.metamodel.spec.feature.OneToManyAssociation;
import lombok.val;
-public class OneToManyAssociationDefault extends ObjectAssociationAbstract implements OneToManyAssociation {
+public class OneToManyAssociationDefault
+extends ObjectAssociationAbstract implements OneToManyAssociation {
public OneToManyAssociationDefault(final FacetedMethod facetedMethod) {
this(facetedMethod, specificationOf(facetedMethod.getType()));
@@ -93,23 +93,23 @@ public class OneToManyAssociationDefault extends ObjectAssociationAbstract imple
// Not API
private ValidityContext<?> createValidateAddInteractionContext(
final InteractionInitiatedBy interactionInitiatedBy,
- final ObjectAdapter ownerAdapter,
- final ObjectAdapter proposedToAddAdapter) {
+ final ManagedObject ownerAdapter,
+ final ManagedObject proposedToAddAdapter) {
return new CollectionAddToContext(ownerAdapter, getIdentifier(), proposedToAddAdapter,
interactionInitiatedBy);
}
@Override
public Consent isValidToAdd(
- final ObjectAdapter ownerAdapter,
- final ObjectAdapter proposedToAddAdapter,
+ final ManagedObject ownerAdapter,
+ final ManagedObject proposedToAddAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
return isValidToAddResult(ownerAdapter, proposedToAddAdapter, interactionInitiatedBy).createConsent();
}
private InteractionResult isValidToAddResult(
- final ObjectAdapter ownerAdapter,
- final ObjectAdapter proposedToAddAdapter,
+ final ManagedObject ownerAdapter,
+ final ManagedObject proposedToAddAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
final ValidityContext<?> validityContext = createValidateAddInteractionContext(
interactionInitiatedBy, ownerAdapter, proposedToAddAdapter);
@@ -120,8 +120,8 @@ public class OneToManyAssociationDefault extends ObjectAssociationAbstract imple
// -- Validate Remove
private ValidityContext<?> createValidateRemoveInteractionContext(
- final ObjectAdapter ownerAdapter,
- final ObjectAdapter proposedToRemoveAdapter,
+ final ManagedObject ownerAdapter,
+ final ManagedObject proposedToRemoveAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
return new CollectionRemoveFromContext(
ownerAdapter, getIdentifier(), proposedToRemoveAdapter, interactionInitiatedBy
@@ -130,16 +130,16 @@ public class OneToManyAssociationDefault extends ObjectAssociationAbstract imple
@Override
public Consent isValidToRemove(
- final ObjectAdapter ownerAdapter,
- final ObjectAdapter proposedToRemoveAdapter,
+ final ManagedObject ownerAdapter,
+ final ManagedObject proposedToRemoveAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
return isValidToRemoveResult(
ownerAdapter, proposedToRemoveAdapter, interactionInitiatedBy).createConsent();
}
private InteractionResult isValidToRemoveResult(
- final ObjectAdapter ownerAdapter,
- final ObjectAdapter proposedToRemoveAdapter,
+ final ManagedObject ownerAdapter,
+ final ManagedObject proposedToRemoveAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
final ValidityContext<?> validityContext = createValidateRemoveInteractionContext(
ownerAdapter, proposedToRemoveAdapter, interactionInitiatedBy);
@@ -155,8 +155,8 @@ public class OneToManyAssociationDefault extends ObjectAssociationAbstract imple
// -- get, isEmpty, add, clear
@Override
- public ObjectAdapter get(
- final ObjectAdapter ownerAdapter,
+ public ManagedObject get(
+ final ManagedObject ownerAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
final PropertyOrCollectionAccessorFacet accessor = getFacet(PropertyOrCollectionAccessorFacet.class);
@@ -165,16 +165,16 @@ public class OneToManyAssociationDefault extends ObjectAssociationAbstract imple
return null;
}
- val parentOid = (RootOid)ownerAdapter.getOid();
+ val parentOid = (RootOid)ManagedObject.promote(ownerAdapter).getOid();
val newAdapter = getObjectAdapterProvider().adapterForCollection(collection, parentOid, this);
return newAdapter.injectServices(getServiceInjector());
}
@Override
- public boolean isEmpty(final ObjectAdapter parentAdapter, final InteractionInitiatedBy interactionInitiatedBy) {
+ public boolean isEmpty(final ManagedObject parentAdapter, final InteractionInitiatedBy interactionInitiatedBy) {
// REVIEW should we be able to determine if a collection is empty
// without loading it?
- final ObjectAdapter collection = get(parentAdapter, interactionInitiatedBy);
+ final ManagedObject collection = get(parentAdapter, interactionInitiatedBy);
final CollectionFacet facet = CollectionFacet.Utils.getCollectionFacetFromSpec(collection);
return facet.size(collection) == 0;
}
@@ -183,27 +183,29 @@ public class OneToManyAssociationDefault extends ObjectAssociationAbstract imple
@Override
public void addElement(
- final ObjectAdapter ownerAdapter,
- final ObjectAdapter referencedAdapter,
+ final ManagedObject ownerAdapter,
+ final ManagedObject referencedAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
if (referencedAdapter == null) {
throw new IllegalArgumentException("Can't use null to add an item to a collection");
}
if (readWrite()) {
- if (ownerAdapter.isRepresentingPersistent() && referencedAdapter.isTransient()) {
+
+ //if(ownerAdapter.getSpecification().isEntity() && !referencedAdapter.getSpecification().isEntity()) {
+ if (ManagedObject.promote(ownerAdapter).isRepresentingPersistent() && ManagedObject.promote(referencedAdapter).isTransient()) {
throw new IsisException("can't set a reference to a transient object from a persistent one: "
+ ownerAdapter.titleString(null)
+ " (persistent) -> " + referencedAdapter.titleString() + " (transient)");
}
- final CollectionAddToFacet facet = getFacet(CollectionAddToFacet.class);
+ val facet = getFacet(CollectionAddToFacet.class);
facet.add(ownerAdapter, referencedAdapter, interactionInitiatedBy);
}
}
@Override
public void removeElement(
- final ObjectAdapter ownerAdapter,
- final ObjectAdapter referencedAdapter,
+ final ManagedObject ownerAdapter,
+ final ManagedObject referencedAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
if (referencedAdapter == null) {
throw new IllegalArgumentException("element should not be null");
@@ -214,40 +216,29 @@ public class OneToManyAssociationDefault extends ObjectAssociationAbstract imple
}
}
- public void removeAllAssociations(final ObjectAdapter ownerAdapter) {
+ public void removeAllAssociations(final ManagedObject ownerAdapter) {
final CollectionClearFacet facet = getFacet(CollectionClearFacet.class);
facet.clear(ownerAdapter);
}
- @Override
- public void clearCollection(final ObjectAdapter ownerAdapter) {
- if (readWrite()) {
- final CollectionClearFacet facet = getFacet(CollectionClearFacet.class);
- facet.clear(ownerAdapter);
- }
- }
-
-
-
// -- defaults
@Override
- public ObjectAdapter getDefault(final ObjectAdapter ownerAdapter) {
+ public ManagedObject getDefault(final ManagedObject ownerAdapter) {
return null;
}
@Override
- public void toDefault(final ObjectAdapter ownerAdapter) {
+ public void toDefault(final ManagedObject ownerAdapter) {
}
-
// -- choices & autoComplete
@Override
- public ObjectAdapter[] getChoices(
- final ObjectAdapter ownerAdapter,
+ public ManagedObject[] getChoices(
+ final ManagedObject ownerAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
- return new ObjectAdapter[0];
+ return new ManagedObject[0];
}
@Override
@@ -262,11 +253,11 @@ public class OneToManyAssociationDefault extends ObjectAssociationAbstract imple
}
@Override
- public ObjectAdapter[] getAutoComplete(
- ObjectAdapter object,
+ public ManagedObject[] getAutoComplete(
+ ManagedObject object,
String searchArg,
final InteractionInitiatedBy interactionInitiatedBy) {
- return new ObjectAdapter[0];
+ return new ManagedObject[0];
}
@Override
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationMixedIn.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationMixedIn.java
index b8bb2e5..873dd4d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationMixedIn.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToManyAssociationMixedIn.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.commons.internal.base._Strings;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.Consent;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FacetHolder;
@@ -137,15 +136,16 @@ public class OneToManyAssociationMixedIn extends OneToManyAssociationDefault imp
}
@Override
- public ObjectAdapter get(
- final ObjectAdapter mixedInAdapter,
+ public ManagedObject get(
+ final ManagedObject mixedInAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
- final ObjectAdapter mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
+
+ final ManagedObject mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
return getPublishingServiceInternal().withPublishingSuppressed(
- new PublishingServiceInternal.Block<ObjectAdapter>() {
- @Override public ObjectAdapter exec() {
+ new PublishingServiceInternal.Block<ManagedObject>() {
+ @Override public ManagedObject exec() {
return mixinAction.executeInternal(
- mixinAdapter, mixedInAdapter, new ObjectAdapter[0], interactionInitiatedBy);
+ mixinAdapter, mixedInAdapter, new ManagedObject[0], interactionInitiatedBy);
}
});
}
@@ -171,7 +171,7 @@ public class OneToManyAssociationMixedIn extends OneToManyAssociationDefault imp
final InteractionInitiatedBy interactionInitiatedBy,
final Where where) {
- final ObjectAdapter mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
+ final ManagedObject mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
final VisibilityContext<?> ic =
mixinAction.createVisibleInteractionContext(mixinAdapter, interactionInitiatedBy, where);
ic.setMixedIn(mixedInAdapter);
@@ -184,7 +184,7 @@ public class OneToManyAssociationMixedIn extends OneToManyAssociationDefault imp
final InteractionInitiatedBy interactionInitiatedBy,
final Where where) {
- final ObjectAdapter mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
+ final ManagedObject mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
final UsabilityContext<?> ic =
mixinAction.createUsableInteractionContext(
mixinAdapter, interactionInitiatedBy, where);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneActionParameterDefault.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneActionParameterDefault.java
index a1515b1..37cbdd6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneActionParameterDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneActionParameterDefault.java
@@ -23,7 +23,8 @@ import org.apache.isis.metamodel.facetapi.FeatureType;
import org.apache.isis.metamodel.facets.TypedHolder;
import org.apache.isis.metamodel.spec.feature.OneToOneActionParameter;
-public class OneToOneActionParameterDefault extends ObjectActionParameterAbstract implements OneToOneActionParameter {
+public class OneToOneActionParameterDefault
+extends ObjectActionParameterAbstract implements OneToOneActionParameter {
public OneToOneActionParameterDefault(
final int index,
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationContributee.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationContributee.java
index 1de3c55..96c66e3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationContributee.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationContributee.java
@@ -102,8 +102,12 @@ public class OneToOneAssociationContributee extends OneToOneAssociationDefault i
}
@Override
- public ObjectAdapter get(final ObjectAdapter ownerAdapter, final InteractionInitiatedBy interactionInitiatedBy) {
- return serviceAction.execute(getServiceAdapter(), null, new ObjectAdapter[]{ownerAdapter}, interactionInitiatedBy);
+ public ManagedObject get(
+ final ManagedObject ownerAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+
+ return serviceAction.execute(
+ getServiceAdapter(), null, new ManagedObject[]{ownerAdapter}, interactionInitiatedBy);
}
@Override
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationDefault.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationDefault.java
index 69618e1..9e56ed3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationDefault.java
@@ -27,7 +27,6 @@ import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.services.command.Command;
import org.apache.isis.commons.exceptions.IsisException;
import org.apache.isis.commons.internal.base._NullSafe;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.commons.ToString;
import org.apache.isis.metamodel.consent.Consent;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
@@ -57,6 +56,8 @@ import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.schema.cmd.v1.CommandDto;
+import lombok.val;
+
public class OneToOneAssociationDefault extends ObjectAssociationAbstract implements OneToOneAssociation {
public OneToOneAssociationDefault(final FacetedMethod facetedMethod) {
@@ -121,7 +122,10 @@ public class OneToOneAssociationDefault extends ObjectAssociationAbstract implem
// -- init
@Override
- public void initAssociation(final ObjectAdapter ownerAdapter, final ObjectAdapter referencedAdapter) {
+ public void initAssociation(
+ final ManagedObject ownerAdapter,
+ final ManagedObject referencedAdapter) {
+
final PropertyInitializationFacet initializerFacet = getFacet(PropertyInitializationFacet.class);
if (initializerFacet != null) {
initializerFacet.initProperty(ownerAdapter, referencedAdapter);
@@ -133,8 +137,8 @@ public class OneToOneAssociationDefault extends ObjectAssociationAbstract implem
// -- Access (get, isEmpty)
@Override
- public ObjectAdapter get(
- final ObjectAdapter ownerAdapter,
+ public ManagedObject get(
+ final ManagedObject ownerAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
final PropertyOrCollectionAccessorFacet facet = getFacet(PropertyOrCollectionAccessorFacet.class);
@@ -166,15 +170,15 @@ public class OneToOneAssociationDefault extends ObjectAssociationAbstract implem
}
@Override
- public boolean isEmpty(final ObjectAdapter ownerAdapter, final InteractionInitiatedBy interactionInitiatedBy) {
+ public boolean isEmpty(final ManagedObject ownerAdapter, final InteractionInitiatedBy interactionInitiatedBy) {
return get(ownerAdapter, interactionInitiatedBy) == null;
}
// -- Set
@Override
public void set(
- final ObjectAdapter ownerAdapter,
- final ObjectAdapter newReferencedAdapter) {
+ final ManagedObject ownerAdapter,
+ final ManagedObject newReferencedAdapter) {
set(ownerAdapter, newReferencedAdapter, InteractionInitiatedBy.USER);
}
@@ -184,8 +188,8 @@ public class OneToOneAssociationDefault extends ObjectAssociationAbstract implem
*/
@Override
public void set(
- final ObjectAdapter ownerAdapter,
- final ObjectAdapter newReferencedAdapter,
+ final ManagedObject ownerAdapter,
+ final ManagedObject newReferencedAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
setupCommand(ownerAdapter, newReferencedAdapter);
@@ -194,8 +198,8 @@ public class OneToOneAssociationDefault extends ObjectAssociationAbstract implem
}
private void setInternal(
- final ObjectAdapter ownerAdapter,
- final ObjectAdapter newReferencedAdapter,
+ final ManagedObject ownerAdapter,
+ final ManagedObject newReferencedAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
if (newReferencedAdapter != null) {
setValue(ownerAdapter, newReferencedAdapter, interactionInitiatedBy);
@@ -205,8 +209,8 @@ public class OneToOneAssociationDefault extends ObjectAssociationAbstract implem
}
private void setValue(
- final ObjectAdapter ownerAdapter,
- final ObjectAdapter newReferencedAdapter,
+ final ManagedObject ownerAdapter,
+ final ManagedObject newReferencedAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
final PropertySetterFacet setterFacet = getFacet(PropertySetterFacet.class);
@@ -214,9 +218,9 @@ public class OneToOneAssociationDefault extends ObjectAssociationAbstract implem
return;
}
- if ( ownerAdapter.isRepresentingPersistent() &&
+ if ( ManagedObject.promote(ownerAdapter).isRepresentingPersistent() &&
newReferencedAdapter != null &&
- newReferencedAdapter.isTransient() &&
+ ManagedObject.promote(newReferencedAdapter).isTransient() &&
!newReferencedAdapter.getSpecification().isParented()) {
// TODO: I've never seen this exception, and in any case DataNucleus supports persistence-by-reachability; so probably not required
@@ -227,8 +231,9 @@ public class OneToOneAssociationDefault extends ObjectAssociationAbstract implem
}
private void clearValue(
- final ObjectAdapter ownerAdapter,
+ final ManagedObject ownerAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
+
final PropertyClearFacet facet = getFacet(PropertyClearFacet.class);
facet.clearProperty(this, ownerAdapter, interactionInitiatedBy);
}
@@ -237,7 +242,7 @@ public class OneToOneAssociationDefault extends ObjectAssociationAbstract implem
// -- defaults
@Override
- public ObjectAdapter getDefault(final ObjectAdapter ownerAdapter) {
+ public ManagedObject getDefault(final ManagedObject ownerAdapter) {
PropertyDefaultFacet propertyDefaultFacet = getFacet(PropertyDefaultFacet.class);
// if no default on the association, attempt to find a default on the
// specification (eg an int should
@@ -252,14 +257,14 @@ public class OneToOneAssociationDefault extends ObjectAssociationAbstract implem
}
@Override
- public void toDefault(final ObjectAdapter ownerAdapter) {
+ public void toDefault(final ManagedObject ownerAdapter) {
// don't default optional fields
final MandatoryFacet mandatoryFacet = getFacet(MandatoryFacet.class);
if (mandatoryFacet != null && mandatoryFacet.isInvertedSemantics()) {
return;
}
- final ObjectAdapter defaultValue = getDefault(ownerAdapter);
+ final ManagedObject defaultValue = getDefault(ownerAdapter);
if (defaultValue != null) {
initAssociation(ownerAdapter, defaultValue);
}
@@ -274,11 +279,11 @@ public class OneToOneAssociationDefault extends ObjectAssociationAbstract implem
}
@Override
- public ObjectAdapter[] getChoices(
- final ObjectAdapter ownerAdapter,
+ public ManagedObject[] getChoices(
+ final ManagedObject ownerAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
- final PropertyChoicesFacet propertyChoicesFacet = getFacet(PropertyChoicesFacet.class);
+ val propertyChoicesFacet = getFacet(PropertyChoicesFacet.class);
if (propertyChoicesFacet == null) {
return null;
}
@@ -287,10 +292,10 @@ public class OneToOneAssociationDefault extends ObjectAssociationAbstract implem
ownerAdapter,
interactionInitiatedBy);
- List<ObjectAdapter> adapters = _NullSafe.stream(pojoOptions)
+ List<ManagedObject> adapters = _NullSafe.stream(pojoOptions)
.map( getObjectAdapterProvider()::adapterFor )
.collect(Collectors.toList());
- return adapters.toArray(new ObjectAdapter[]{});
+ return adapters.toArray(new ManagedObject[]{});
}
@@ -301,15 +306,15 @@ public class OneToOneAssociationDefault extends ObjectAssociationAbstract implem
}
@Override
- public ObjectAdapter[] getAutoComplete(
- final ObjectAdapter ownerAdapter,
+ public ManagedObject[] getAutoComplete(
+ final ManagedObject ownerAdapter,
final String searchArg,
final InteractionInitiatedBy interactionInitiatedBy) {
final PropertyAutoCompleteFacet propertyAutoCompleteFacet = getFacet(PropertyAutoCompleteFacet.class);
final Object[] pojoOptions = propertyAutoCompleteFacet.autoComplete(ownerAdapter, searchArg,
interactionInitiatedBy);
if (pojoOptions != null) {
- final ObjectAdapter[] options = new ObjectAdapter[pojoOptions.length];
+ final ManagedObject[] options = new ManagedObject[pojoOptions.length];
for (int i = 0; i < options.length; i++) {
options[i] = getObjectAdapterProvider().adapterFor(pojoOptions[i]);
}
@@ -330,8 +335,8 @@ public class OneToOneAssociationDefault extends ObjectAssociationAbstract implem
* Internal API
*/
public void setupCommand(
- final ObjectAdapter targetAdapter,
- final ObjectAdapter valueAdapterOrNull) {
+ final ManagedObject targetAdapter,
+ final ManagedObject valueAdapterOrNull) {
setupCommandTarget(targetAdapter, valueAdapterOrNull);
setupCommandMemberIdentifier();
@@ -339,16 +344,16 @@ public class OneToOneAssociationDefault extends ObjectAssociationAbstract implem
}
private void setupCommandTarget(
- final ObjectAdapter targetAdapter,
- final ObjectAdapter valueAdapter) {
+ final ManagedObject targetAdapter,
+ final ManagedObject valueAdapter) {
final String arguments = CommandUtil.argDescriptionFor(valueAdapter);
setupCommandTarget(targetAdapter, arguments);
}
private void setupCommandMementoAndExecutionContext(
- final ObjectAdapter targetAdapter,
- final ObjectAdapter valueAdapterOrNull) {
+ final ManagedObject targetAdapter,
+ final ManagedObject valueAdapterOrNull) {
final CommandDtoServiceInternal commandDtoServiceInternal = getCommandDtoService();
final CommandDto dto = commandDtoServiceInternal.asCommandDto(
@@ -372,8 +377,4 @@ public class OneToOneAssociationDefault extends ObjectAssociationAbstract implem
}
-
-
-
-
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationMixedIn.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationMixedIn.java
index 32d52d5..e19e52f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationMixedIn.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/OneToOneAssociationMixedIn.java
@@ -41,6 +41,8 @@ import org.apache.isis.metamodel.services.publishing.PublishingServiceInternal;
import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
+import lombok.val;
+
public class OneToOneAssociationMixedIn extends OneToOneAssociationDefault implements MixedInMember {
/**
@@ -125,18 +127,18 @@ public class OneToOneAssociationMixedIn extends OneToOneAssociationDefault imple
}
@Override
- public ObjectAdapter get(
- final ObjectAdapter mixedInAdapter,
+ public ManagedObject get(
+ final ManagedObject mixedInAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
- final ObjectAdapter mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
+ val mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
return getPublishingServiceInternal().withPublishingSuppressed(
- new PublishingServiceInternal.Block<ObjectAdapter>(){
+ new PublishingServiceInternal.Block<ManagedObject>(){
@Override
- public ObjectAdapter exec() {
+ public ManagedObject exec() {
return mixinAction.executeInternal(
- mixinAdapter, mixedInAdapter, new ObjectAdapter[0], interactionInitiatedBy);
+ mixinAdapter, mixedInAdapter, new ManagedObject[0], interactionInitiatedBy);
}
}
);
@@ -163,7 +165,7 @@ public class OneToOneAssociationMixedIn extends OneToOneAssociationDefault imple
final InteractionInitiatedBy interactionInitiatedBy,
final Where where) {
- final ObjectAdapter mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
+ val mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
final VisibilityContext<?> ic =
mixinAction.createVisibleInteractionContext(mixinAdapter, interactionInitiatedBy, where);
ic.setMixedIn(mixedInAdapter);
@@ -176,7 +178,7 @@ public class OneToOneAssociationMixedIn extends OneToOneAssociationDefault imple
final InteractionInitiatedBy interactionInitiatedBy,
final Where where) {
- final ObjectAdapter mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
+ val mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
final UsabilityContext<?> ic =
mixinAction.createUsableInteractionContext(mixinAdapter, interactionInitiatedBy, where);
ic.setMixedIn(mixedInAdapter);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/util/snapshot/IsisSchema.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/util/snapshot/IsisSchema.java
index 1572d4e..c5c593b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/util/snapshot/IsisSchema.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/util/snapshot/IsisSchema.java
@@ -22,8 +22,8 @@ package org.apache.isis.metamodel.util.snapshot;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facets.collections.modify.CollectionFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* Utility methods relating to the Isis meta model.
@@ -171,7 +171,7 @@ final class IsisSchema {
* Additionally, if the <code>addOids</code> parameter is set, also adds
* <code><oids></code> child elements.
*/
- void setIsisCollection(final Element element, final String prefix, final String fullyQualifiedClassName, final ObjectAdapter collection) {
+ void setIsisCollection(final Element element, final String prefix, final String fullyQualifiedClassName, final ManagedObject collection) {
setAttribute(element, "feature", FEATURE_COLLECTION);
setAttribute(element, "type", prefix + ":" + fullyQualifiedClassName);
final CollectionFacet facet = CollectionFacet.Utils.getCollectionFacetFromSpec(collection);
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/util/snapshot/Place.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/util/snapshot/Place.java
index c7eb0f2..b58ad83 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/util/snapshot/Place.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/util/snapshot/Place.java
@@ -21,7 +21,7 @@ package org.apache.isis.metamodel.util.snapshot;
import org.w3c.dom.Element;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* Represents a place in the graph to be navigated; really just wraps an object
@@ -33,10 +33,10 @@ import org.apache.isis.metamodel.adapter.ObjectAdapter;
*/
final class Place {
private static final String USER_DATA_XSD_KEY = "XSD";
- private final ObjectAdapter object;
+ private final ManagedObject object;
private final Element element;
- Place(final ObjectAdapter object, final Element element) {
+ Place(final ManagedObject object, final Element element) {
this.object = object;
this.element = element;
}
@@ -45,7 +45,7 @@ final class Place {
return element;
}
- public ObjectAdapter getObject() {
+ public ManagedObject getObject() {
return object;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/util/snapshot/XmlSnapshot.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/util/snapshot/XmlSnapshot.java
index c06936c..3319233 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/util/snapshot/XmlSnapshot.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/util/snapshot/XmlSnapshot.java
@@ -57,6 +57,7 @@ import org.apache.isis.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.metamodel.facets.object.encodeable.EncodableFacet;
import org.apache.isis.metamodel.facets.object.parseable.ParseableFacet;
import org.apache.isis.metamodel.facets.object.value.ValueFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.ObjectSpecificationException;
import org.apache.isis.metamodel.spec.feature.Contributed;
@@ -261,7 +262,7 @@ public class XmlSnapshot implements Snapshot {
* using appendXml passing in a rootElement and a new schemaManager - see
* {@link XmlSnapshot}).
*/
- private Element appendXml(final Place parentPlace, final ObjectAdapter childObject) {
+ private Element appendXml(final Place parentPlace, final ManagedObject childObject) {
if (log.isDebugEnabled()) {
log.debug("appendXml({}{})", log("parentPlace", parentPlace), andlog("childObj", childObject));
@@ -295,7 +296,7 @@ public class XmlSnapshot implements Snapshot {
}
private boolean appendXmlThenIncludeRemaining(
- final Place parentPlace, final ObjectAdapter referencedObject,
+ final Place parentPlace, final ManagedObject referencedObject,
final Vector<String> fieldNames, final String annotation) {
if (log.isDebugEnabled()) {
@@ -334,7 +335,7 @@ public class XmlSnapshot implements Snapshot {
return v;
}
- public ObjectAdapter getObject() {
+ public ManagedObject getObject() {
return rootPlace.getObject();
}
@@ -420,7 +421,7 @@ public class XmlSnapshot implements Snapshot {
andlog("annotation", annotation));
}
- final ObjectAdapter object = place.getObject();
+ final ManagedObject object = place.getObject();
final Element xmlElement = place.getXmlElement();
// we use a copy of the path so that we can safely traverse collections
@@ -496,7 +497,7 @@ public class XmlSnapshot implements Snapshot {
}
final OneToOneAssociation oneToOneAssociation = ((OneToOneAssociation) field);
- final ObjectAdapter referencedObject = oneToOneAssociation.get(fieldPlace.getObject(),
+ final ManagedObject referencedObject = oneToOneAssociation.get(fieldPlace.getObject(),
InteractionInitiatedBy.FRAMEWORK);
if (referencedObject == null) {
@@ -517,7 +518,7 @@ public class XmlSnapshot implements Snapshot {
}
final OneToManyAssociation oneToManyAssociation = (OneToManyAssociation) field;
- final ObjectAdapter collection = oneToManyAssociation.get(fieldPlace.getObject(),
+ final ManagedObject collection = oneToManyAssociation.get(fieldPlace.getObject(),
InteractionInitiatedBy.FRAMEWORK);
if (log.isDebugEnabled()) {
@@ -620,7 +621,7 @@ public class XmlSnapshot implements Snapshot {
return childElement;
}
- Place objectToElement(final ObjectAdapter adapter) {
+ Place objectToElement(final ManagedObject adapter) {
if (log.isDebugEnabled()) {
log.debug("objectToElement({})", log("object", adapter));
@@ -710,7 +711,7 @@ public class XmlSnapshot implements Snapshot {
// locally
// scoped name
- ObjectAdapter value;
+ ManagedObject value;
try {
value = valueAssociation.get(adapter, InteractionInitiatedBy.FRAMEWORK);
@@ -761,7 +762,7 @@ public class XmlSnapshot implements Snapshot {
// scoped
// name
- ObjectAdapter referencedObjectAdapter;
+ ManagedObject referencedObjectAdapter;
try {
referencedObjectAdapter = oneToOneAssociation.get(adapter, InteractionInitiatedBy.FRAMEWORK);
@@ -799,7 +800,7 @@ public class XmlSnapshot implements Snapshot {
// scoped
// name
- ObjectAdapter collection;
+ ManagedObject collection;
try {
collection = oneToManyAssociation.get(adapter, InteractionInitiatedBy.FRAMEWORK);
final ObjectSpecification referencedTypeNos = oneToManyAssociation.getSpecification();
@@ -847,9 +848,9 @@ public class XmlSnapshot implements Snapshot {
return place;
}
- private final Map<ObjectAdapter, String> viewModelFakeOids = _Maps.newHashMap();
+ private final Map<ManagedObject, String> viewModelFakeOids = _Maps.newHashMap();
- private String oidAsString(final ObjectAdapter adapter) {
+ private String oidAsString(final ManagedObject adapter) {
if (adapter.getPojo() instanceof ViewModel) {
// return a fake oid for view models;
// a snapshot may be being used to create the memento/OID
@@ -860,7 +861,7 @@ public class XmlSnapshot implements Snapshot {
}
return fakeOid;
} else {
- return adapter.getOid().enString();
+ return ManagedObject.promote(adapter).getOid().enString();
}
}
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
index eee0f78..963b4c6 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
@@ -29,7 +29,6 @@ import org.junit.Test;
import org.apache.isis.applib.annotation.Collection;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.events.domain.CollectionDomainEvent;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.facetapi.FacetHolder;
@@ -121,8 +120,8 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
FacetUtil.addFacet(new CollectionAddToFacetAbstract(holder) {
@Override
public void add(
- final ObjectAdapter inObject,
- final ObjectAdapter value,
+ final ManagedObject inObject,
+ final ManagedObject value,
final InteractionInitiatedBy interactionInitiatedBy) {
}
});
@@ -132,8 +131,8 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
FacetUtil.addFacet(new CollectionRemoveFromFacetAbstract(holder) {
@Override
public void remove(
- final ObjectAdapter inObject,
- final ObjectAdapter element,
+ final ManagedObject inObject,
+ final ManagedObject element,
final InteractionInitiatedBy interactionInitiatedBy) {
}
});
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
index 2b8cda5..1393dfa 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
@@ -36,7 +36,6 @@ import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.events.domain.PropertyDomainEvent;
import org.apache.isis.applib.spec.Specification;
import org.apache.isis.config.internal._Config;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.facetapi.FacetHolder;
@@ -191,8 +190,9 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
FacetUtil.addFacet(new PropertySetterFacetAbstract(holder) {
@Override
public void setProperty(
- final OneToOneAssociation owningAssociation, final ObjectAdapter inObject,
- final ObjectAdapter value,
+ final OneToOneAssociation owningAssociation,
+ final ManagedObject inObject,
+ final ManagedObject value,
final InteractionInitiatedBy interactionInitiatedBy) {
}
});
@@ -202,7 +202,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
FacetUtil.addFacet(new PropertyClearFacetAbstract(holder) {
@Override
public void clearProperty(
- final OneToOneAssociation owningProperty, final ObjectAdapter targetAdapter,
+ final OneToOneAssociation owningProperty,
+ final ManagedObject targetAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
}
});
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterAbstractTest_getId_and_getName.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterAbstractTest_getId_and_getName.java
index 8f2c75c..30bfd42 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterAbstractTest_getId_and_getName.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterAbstractTest_getId_and_getName.java
@@ -33,6 +33,7 @@ import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.FeatureType;
import org.apache.isis.metamodel.facets.TypedHolder;
import org.apache.isis.metamodel.facets.all.named.NamedFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.ObjectActionParameter;
import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2;
@@ -69,7 +70,7 @@ public class ObjectActionParameterAbstractTest_getId_and_getName {
private ObjectSpecification objectSpec;
@Override
- public ObjectAdapter get(final ObjectAdapter owner, final InteractionInitiatedBy interactionInitiatedBy) {
+ public ObjectAdapter get(final ManagedObject owner, final InteractionInitiatedBy interactionInitiatedBy) {
return null;
}
@@ -80,7 +81,7 @@ public class ObjectActionParameterAbstractTest_getId_and_getName {
@Override
public String isValid(
- final ObjectAdapter objectAdapter,
+ final ManagedObject objectAdapter,
final Object proposedValue,
final InteractionInitiatedBy interactionInitiatedBy) {
return null;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/specloader/specimpl/ObjectAssociationAbstractTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/specloader/specimpl/ObjectAssociationAbstractTest.java
index 5c8b84a..994c9e0 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/specloader/specimpl/ObjectAssociationAbstractTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/specloader/specimpl/ObjectAssociationAbstractTest.java
@@ -27,7 +27,6 @@ import org.junit.Test;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.services.inject.ServiceInjector;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.facetapi.FeatureType;
@@ -90,31 +89,31 @@ public class ObjectAssociationAbstractTest {
facetedMethod, FeatureType.PROPERTY, objectSpecification) {
@Override
- public ObjectAdapter get(
- final ObjectAdapter fromObject,
+ public ManagedObject get(
+ final ManagedObject fromObject,
final InteractionInitiatedBy interactionInitiatedBy) {
return null;
}
@Override
- public boolean isEmpty(final ObjectAdapter adapter, final InteractionInitiatedBy interactionInitiatedBy) {
+ public boolean isEmpty(final ManagedObject adapter, final InteractionInitiatedBy interactionInitiatedBy) {
return false;
}
@Override
- public ObjectAdapter[] getChoices(
- final ObjectAdapter object,
+ public ManagedObject[] getChoices(
+ final ManagedObject object,
final InteractionInitiatedBy interactionInitiatedBy) {
return null;
}
@Override
- public ObjectAdapter getDefault(final ObjectAdapter adapter) {
+ public ManagedObject getDefault(final ManagedObject adapter) {
return null;
}
@Override
- public void toDefault(final ObjectAdapter target) {
+ public void toDefault(final ManagedObject target) {
}
@Override
@@ -142,8 +141,8 @@ public class ObjectAssociationAbstractTest {
}
@Override
- public ObjectAdapter[] getAutoComplete(
- ObjectAdapter object,
+ public ManagedObject[] getAutoComplete(
+ ManagedObject object,
String searchArg,
final InteractionInitiatedBy interactionInitiatedBy) {
return null;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/specloader/specimpl/ObjectAssociationAbstractTest_alwaysHidden.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/specloader/specimpl/ObjectAssociationAbstractTest_alwaysHidden.java
index 3a0f88d..841f9f6 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/specloader/specimpl/ObjectAssociationAbstractTest_alwaysHidden.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/specloader/specimpl/ObjectAssociationAbstractTest_alwaysHidden.java
@@ -92,30 +92,30 @@ public class ObjectAssociationAbstractTest_alwaysHidden {
@Override
public ObjectAdapter get(
- final ObjectAdapter fromObject,
+ final ManagedObject fromObject,
final InteractionInitiatedBy interactionInitiatedBy) {
return null;
}
@Override
- public boolean isEmpty(final ObjectAdapter adapter, final InteractionInitiatedBy interactionInitiatedBy) {
+ public boolean isEmpty(final ManagedObject adapter, final InteractionInitiatedBy interactionInitiatedBy) {
return false;
}
@Override
- public ObjectAdapter[] getChoices(
- final ObjectAdapter object,
+ public ManagedObject[] getChoices(
+ final ManagedObject object,
final InteractionInitiatedBy interactionInitiatedBy) {
return null;
}
@Override
- public ObjectAdapter getDefault(final ObjectAdapter adapter) {
+ public ManagedObject getDefault(final ManagedObject adapter) {
return null;
}
@Override
- public void toDefault(final ObjectAdapter target) {
+ public void toDefault(final ManagedObject target) {
}
@Override
@@ -143,8 +143,8 @@ public class ObjectAssociationAbstractTest_alwaysHidden {
}
@Override
- public ObjectAdapter[] getAutoComplete(
- final ObjectAdapter object,
+ public ManagedObject[] getAutoComplete(
+ final ManagedObject object,
final String searchArg,
final InteractionInitiatedBy interactionInitiatedBy) {
return null;
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/background/CommandExecutorServiceDefault.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/background/CommandExecutorServiceDefault.java
index a1da625..14f140b 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/background/CommandExecutorServiceDefault.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/background/CommandExecutorServiceDefault.java
@@ -45,6 +45,7 @@ import org.apache.isis.commons.internal.exceptions._Exceptions;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facets.actions.action.invocation.CommandUtil;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.Contributed;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
@@ -154,7 +155,7 @@ public class CommandExecutorServiceDefault implements CommandExecutorService {
// we pass 'null' for the mixedInAdapter; if this action _is_ a mixin then
// it will switch the targetAdapter to be the mixedInAdapter transparently
final ObjectAdapter[] argAdapters = argAdaptersFor(actionDto);
- final ObjectAdapter resultAdapter = objectAction.execute(
+ final ManagedObject resultAdapter = objectAction.execute(
targetAdapter, null, argAdapters, InteractionInitiatedBy.FRAMEWORK);
// flush any Isis PersistenceCommands pending
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/command/CommandDtoServiceInternalDefault.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/command/CommandDtoServiceInternalDefault.java
index 263b6f7..fafb725 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/command/CommandDtoServiceInternalDefault.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/command/CommandDtoServiceInternalDefault.java
@@ -31,11 +31,11 @@ import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.bookmark.BookmarkService;
import org.apache.isis.applib.services.command.Command;
import org.apache.isis.applib.services.command.CommandContext;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.ObjectAdapterProvider;
import org.apache.isis.metamodel.adapter.oid.RootOid;
import org.apache.isis.metamodel.facets.actions.action.invocation.CommandUtil;
import org.apache.isis.metamodel.services.command.CommandDtoServiceInternal;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.metamodel.spec.feature.ObjectActionParameter;
@@ -54,6 +54,8 @@ import org.apache.isis.schema.common.v1.ValueWithTypeDto;
import org.apache.isis.schema.utils.CommandDtoUtils;
import org.apache.isis.schema.utils.CommonDtoUtils;
+import lombok.val;
+
@DomainService(
nature = NatureOfService.DOMAIN
)
@@ -68,9 +70,9 @@ public class CommandDtoServiceInternalDefault implements CommandDtoServiceIntern
@Override
public CommandDto asCommandDto(
- final List<ObjectAdapter> targetAdapters,
+ final List<ManagedObject> targetAdapters,
final ObjectAction objectAction,
- final ObjectAdapter[] argAdapters) {
+ final ManagedObject[] argAdapters) {
final CommandDto dto = asCommandDto(targetAdapters);
@@ -85,9 +87,9 @@ public class CommandDtoServiceInternalDefault implements CommandDtoServiceIntern
@Override
public CommandDto asCommandDto(
- final List<ObjectAdapter> targetAdapters,
+ final List<ManagedObject> targetAdapters,
final OneToOneAssociation property,
- final ObjectAdapter valueAdapterOrNull) {
+ final ManagedObject valueAdapterOrNull) {
final CommandDto dto = asCommandDto(targetAdapters);
@@ -100,7 +102,7 @@ public class CommandDtoServiceInternalDefault implements CommandDtoServiceIntern
return dto;
}
- private CommandDto asCommandDto(final List<ObjectAdapter> targetAdapters) {
+ private CommandDto asCommandDto(final List<ManagedObject> targetAdapters) {
final CommandDto dto = new CommandDto();
dto.setMajorVersion("1");
dto.setMinorVersion("0");
@@ -108,8 +110,8 @@ public class CommandDtoServiceInternalDefault implements CommandDtoServiceIntern
String transactionId = determineTransactionId().toString();
dto.setTransactionId(transactionId);
- for (ObjectAdapter targetAdapter : targetAdapters) {
- final RootOid rootOid = (RootOid) targetAdapter.getOid();
+ for (val targetAdapter : targetAdapters) {
+ final RootOid rootOid = (RootOid) ManagedObject.promote(targetAdapter).getOid();
final Bookmark bookmark = rootOid.asBookmark();
final OidsDto targets = CommandDtoUtils.targetsFor(dto);
targets.getOid().add(bookmark.toOidDto());
@@ -130,7 +132,8 @@ public class CommandDtoServiceInternalDefault implements CommandDtoServiceIntern
public void addActionArgs(
final ObjectAction objectAction,
final ActionDto actionDto,
- final ObjectAdapter[] argAdapters) {
+ final ManagedObject[] argAdapters) {
+
final String actionId = CommandUtil.memberIdentifierFor(objectAction);
final ObjectSpecification onType = objectAction.getOnType();
final String objectType = onType.getSpecId().asString();
@@ -143,7 +146,7 @@ public class CommandDtoServiceInternalDefault implements CommandDtoServiceIntern
final ObjectActionParameter actionParameter = actionParameters.get(paramNum);
final String parameterName = actionParameter.getName();
final Class<?> paramType = actionParameter.getSpecification().getCorrespondingClass();
- final ObjectAdapter argAdapter = argAdapters[paramNum];
+ final ManagedObject argAdapter = argAdapters[paramNum];
final Object arg = argAdapter != null? argAdapter.getPojo(): null;
final ParamsDto parameters = CommandDtoUtils.parametersFor(actionDto);
final List<ParamDto> parameterList = parameters.getParameter();
@@ -158,7 +161,7 @@ public class CommandDtoServiceInternalDefault implements CommandDtoServiceIntern
public void addPropertyValue(
final OneToOneAssociation property,
final PropertyDto propertyDto,
- final ObjectAdapter valueAdapter) {
+ final ManagedObject valueAdapter) {
final String actionIdentifier = CommandUtil.memberIdentifierFor(property);
final ObjectSpecification onType = property.getOnType();
@@ -171,7 +174,7 @@ public class CommandDtoServiceInternalDefault implements CommandDtoServiceIntern
final Class<?> valueType = valueSpec.getCorrespondingClass();
final ValueWithTypeDto newValue = CommonDtoUtils.newValueWithTypeDto(
- valueType, ObjectAdapter.Util.unwrapPojo(valueAdapter), bookmarkService);
+ valueType, ManagedObject.unwrapPojo(valueAdapter), bookmarkService);
propertyDto.setNewValue(newValue);
}
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/ixn/InteractionDtoServiceInternalDefault.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/ixn/InteractionDtoServiceInternalDefault.java
index 7630193..797b7d4 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/ixn/InteractionDtoServiceInternalDefault.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/ixn/InteractionDtoServiceInternalDefault.java
@@ -33,6 +33,7 @@ import org.apache.isis.applib.services.user.UserService;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.services.command.CommandDtoServiceInternal;
import org.apache.isis.metamodel.services.ixn.InteractionDtoServiceInternal;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.metamodel.spec.feature.OneToOneAssociation;
@@ -54,8 +55,8 @@ public class InteractionDtoServiceInternalDefault implements InteractionDtoServi
@Override
public ActionInvocationDto asActionInvocationDto(
final ObjectAction objectAction,
- final ObjectAdapter targetAdapter,
- final List<ObjectAdapter> argumentAdapters) {
+ final ManagedObject targetAdapter,
+ final List<ManagedObject> argumentAdapters) {
final Interaction interaction = interactionContext.getInteraction();
final int nextEventSequence = interaction.next(Interaction.Sequence.INTERACTION.id());
@@ -99,8 +100,8 @@ public class InteractionDtoServiceInternalDefault implements InteractionDtoServi
@Override
public PropertyEditDto asPropertyEditDto(
final OneToOneAssociation property,
- final ObjectAdapter targetAdapter,
- final ObjectAdapter newValueAdapterIfAny) {
+ final ManagedObject targetAdapter,
+ final ManagedObject newValueAdapterIfAny) {
final Interaction interaction = interactionContext.getInteraction();
diff --git a/core/runtime/src/main/java/org/apache/isis/runtime/memento/Memento.java b/core/runtime/src/main/java/org/apache/isis/runtime/memento/Memento.java
index 1117a78..e2fd992 100644
--- a/core/runtime/src/main/java/org/apache/isis/runtime/memento/Memento.java
+++ b/core/runtime/src/main/java/org/apache/isis/runtime/memento/Memento.java
@@ -34,6 +34,7 @@ import org.apache.isis.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.metamodel.facets.object.encodeable.EncodableFacet;
import org.apache.isis.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
import org.apache.isis.metamodel.facets.properties.update.modify.PropertySetterFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecId;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.Contributed;
@@ -41,6 +42,7 @@ import org.apache.isis.metamodel.spec.feature.ObjectAssociation;
import org.apache.isis.metamodel.specloader.SpecificationLoader;
import org.apache.isis.runtime.system.context.IsisContext;
+import lombok.val;
import lombok.extern.log4j.Log4j2;
/**
@@ -126,15 +128,15 @@ public class Memento implements Serializable {
private void createAssociationData(final ObjectAdapter adapter, final ObjectData data, final ObjectAssociation objectAssoc) {
Object assocData;
if (objectAssoc.isOneToManyAssociation()) {
- final ObjectAdapter collAdapter = objectAssoc.get(adapter, InteractionInitiatedBy.FRAMEWORK);
- assocData = createCollectionData(collAdapter);
+ val collAdapter = objectAssoc.get(adapter, InteractionInitiatedBy.FRAMEWORK);
+ assocData = createCollectionData(ManagedObject.promote(collAdapter));
} else if (objectAssoc.getSpecification().isEncodeable()) {
final EncodableFacet facet = objectAssoc.getSpecification().getFacet(EncodableFacet.class);
- final ObjectAdapter value = objectAssoc.get(adapter, InteractionInitiatedBy.FRAMEWORK);
+ val value = objectAssoc.get(adapter, InteractionInitiatedBy.FRAMEWORK);
assocData = facet.toEncodedString(value);
} else if (objectAssoc.isOneToOneAssociation()) {
- final ObjectAdapter referencedAdapter = objectAssoc.get(adapter, InteractionInitiatedBy.FRAMEWORK);
- assocData = createReferenceData(referencedAdapter);
+ val referencedAdapter = objectAssoc.get(adapter, InteractionInitiatedBy.FRAMEWORK);
+ assocData = createReferenceData(ManagedObject.promote(referencedAdapter));
} else {
throw new UnknownTypeException(objectAssoc);
}
diff --git a/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/adaptermanager/ObjectAdapterContext_MementoSupport.java b/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/adaptermanager/ObjectAdapterContext_MementoSupport.java
index f065700..7693a9f 100644
--- a/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/adaptermanager/ObjectAdapterContext_MementoSupport.java
+++ b/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/adaptermanager/ObjectAdapterContext_MementoSupport.java
@@ -34,6 +34,7 @@ import org.apache.isis.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.metamodel.facets.object.encodeable.EncodableFacet;
import org.apache.isis.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
import org.apache.isis.metamodel.facets.properties.update.modify.PropertySetterFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.Contributed;
import org.apache.isis.metamodel.spec.feature.ObjectAssociation;
@@ -48,6 +49,7 @@ import org.apache.isis.runtime.system.persistence.adaptermanager.ObjectAdapterCo
import static org.apache.isis.commons.internal.functions._Predicates.not;
+import lombok.val;
import lombok.extern.log4j.Log4j2;
/**
@@ -213,8 +215,8 @@ class ObjectAdapterContext_MementoSupport implements MementoRecreateObjectSuppor
final OneToManyAssociation otma,
final CollectionData collectionData) {
- final ObjectAdapter collection = otma.get(objectAdapter, InteractionInitiatedBy.FRAMEWORK);
- final Set<ObjectAdapter> original = CollectionFacet.Utils.streamAdapters(collection)
+ val collection = otma.get(objectAdapter, InteractionInitiatedBy.FRAMEWORK);
+ final Set<ObjectAdapter> original = CollectionFacet.Utils.streamAdapters(ManagedObject.promote(collection))
.collect(Collectors.toCollection(LinkedHashSet::new));
final Set<ObjectAdapter> incoming = collectionData.streamElements()
.map(this::recreateReference)
diff --git a/core/runtime/src/main/java/org/apache/isis/runtime/system/transaction/AdapterAndProperty.java b/core/runtime/src/main/java/org/apache/isis/runtime/system/transaction/AdapterAndProperty.java
index 61cd306..0be7b07 100644
--- a/core/runtime/src/main/java/org/apache/isis/runtime/system/transaction/AdapterAndProperty.java
+++ b/core/runtime/src/main/java/org/apache/isis/runtime/system/transaction/AdapterAndProperty.java
@@ -24,6 +24,8 @@ import org.apache.isis.metamodel.adapter.oid.RootOid;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.spec.feature.ObjectAssociation;
+import lombok.val;
+
public class AdapterAndProperty {
private final ObjectAdapter objectAdapter;
@@ -100,7 +102,7 @@ public class AdapterAndProperty {
}
Object getPropertyValue() {
- ObjectAdapter referencedAdapter = property.get(objectAdapter, InteractionInitiatedBy.FRAMEWORK);
+ val referencedAdapter = property.get(objectAdapter, InteractionInitiatedBy.FRAMEWORK);
return referencedAdapter == null ? null : referencedAdapter.getPojo();
}
diff --git a/core/runtime/src/test/java/org/apache/isis/runtime/system/OneToManyAssociationDefaultTest.java b/core/runtime/src/test/java/org/apache/isis/runtime/system/OneToManyAssociationDefaultTest.java
index 7d00f1f..d9d2b87 100644
--- a/core/runtime/src/test/java/org/apache/isis/runtime/system/OneToManyAssociationDefaultTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/runtime/system/OneToManyAssociationDefaultTest.java
@@ -35,6 +35,7 @@ import org.apache.isis.metamodel.facets.all.named.NamedFacet;
import org.apache.isis.metamodel.facets.collections.modify.CollectionAddToFacet;
import org.apache.isis.metamodel.facets.propcoll.notpersisted.NotPersistedFacet;
import org.apache.isis.metamodel.services.persistsession.PersistenceSessionServiceInternal;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.OneToManyAssociation;
import org.apache.isis.metamodel.specloader.SpecificationLoader;
@@ -131,9 +132,15 @@ public class OneToManyAssociationDefaultTest {
oneOf(mockPeer).containsFacet(NotPersistedFacet.class);
will(returnValue(false));
+// oneOf(mockOwnerAdapter).promote();
+// will(returnValue(mockOwnerAdapter));
+
oneOf(mockOwnerAdapter).isRepresentingPersistent();
will(returnValue(true));
+// oneOf(mockAssociatedAdapter).promote();
+// will(returnValue(mockAssociatedAdapter));
+
oneOf(mockAssociatedAdapter).isTransient();
will(returnValue(false));
diff --git a/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectReprRenderer.java b/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectReprRenderer.java
index a5cd158..ca83ea0 100644
--- a/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectReprRenderer.java
+++ b/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectReprRenderer.java
@@ -28,6 +28,7 @@ import org.apache.isis.metamodel.consent.Consent;
import org.apache.isis.metamodel.facets.object.domainservicelayout.DomainServiceLayoutFacet;
import org.apache.isis.metamodel.facets.object.title.TitleFacet;
import org.apache.isis.metamodel.services.ServiceUtil;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.Contributed;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
@@ -443,14 +444,14 @@ public class DomainObjectReprRenderer extends ReprRendererAbstract<DomainObjectR
//
// ///////////////////////////////////////////////////////////////////
- public static Object valueOrRef(final RendererContext resourceContext, final ObjectAdapter objectAdapter, final ObjectSpecification objectSpec) {
- if(objectAdapter.isValue()) {
+ public static Object valueOrRef(final RendererContext resourceContext, final ManagedObject objectAdapter, final ObjectSpecification objectSpec) {
+ if(ManagedObject.promote(objectAdapter).isValue()) {
String format = null; // TODO
return JsonValueEncoder.asObject(objectAdapter, format);
}
final TitleFacet titleFacet = objectSpec.getFacet(TitleFacet.class);
final String title = titleFacet.title(objectAdapter);
- return DomainObjectReprRenderer.newLinkToBuilder(resourceContext, Rel.VALUE, objectAdapter).withTitle(title).build();
+ return DomainObjectReprRenderer.newLinkToBuilder(resourceContext, Rel.VALUE, ManagedObject.promote(objectAdapter)).withTitle(title).build();
}
diff --git a/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/JsonValueEncoder.java b/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/JsonValueEncoder.java
index 87fe803..ae6f930 100644
--- a/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/JsonValueEncoder.java
+++ b/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/JsonValueEncoder.java
@@ -40,6 +40,7 @@ import org.apache.isis.commons.internal.collections._Maps;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facets.object.encodeable.EncodableFacet;
import org.apache.isis.metamodel.facets.object.parseable.TextEntryParseException;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecId;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.runtime.system.context.IsisContext;
@@ -87,7 +88,7 @@ public final class JsonValueEncoder {
return value;
}
- public Object asObject(ObjectAdapter objectAdapter, String format) {
+ public Object asObject(ManagedObject objectAdapter, String format) {
return objectAdapter.getPojo();
}
}
@@ -796,7 +797,7 @@ public final class JsonValueEncoder {
}
}
- public static Object asObject(final ObjectAdapter objectAdapter, final String format) {
+ public static Object asObject(final ManagedObject objectAdapter, final String format) {
if (objectAdapter == null) {
throw new IllegalArgumentException("objectAdapter cannot be null");
}
diff --git a/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectActionReprRenderer.java b/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectActionReprRenderer.java
index e9a7a22..86ba3d6 100644
--- a/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectActionReprRenderer.java
+++ b/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectActionReprRenderer.java
@@ -30,6 +30,7 @@ import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.commons.internal.collections._Maps;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.metamodel.spec.feature.ObjectActionParameter;
@@ -179,12 +180,12 @@ public class ObjectActionReprRenderer extends AbstractObjectMemberReprRenderer<O
private Object choicesFor(
final ObjectActionParameter param,
final InteractionInitiatedBy interactionInitiatedBy) {
- final ObjectAdapter[] choiceAdapters = param.getChoices(objectAdapter, null, interactionInitiatedBy);
+ final ManagedObject[] choiceAdapters = param.getChoices(objectAdapter, null, interactionInitiatedBy);
if (choiceAdapters == null || choiceAdapters.length == 0) {
return null;
}
final List<Object> list = _Lists.newArrayList();
- for (final ObjectAdapter choiceAdapter : choiceAdapters) {
+ for (final ManagedObject choiceAdapter : choiceAdapters) {
// REVIEW: previously was using the spec of the parameter, but think instead it should be the spec of the adapter itself
// final ObjectSpecification choiceSpec = param.getSpecification();
final ObjectSpecification choiceSpec = choiceAdapter.getSpecification();
@@ -194,7 +195,7 @@ public class ObjectActionReprRenderer extends AbstractObjectMemberReprRenderer<O
}
private Object defaultFor(final ObjectActionParameter param) {
- final ObjectAdapter defaultAdapter = param.getDefault(objectAdapter, null, null);
+ final ManagedObject defaultAdapter = param.getDefault(objectAdapter, null, null);
if (defaultAdapter == null) {
return null;
}
diff --git a/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectCollectionReprRenderer.java b/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectCollectionReprRenderer.java
index 9a3dce8..64e7237 100644
--- a/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectCollectionReprRenderer.java
+++ b/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectCollectionReprRenderer.java
@@ -28,6 +28,7 @@ import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet;
import org.apache.isis.metamodel.facets.collections.modify.CollectionFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.OneToManyAssociation;
import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.Rel;
@@ -37,6 +38,8 @@ import org.apache.isis.viewer.restfulobjects.rendering.LinkFollowSpecs;
import org.apache.isis.viewer.restfulobjects.rendering.RendererContext;
import org.apache.isis.viewer.restfulobjects.rendering.domaintypes.CollectionDescriptionReprRenderer;
+import lombok.val;
+
public class ObjectCollectionReprRenderer extends AbstractObjectMemberReprRenderer<ObjectCollectionReprRenderer, OneToManyAssociation> {
public ObjectCollectionReprRenderer(
@@ -84,7 +87,7 @@ public class ObjectCollectionReprRenderer extends AbstractObjectMemberReprRender
// ///////////////////////////////////////////////////
private void addValue(final LinkFollowSpecs linkFollower) {
- final ObjectAdapter valueAdapter = objectMember.get(objectAdapter, getInteractionInitiatedBy());
+ val valueAdapter = objectMember.get(objectAdapter, getInteractionInitiatedBy());
if (valueAdapter == null) {
return;
}
@@ -92,16 +95,17 @@ public class ObjectCollectionReprRenderer extends AbstractObjectMemberReprRender
final LinkFollowSpecs followHref = linkFollower.follow("href");
boolean eagerlyRender = rendererContext.honorUiHints() && renderEagerly(valueAdapter) || !followHref.isTerminated();
- final Stream<ObjectAdapter> elementAdapters = CollectionFacet.Utils.streamAdapters(valueAdapter);
+ final Stream<ManagedObject> elementAdapters = CollectionFacet.Utils.streamAdapters(valueAdapter);
final List<JsonRepresentation> list = _Lists.newArrayList();
elementAdapters.forEach(elementAdapter->{
- final LinkBuilder valueLinkBuilder = DomainObjectReprRenderer.newLinkToBuilder(rendererContext, Rel.VALUE, elementAdapter);
+ final LinkBuilder valueLinkBuilder = DomainObjectReprRenderer
+ .newLinkToBuilder(rendererContext, Rel.VALUE, ManagedObject.promote(elementAdapter));
if(eagerlyRender) {
final DomainObjectReprRenderer renderer = new DomainObjectReprRenderer(getRendererContext(), followHref, JsonRepresentation.newMap()
);
- renderer.with(elementAdapter);
+ renderer.with(ManagedObject.promote(elementAdapter));
if(mode.isEventSerialization()) {
renderer.asEventSerialization();
}
@@ -115,8 +119,8 @@ public class ObjectCollectionReprRenderer extends AbstractObjectMemberReprRender
representation.mapPut("value", list);
}
- private boolean renderEagerly(ObjectAdapter valueAdapter) {
- return renderEagerly() && rendererContext.canEagerlyRender(valueAdapter);
+ private boolean renderEagerly(ManagedObject valueAdapter) {
+ return renderEagerly() && rendererContext.canEagerlyRender(ManagedObject.promote(valueAdapter));
}
// ///////////////////////////////////////////////////
diff --git a/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectPropertyReprRenderer.java b/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectPropertyReprRenderer.java
index b00d355..5d5995a 100644
--- a/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectPropertyReprRenderer.java
+++ b/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectPropertyReprRenderer.java
@@ -26,7 +26,6 @@ import com.fasterxml.jackson.databind.node.NullNode;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.collections.collection.defaultview.DefaultViewFacet;
@@ -34,6 +33,7 @@ import org.apache.isis.metamodel.facets.object.title.TitleFacet;
import org.apache.isis.metamodel.facets.object.value.ValueFacet;
import org.apache.isis.metamodel.facets.value.bigdecimal.BigDecimalValueFacet;
import org.apache.isis.metamodel.facets.value.biginteger.BigIntegerValueFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
@@ -44,6 +44,8 @@ import org.apache.isis.viewer.restfulobjects.rendering.LinkFollowSpecs;
import org.apache.isis.viewer.restfulobjects.rendering.RendererContext;
import org.apache.isis.viewer.restfulobjects.rendering.domaintypes.PropertyDescriptionReprRenderer;
+import lombok.val;
+
public class ObjectPropertyReprRenderer extends AbstractObjectMemberReprRenderer<ObjectPropertyReprRenderer, OneToOneAssociation> {
public ObjectPropertyReprRenderer(
@@ -84,12 +86,12 @@ public class ObjectPropertyReprRenderer extends AbstractObjectMemberReprRenderer
// ///////////////////////////////////////////////////
private Object addValue(final LinkFollowSpecs linkFollower) {
- final ObjectAdapter valueAdapter = objectMember.get(objectAdapter, getInteractionInitiatedBy());
+ val valueAdapter = objectMember.get(objectAdapter, getInteractionInitiatedBy());
// use the runtime type if we have a value, else the compile time type of the member otherwise
- final ObjectSpecification spec = valueAdapter != null? valueAdapter.getSpecification(): objectMember.getSpecification();
+ val spec = valueAdapter != null? valueAdapter.getSpecification(): objectMember.getSpecification();
- final ValueFacet valueFacet = spec.getFacet(ValueFacet.class);
+ val valueFacet = spec.getFacet(ValueFacet.class);
if (valueFacet != null) {
String format = null;
final Class<?> specClass = spec.getCorrespondingClass();
@@ -114,11 +116,12 @@ public class ObjectPropertyReprRenderer extends AbstractObjectMemberReprRenderer
format = String.format("big-integer");
}
}
- return JsonValueEncoder.appendValueAndFormat(spec, valueAdapter, representation, format, rendererContext.suppressMemberExtensions());
+ return JsonValueEncoder.appendValueAndFormat(
+ spec, ManagedObject.promote(valueAdapter), representation, format, rendererContext.suppressMemberExtensions());
}
boolean eagerlyRender =
- (renderEagerly() && rendererContext.canEagerlyRender(valueAdapter))
+ (renderEagerly() && rendererContext.canEagerlyRender(ManagedObject.promote(valueAdapter)))
|| (linkFollower != null && !linkFollower.isTerminated());
if(valueAdapter == null) {
@@ -129,11 +132,11 @@ public class ObjectPropertyReprRenderer extends AbstractObjectMemberReprRenderer
final TitleFacet titleFacet = spec.getFacet(TitleFacet.class);
final String title = titleFacet.title(valueAdapter);
- final LinkBuilder valueLinkBuilder = DomainObjectReprRenderer.newLinkToBuilder(rendererContext, Rel.VALUE, valueAdapter).withTitle(title);
+ final LinkBuilder valueLinkBuilder = DomainObjectReprRenderer.newLinkToBuilder(rendererContext, Rel.VALUE, ManagedObject.promote(valueAdapter)).withTitle(title);
if(eagerlyRender) {
final DomainObjectReprRenderer renderer = new DomainObjectReprRenderer(rendererContext, linkFollower, JsonRepresentation.newMap()
);
- renderer.with(valueAdapter);
+ renderer.with(ManagedObject.promote(valueAdapter));
if(mode.isEventSerialization()) {
renderer.asEventSerialization();
}
@@ -212,7 +215,7 @@ public class ObjectPropertyReprRenderer extends AbstractObjectMemberReprRenderer
}
private Object propertyChoices() {
- final ObjectAdapter[] choiceAdapters =
+ final ManagedObject[] choiceAdapters =
objectMember.getChoices(
objectAdapter,
getInteractionInitiatedBy());
@@ -220,7 +223,7 @@ public class ObjectPropertyReprRenderer extends AbstractObjectMemberReprRenderer
return null;
}
final List<Object> list = _Lists.newArrayList();
- for (final ObjectAdapter choiceAdapter : choiceAdapters) {
+ for (val choiceAdapter : choiceAdapters) {
// REVIEW: previously was using the spec of the member, but think instead it should be the spec of the adapter itself
// final ObjectSpecification choiceSpec = objectMember.getSpecification();
diff --git a/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceOrgApacheIsisV1.java b/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceOrgApacheIsisV1.java
index 31451bf..84692ae 100644
--- a/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceOrgApacheIsisV1.java
+++ b/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/ContentNegotiationServiceOrgApacheIsisV1.java
@@ -35,6 +35,7 @@ import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.Consent;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facets.collections.modify.CollectionFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.Contributed;
import org.apache.isis.metamodel.spec.feature.OneToManyAssociation;
@@ -49,6 +50,8 @@ import org.apache.isis.viewer.restfulobjects.rendering.domainobjects.ObjectAndPr
import org.apache.isis.viewer.restfulobjects.rendering.domainobjects.ObjectPropertyReprRenderer;
import org.apache.isis.viewer.restfulobjects.rendering.service.RepresentationService;
+import lombok.val;
+
@DomainService(nature = NatureOfService.DOMAIN)
@Order(200) //in effect, is the relative priority (lower numbers have higher priority)
public class ContentNegotiationServiceOrgApacheIsisV1 extends ContentNegotiationServiceAbstract {
@@ -386,13 +389,14 @@ public class ContentNegotiationServiceOrgApacheIsisV1 extends ContentNegotiation
final JsonRepresentation representation,
final EnumSet<SuppressionType> suppression) {
- final InteractionInitiatedBy interactionInitiatedBy = determineInteractionInitiatedByFrom(rendererContext);
- final ObjectAdapter valueAdapter = collection.get(objectAdapter, interactionInitiatedBy);
+ val interactionInitiatedBy = determineInteractionInitiatedByFrom(rendererContext);
+ val valueAdapter = collection.get(objectAdapter, interactionInitiatedBy);
if (valueAdapter == null) {
return;
}
- final Stream<ObjectAdapter> adapters = CollectionFacet.Utils.streamAdapters(valueAdapter);
+ final Stream<ObjectAdapter> adapters = CollectionFacet.Utils.streamAdapters(valueAdapter)
+ .map(x->ManagedObject.promote(x));
appendStreamTo(rendererContext, adapters, representation, suppression);
}
diff --git a/core/viewer-restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainResourceHelper.java b/core/viewer-restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainResourceHelper.java
index 73ceef4..4a71150 100644
--- a/core/viewer-restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainResourceHelper.java
+++ b/core/viewer-restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainResourceHelper.java
@@ -35,6 +35,7 @@ import org.apache.isis.metamodel.adapter.oid.Oid;
import org.apache.isis.metamodel.adapter.oid.RootOid;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.services.homepage.HomePageAction;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ManagedObjectState;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
@@ -407,9 +408,9 @@ class DomainResourceHelper {
// invoke
final ObjectAdapter mixedInAdapter = null; // action will automatically fill in if a mixin
final ObjectAdapter[] argAdapterArr = argAdapters.toArray(new ObjectAdapter[argAdapters.size()]);
- final ObjectAdapter returnedAdapter = action.execute(
+ final ObjectAdapter returnedAdapter = ManagedObject.promote(action.execute(
objectAdapter, mixedInAdapter, argAdapterArr,
- InteractionInitiatedBy.USER);
+ InteractionInitiatedBy.USER));
final ObjectAndActionInvocation objectAndActionInvocation =
new ObjectAndActionInvocation(objectAdapter, action, arguments, argAdapters, returnedAdapter, selfLink);
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
index 87950f4..b55f8f5 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
@@ -62,6 +62,7 @@ import org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFace
import org.apache.isis.metamodel.facets.object.encodeable.EncodableFacet;
import org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet;
import org.apache.isis.metamodel.spec.ActionType;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecId;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
@@ -457,8 +458,8 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> implements For
final ObjectAction action = getAction();
// if this action is a mixin, then it will fill in the details automatically.
- final ObjectAdapter mixedInAdapter = null;
- final ObjectAdapter resultAdapter =
+ val mixedInAdapter = (ManagedObject)null;
+ val resultAdapter =
action.executeWithRuleChecking(
targetAdapter, mixedInAdapter, arguments,
InteractionInitiatedBy.USER,
@@ -468,8 +469,7 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> implements For
.select(RoutingService.class)
.stream();
- final Object resultPojo = resultAdapter != null ? resultAdapter.getPojo() : null;
-
+ val resultPojo = resultAdapter != null ? resultAdapter.getPojo() : null;
val pojoToAdapter = IsisContext.pojoToAdapter();
return routingServices
@@ -479,7 +479,7 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> implements For
.map(pojoToAdapter)
.filter(_NullSafe::isPresent)
.findFirst()
- .orElse(resultAdapter);
+ .orElse(ManagedObject.promote(resultAdapter));
}
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNode.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNode.java
index bc72c79..360d9d2 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNode.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNode.java
@@ -28,14 +28,16 @@ import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.oid.Oid;
import org.apache.isis.metamodel.adapter.oid.RootOid;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.Contributed;
import org.apache.isis.metamodel.spec.feature.ObjectAssociation;
import org.apache.isis.viewer.wicket.model.mementos.PageParameterNames;
+import lombok.val;
+
public class BookmarkTreeNode implements Serializable {
private static final long serialVersionUID = 1L;
@@ -199,21 +201,21 @@ public class BookmarkTreeNode implements Serializable {
// TODO: this ought to be move into a responsibility of BookmarkableModel, perhaps, rather than downcasting
if(candidateBookmarkableModel instanceof EntityModel) {
- EntityModel entityModel = (EntityModel) candidateBookmarkableModel;
- final ObjectAdapter candidateAdapter = entityModel.getObject();
+ val entityModel = (EntityModel) candidateBookmarkableModel;
+ val candidateAdapter = entityModel.getObject();
final Stream<ObjectAssociation> properties = candidateAdapter.getSpecification()
.streamAssociations(Contributed.EXCLUDED)
.filter(ObjectAssociation.Predicates.REFERENCE_PROPERTIES);
properties
.map(objectAssoc->{
- final ObjectAdapter parentAdapter =
+ val parentAdapter =
objectAssoc.get(candidateAdapter, InteractionInitiatedBy.USER);
return parentAdapter;
})
.filter(_NullSafe::isPresent)
.map(parentAdapter->{
- final Oid parentOid = parentAdapter.getOid();
+ final Oid parentOid = ManagedObject.promote(parentAdapter).getOid();
return parentOid;
})
.filter(_NullSafe::isPresent)
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 4bd4f40..08654cd 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
@@ -45,6 +45,7 @@ import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facets.collections.sortedby.SortedByFacet;
import org.apache.isis.metamodel.facets.object.paged.PagedFacet;
import org.apache.isis.metamodel.facets.object.plural.PluralFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecId;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
@@ -167,7 +168,7 @@ implements LinksProvider, UiHintContainer {
final OneToManyAssociation collection = entityCollectionModel.collectionMemento.getCollection(
entityCollectionModel.getSpecificationLoader());
- final ObjectAdapter collectionAsAdapter = collection.get(adapter, InteractionInitiatedBy.USER);
+ final ManagedObject collectionAsAdapter = collection.get(adapter, InteractionInitiatedBy.USER);
final List<Object> objectList = asIterable(collectionAsAdapter);
@@ -189,7 +190,7 @@ implements LinksProvider, UiHintContainer {
}
@SuppressWarnings("unchecked")
- private List<Object> asIterable(final ObjectAdapter collectionAsAdapter) {
+ private List<Object> asIterable(final ManagedObject collectionAsAdapter) {
if(collectionAsAdapter==null) {
return Collections.emptyList();
}
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
index 7b1813e..8012fb4 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
@@ -36,6 +36,7 @@ import org.apache.isis.metamodel.adapter.oid.RootOid;
import org.apache.isis.metamodel.adapter.version.ConcurrencyException;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecId;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.OneToOneAssociation;
@@ -46,6 +47,8 @@ import org.apache.isis.viewer.wicket.model.mementos.PageParameterNames;
import org.apache.isis.viewer.wicket.model.mementos.PropertyMemento;
import org.apache.isis.viewer.wicket.model.util.ComponentHintKey;
+import lombok.val;
+
/**
* Backing model to represent a {@link ObjectAdapter}.
*
@@ -381,11 +384,11 @@ implements ObjectAdapterModel, UiHintContainer {
adapterMemento.resetVersion();
for (final PropertyMemento pm : propertyScalarModels.keySet()) {
OneToOneAssociation otoa = pm.getProperty(getSpecificationLoader());
- final ScalarModel scalarModel = propertyScalarModels.get(pm);
- final ObjectAdapter adapter = getObject();
- final ObjectAdapter associatedAdapter =
+ val scalarModel = propertyScalarModels.get(pm);
+ val adapter = getObject();
+ val associatedAdapter =
otoa.get(adapter, InteractionInitiatedBy.USER);
- scalarModel.setObject(associatedAdapter);
+ scalarModel.setObject(ManagedObject.promote(associatedAdapter));
}
}
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
index 7dbc3aa..7b7f06d 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
@@ -21,9 +21,11 @@ package org.apache.isis.viewer.wicket.model.models;
import java.math.BigDecimal;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
import org.apache.isis.applib.annotation.PromptStyle;
import org.apache.isis.applib.annotation.Where;
@@ -44,6 +46,7 @@ import org.apache.isis.metamodel.facets.objectvalue.mandatory.MandatoryFacet;
import org.apache.isis.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet;
import org.apache.isis.metamodel.facets.value.bigdecimal.BigDecimalValueFacet;
import org.apache.isis.metamodel.facets.value.string.StringValueSemanticsProvider;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecId;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
@@ -141,7 +144,7 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
}
try {
final ObjectAdapter parentAdapter = scalarModel.getParentEntityModel().load();
- final ObjectAdapter currentValue = property.get(parentAdapter, InteractionInitiatedBy.USER);
+ final ManagedObject currentValue = property.get(parentAdapter, InteractionInitiatedBy.USER);
final ObjectAdapter proposedAdapter =
parseableFacet.parseTextEntry(currentValue, proposedPojoAsStr, InteractionInitiatedBy.USER);
final Consent valid = property.isAssociationValid(parentAdapter, proposedAdapter,
@@ -191,7 +194,7 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
final PropertyMemento propertyMemento = scalarModel.getPropertyMemento();
final OneToOneAssociation property = propertyMemento.getProperty(scalarModel.getSpecificationLoader());
ObjectAdapter parentAdapter = scalarModel.getParentEntityModel().load();
- return property.getDefault(parentAdapter);
+ return ManagedObject.promote(property.getDefault(parentAdapter));
}
@Override
@@ -210,7 +213,7 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
final PropertyMemento propertyMemento = scalarModel.getPropertyMemento();
final OneToOneAssociation property = propertyMemento.getProperty(scalarModel.getSpecificationLoader());
ObjectAdapter parentAdapter = scalarModel.getParentEntityModel().load();
- final ObjectAdapter[] choices = property.getChoices(
+ final ManagedObject[] choices = property.getChoices(
parentAdapter,
InteractionInitiatedBy.USER);
@@ -234,7 +237,7 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
final OneToOneAssociation property = propertyMemento.getProperty(scalarModel.getSpecificationLoader());
final ObjectAdapter parentAdapter =
scalarModel.getParentEntityModel().load();
- final ObjectAdapter[] choices =
+ final ManagedObject[] choices =
property.getAutoComplete(
parentAdapter, searchArg,
InteractionInitiatedBy.USER);
@@ -427,7 +430,8 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
final ObjectActionParameter actionParameter = parameterMemento.getActionParameter(scalarModel.getSpecificationLoader());
final ObjectAdapter parentAdapter = scalarModel.getParentEntityModel().load();
- return actionParameter.getDefault(parentAdapter, argsIfAvailable, paramNumUpdated);
+ return ManagedObject.promote(actionParameter.getDefault(parentAdapter, argsIfAvailable, paramNumUpdated)
+ );
}
@Override
@@ -446,7 +450,7 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
final ObjectAdapter parentAdapter = scalarModel.getParentEntityModel().load();
- final ObjectAdapter[] choices =
+ final ManagedObject[] choices =
actionParameter.getChoices(
parentAdapter, argumentsIfAvailable,
InteractionInitiatedBy.USER);
@@ -469,7 +473,7 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
final ObjectAdapter parentAdapter =
scalarModel.getParentEntityModel().load();
- final ObjectAdapter[] choices = actionParameter.getAutoComplete(
+ final ManagedObject[] choices = actionParameter.getAutoComplete(
parentAdapter, searchArg,
InteractionInitiatedBy.USER);
return choicesAsList(choices);
@@ -542,8 +546,8 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
scalarModel.getSpecificationLoader());
final ObjectAdapter parentAdapter =
scalarModel.getParentEntityModel().load();
- final ObjectAdapter defaultAdapter = actionParameter.getDefault(parentAdapter, null, null);
- scalarModel.setObject(defaultAdapter);
+ final ManagedObject defaultAdapter = actionParameter.getDefault(parentAdapter, null, null);
+ scalarModel.setObject(ManagedObject.promote(defaultAdapter));
}
@Override
@@ -590,9 +594,11 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
};
- private static List<ObjectAdapter> choicesAsList(final ObjectAdapter[] choices) {
+ private static List<ObjectAdapter> choicesAsList(final ManagedObject[] choices) {
if (choices != null && choices.length > 0) {
- return Arrays.asList(choices);
+ return Stream.of(choices)
+ .map(x->ManagedObject.promote(x))
+ .collect(Collectors.toList());
}
return Collections.emptyList();
}
@@ -758,7 +764,7 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
final ObjectAdapter associatedAdapter;
if (visibility.isAllowed()) {
- associatedAdapter = property.get(parentAdapter, InteractionInitiatedBy.USER);
+ associatedAdapter = ManagedObject.promote(property.get(parentAdapter, InteractionInitiatedBy.USER));
} else {
associatedAdapter = null;
}
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java
index 2216648..0bb9245 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java
@@ -34,6 +34,7 @@ import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.version.ConcurrencyException;
import org.apache.isis.metamodel.consent.Consent;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.metamodel.spec.feature.ObjectActionParameter;
import org.apache.isis.viewer.wicket.model.hints.IsisActionCompletedEvent;
@@ -87,7 +88,7 @@ class ActionParametersForm extends PromptFormAbstract<ActionModel> {
// TODO: maybe this logic should move instead to ScalarModel.Kind#whether{Hidden/Disabled}
final ObjectAdapter targetAdapter = actionModel.getTargetAdapter();
- final ObjectAdapter realTargetAdapter = actionModel.getActionMemento().getAction(getSpecificationLoader())
+ final ManagedObject realTargetAdapter = actionModel.getActionMemento().getAction(getSpecificationLoader())
.realTargetAdapter(targetAdapter);
final Consent consent = apm.getActionParameter(getSpecificationLoader())
.isVisible(realTargetAdapter, null, InteractionInitiatedBy.USER);
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java
index 03e3f5b..ccceecf 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java
@@ -39,6 +39,7 @@ import org.apache.isis.metamodel.consent.InteractionResult;
import org.apache.isis.metamodel.interactions.InteractionUtils;
import org.apache.isis.metamodel.interactions.ObjectVisibilityContext;
import org.apache.isis.metamodel.interactions.VisibilityContext;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.ObjectSpecificationException;
import org.apache.isis.metamodel.spec.feature.ObjectAssociation;
@@ -158,9 +159,9 @@ public class CollectionContentsSortableDataProvider extends SortableDataProvider
@Override
public int compare(final ObjectAdapter p, final ObjectAdapter q) {
- final ObjectAdapter pSort = sortProperty.get(p, InteractionInitiatedBy.FRAMEWORK);
- final ObjectAdapter qSort = sortProperty.get(q, InteractionInitiatedBy.FRAMEWORK);
- Ordering<ObjectAdapter> naturalOrdering;
+ final ManagedObject pSort = sortProperty.get(p, InteractionInitiatedBy.FRAMEWORK);
+ final ManagedObject qSort = sortProperty.get(q, InteractionInitiatedBy.FRAMEWORK);
+ Ordering<ManagedObject> naturalOrdering;
if(ascending){
naturalOrdering = ORDERING_BY_NATURAL.nullsFirst();
} else {
@@ -172,9 +173,9 @@ public class CollectionContentsSortableDataProvider extends SortableDataProvider
return ordering;
}
- private static Ordering<ObjectAdapter> ORDERING_BY_NATURAL = new Ordering<ObjectAdapter>(){
+ private static Ordering<ManagedObject> ORDERING_BY_NATURAL = new Ordering<ManagedObject>(){
@Override
- public int compare(final ObjectAdapter p, final ObjectAdapter q) {
+ public int compare(final ManagedObject p, final ManagedObject q) {
final Object pPojo = p.getPojo();
final Object qPojo = q.getPojo();
if(!(pPojo instanceof Comparable) || !(qPojo instanceof Comparable)) {
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.java
index f20a556..408d896 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.java
@@ -36,6 +36,7 @@ import org.apache.wicket.model.Model;
import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.Contributed;
import org.apache.isis.metamodel.spec.feature.ObjectAssociation;
@@ -129,12 +130,12 @@ public class CollectionContentsAsSummary extends PanelAbstract<EntityCollectionM
int nonNullCount = 0;
for (ObjectAdapter objectAdapter : adapters) {
titles.add(objectAdapter.titleString(null));
- final ObjectAdapter valueAdapter = numberAssociation.get(objectAdapter, InteractionInitiatedBy.USER);
+ final ManagedObject valueAdapter = numberAssociation.get(objectAdapter, InteractionInitiatedBy.USER);
if (valueAdapter == null) {
values.add(null);
continue;
}
- final Object valueObj = ObjectAdapter.Util.unwrapPojo(valueAdapter);
+ final Object valueObj = ManagedObject.unwrapPojo(valueAdapter);
if (valueObj == null) {
values.add(null);
continue;
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
index d6c7055..2a566d9 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
@@ -33,6 +33,7 @@ import org.apache.wicket.request.resource.ResourceReference;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet;
import org.apache.isis.metamodel.facets.object.projection.ProjectionFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.runtime.memento.ObjectAdapterMemento;
import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettings;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
@@ -47,6 +48,8 @@ import org.apache.isis.viewer.wicket.ui.util.Components;
import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
import org.apache.isis.viewer.wicket.ui.util.Tooltips;
+import lombok.val;
+
/**
* {@link PanelAbstract Panel} representing the icon and title of an entity,
* as per the provided {@link EntityModel}.
@@ -153,12 +156,12 @@ public class EntityIconAndTitlePanel extends PanelAbstract<ObjectAdapterModel> {
final ObjectAdapterModel redirectToModel;
if(targetAdapter != null) {
- final ProjectionFacet projectionFacet = entityModel.getTypeOfSpecification().getFacet(ProjectionFacet.class);
+ val projectionFacet = entityModel.getTypeOfSpecification().getFacet(ProjectionFacet.class);
- final ObjectAdapter redirectToAdapter =
+ val redirectToAdapter =
projectionFacet != null ? projectionFacet.projected(targetAdapter) : targetAdapter;
- redirectToModel = new EntityModel(redirectToAdapter);
+ redirectToModel = new EntityModel(ManagedObject.promote(redirectToAdapter));
} else {
redirectToModel = entityModel;
}
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
index 5a5b811..90c6407 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
@@ -50,6 +50,7 @@ import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facets.all.named.NamedFacet;
import org.apache.isis.metamodel.facets.members.cssclass.CssClassFacet;
import org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.metamodel.spec.feature.ObjectActionParameter;
@@ -141,7 +142,7 @@ public abstract class ScalarPanelAbstract2 extends PanelAbstract<ScalarModel> im
// could almost certainly simplify this... (used by visibility and usability checks)
final ObjectActionParameter actionParameter = action.getParameters().get(paramNumToPossiblyUpdate);
final ObjectAdapter targetAdapter = actionModel.getTargetAdapter();
- final ObjectAdapter realTargetAdapter = action.realTargetAdapter(targetAdapter);
+ final ManagedObject realTargetAdapter = action.realTargetAdapter(targetAdapter);
// check visibility
final Consent visibilityConsent = actionParameter.isVisible(realTargetAdapter, pendingArguments, InteractionInitiatedBy.USER);
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLinkFactoryAbstract.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLinkFactoryAbstract.java
index fec1702..2752400 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLinkFactoryAbstract.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLinkFactoryAbstract.java
@@ -41,6 +41,7 @@ import org.apache.isis.commons.internal.ioc.BeanSort;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facets.object.grid.GridFacet;
import org.apache.isis.metamodel.postprocessors.param.ActionParameterDefaultsFacetFromAssociatedCollection;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.metamodel.specloader.SpecificationLoader;
@@ -207,8 +208,8 @@ public abstract class ActionLinkFactoryAbstract implements ActionLinkFactory {
if(mixinType.isViewModel()) {
- final ObjectAdapter targetAdapterForMixin = action.realTargetAdapter(actionModel.getTargetAdapter());
- final EntityModel entityModelForMixin = new EntityModel(targetAdapterForMixin);
+ final ManagedObject targetAdapterForMixin = action.realTargetAdapter(actionModel.getTargetAdapter());
+ final EntityModel entityModelForMixin = new EntityModel(ManagedObject.promote(targetAdapterForMixin));
final GridFacet facet = mixinType.getFacet(GridFacet.class);
final Grid gridForMixin = facet.getGrid(targetAdapterForMixin);
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderForReferenceObjectAutoComplete.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderForReferenceObjectAutoComplete.java
index b32052b..60532ab 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderForReferenceObjectAutoComplete.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderForReferenceObjectAutoComplete.java
@@ -38,15 +38,14 @@ package org.apache.isis.viewer.wicket.ui.components.widgets.select2.providers;
import java.util.Collection;
import java.util.List;
-import java.util.function.Function;
import java.util.stream.Collectors;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.oid.RootOid;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facets.object.autocomplete.AutoCompleteFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.runtime.memento.ObjectAdapterMemento;
import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettings;
@@ -67,23 +66,24 @@ extends ObjectAdapterMementoProviderAbstract {
protected List<ObjectAdapterMemento> obtainMementos(String term) {
final ObjectSpecification typeOfSpecification = getScalarModel().getTypeOfSpecification();
final AutoCompleteFacet autoCompleteFacet = typeOfSpecification.getFacet(AutoCompleteFacet.class);
- final List<ObjectAdapter> autoCompleteAdapters =
- autoCompleteFacet.execute(term,
- InteractionInitiatedBy.USER);
- return _Lists.map(autoCompleteAdapters, ObjectAdapterMemento::ofAdapter);
+ final List<ManagedObject> autoCompleteAdapters =
+ autoCompleteFacet.execute(term,InteractionInitiatedBy.USER);
+ return _Lists.map(autoCompleteAdapters, a->ObjectAdapterMemento.ofAdapter(ManagedObject.promote(a)));
}
@Override
public Collection<ObjectAdapterMemento> toChoices(final Collection<String> ids) {
- final Function<String, ObjectAdapterMemento> function = (final String input) -> {
- if(NULL_PLACEHOLDER.equals(input)) {
- return null;
- }
- final RootOid oid = RootOid.deString(input);
- final ObjectAdapterMemento oam = ObjectAdapterMemento.ofRootOid(oid);
- return oam;
- };
- return _NullSafe.stream(ids).map(function).collect(Collectors.toList());
+
+ return _NullSafe.stream(ids)
+ .map(id -> {
+ if(NULL_PLACEHOLDER.equals(id)) {
+ return null;
+ }
+ final RootOid oid = RootOid.deString(id);
+ final ObjectAdapterMemento oam = ObjectAdapterMemento.ofRootOid(oid);
+ return oam;
+ })
+ .collect(Collectors.toList());
}
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/home/HomePage.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/home/HomePage.java
index 5ab24ea..a112ed5 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/home/HomePage.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/home/HomePage.java
@@ -22,6 +22,7 @@ package org.apache.isis.viewer.wicket.ui.pages.home;
import org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeInstantiation;
import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.runtime.system.session.IsisSession;
import org.apache.isis.viewer.wicket.model.models.ActionModel;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
@@ -60,10 +61,9 @@ public class HomePage extends PageAbstract {
val action = homePageAction.getObjectAction();
Components.permanentlyHide(themeDiv, ComponentType.WELCOME);
- final ActionModel actionModel =
- ActionModel.create(new EntityModel(objectAdapter), action);
-
- final FormExecutorDefault<ActionModel> formExecutor =
+ val actionModel =
+ ActionModel.create(new EntityModel(ManagedObject.promote(objectAdapter)), action);
+ val formExecutor =
new FormExecutorDefault<>( new ActionFormExecutorStrategy(actionModel));
formExecutor.executeAndProcessResults(getPage(), null, null, actionModel.isWithinPrompt());
diff --git a/extensions/legacy/src/main/java/org/apache/isis/runtime/services/background/BackgroundServiceDefault.java b/extensions/legacy/src/main/java/org/apache/isis/runtime/services/background/BackgroundServiceDefault.java
deleted file mode 100644
index b94b5ff..0000000
--- a/extensions/legacy/src/main/java/org/apache/isis/runtime/services/background/BackgroundServiceDefault.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.runtime.services.background;
-
-import java.lang.reflect.InvocationHandler;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.inject.Inject;
-
-import org.apache.isis.applib.services.background.BackgroundCommandService;
-import org.apache.isis.applib.services.background.BackgroundService;
-import org.apache.isis.applib.services.command.CommandContext;
-import org.apache.isis.applib.services.factory.FactoryService;
-import org.apache.isis.applib.services.registry.ServiceRegistry;
-import org.apache.isis.applib.services.xactn.TransactionService;
-import org.apache.isis.commons.internal._Constants;
-import org.apache.isis.commons.internal.collections._Arrays;
-import org.apache.isis.commons.internal.plugins.codegen.ProxyFactory;
-import org.apache.isis.metamodel.adapter.ObjectAdapterProvider;
-import org.apache.isis.metamodel.services.command.CommandDtoServiceInternal;
-import org.apache.isis.metamodel.spec.ObjectSpecification;
-import org.apache.isis.metamodel.specloader.SpecificationLoader;
-import org.apache.isis.metamodel.specloader.classsubstitutor.ProxyEnhanced;
-
-import static org.apache.isis.commons.internal.base._Casts.uncheckedCast;
-
-import lombok.val;
-
-/**
- * For command-reification depends on an implementation of
- * {@link org.apache.isis.applib.services.background.BackgroundCommandService} to
- * be configured.
- * @deprecated compare with v1.x and check whether we can cleanup the API
- */
-//@Service
-class BackgroundServiceDefault implements BackgroundService {
-
- private InvocationHandlerFactory invocationHandlerFactory;
-
-
- @PostConstruct
- public void init() {
- val backgroundCommandService =
- serviceRegistry.select(BackgroundCommandService.class)
- .getFirst()
- .orElse(null);
-
- this.invocationHandlerFactory = (backgroundCommandService!=null)
- ? InvocationHandlerFactoryUsingBackgroundCommandService.builder()
- .backgroundCommandService(backgroundCommandService)
- .specificationLoader(specificationLoader)
- .commandDtoServiceInternal(commandDtoServiceInternal)
- .commandContext(commandContext)
- .objectAdapterProvider(objectAdapterProvider)
- .build()
- : new InvocationHandlerFactoryFallback(transactionService);
-
- }
-
-
- @PreDestroy
- public void shutdown() {
- if(invocationHandlerFactory!=null) {
- invocationHandlerFactory.close();
- }
- }
-
- // -- EXECUTION
-
- @Override
- public <T> T execute(final T domainObject) {
- final Class<T> cls = uncheckedCast(domainObject.getClass());
- val mixedIn = null;
- val methodHandler = invocationHandlerFactory.newMethodHandler(domainObject, mixedIn);
- return newProxy(cls, mixedIn, methodHandler);
- }
-
- @Override
- public <T> T executeMixin(Class<T> mixinClass, Object mixedIn) {
- val mixin = factoryService.<T>mixin(mixinClass, mixedIn);
- val methodHandler = invocationHandlerFactory.newMethodHandler(mixin, mixedIn);
- return newProxy(mixinClass, mixedIn, methodHandler);
- }
-
- // -- HELPER
-
- protected ObjectSpecification getSpecification(final Class<?> type) {
- return specificationLoader.loadSpecification(type);
- }
-
- private <T> T newProxy(
- final Class<T> cls,
- final Object mixedInIfAny,
- final InvocationHandler methodHandler) {
-
- val interfaces = _Arrays.combine(
- cls.getInterfaces(),
- new Class<?>[] { ProxyEnhanced.class });
-
- val initialize = mixedInIfAny!=null;
-
-
- val constructorArgTypes = initialize
- ? new Class<?>[] {mixedInIfAny.getClass()}
- : _Constants.emptyClasses;
-
- val constructorArgs = initialize
- ? new Object[] {mixedInIfAny}
- : _Constants.emptyObjects;
-
- val proxyFactory = ProxyFactory.<T>builder(cls)
- .interfaces(interfaces)
- .constructorArgTypes(constructorArgTypes)
- .build();
-
- return initialize
- ? proxyFactory.createInstance(methodHandler, constructorArgs)
- : proxyFactory.createInstance(methodHandler, /*initialize*/false);
- }
-
- // -- DEPENDENCIES
-
- @Inject private ServiceRegistry serviceRegistry;
- @Inject private CommandDtoServiceInternal commandDtoServiceInternal;
- @Inject private CommandContext commandContext;
- @Inject private FactoryService factoryService;
- @Inject private SpecificationLoader specificationLoader;
- @Inject private ObjectAdapterProvider objectAdapterProvider;
- @Inject private TransactionService transactionService;
-
-
-}
diff --git a/extensions/legacy/src/main/java/org/apache/isis/runtime/services/background/CommandInvocationHandler.java b/extensions/legacy/src/main/java/org/apache/isis/runtime/services/background/CommandInvocationHandler.java
deleted file mode 100644
index 7746a17..0000000
--- a/extensions/legacy/src/main/java/org/apache/isis/runtime/services/background/CommandInvocationHandler.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.runtime.services.background;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.util.Collections;
-import java.util.List;
-import java.util.stream.Stream;
-
-import org.apache.isis.applib.services.background.BackgroundCommandService;
-import org.apache.isis.applib.services.command.Command;
-import org.apache.isis.applib.services.command.CommandContext;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.metamodel.adapter.ObjectAdapterProvider;
-import org.apache.isis.metamodel.facets.actions.action.invocation.CommandUtil;
-import org.apache.isis.metamodel.services.command.CommandDtoServiceInternal;
-import org.apache.isis.metamodel.spec.ObjectSpecification;
-import org.apache.isis.metamodel.spec.feature.Contributed;
-import org.apache.isis.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.metamodel.specloader.SpecificationLoader;
-import org.apache.isis.metamodel.specloader.specimpl.ObjectActionMixedIn;
-import org.apache.isis.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault;
-import org.apache.isis.schema.cmd.v1.CommandDto;
-
-import static org.apache.isis.commons.internal.base._With.requires;
-
-class CommandInvocationHandler<T> implements InvocationHandler {
-
- private final BackgroundCommandService backgroundCommandService;
- private final T target;
- private final Object mixedInIfAny;
- private final SpecificationLoader specificationLoader;
- private final CommandDtoServiceInternal commandDtoServiceInternal;
- private final CommandContext commandContext;
- private final ObjectAdapterProvider adapterProvider;
-
- CommandInvocationHandler(
- BackgroundCommandService backgroundCommandService,
- T target,
- Object mixedInIfAny,
- SpecificationLoader specificationLoader,
- CommandDtoServiceInternal commandDtoServiceInternal,
- CommandContext commandContext,
- ObjectAdapterProvider adapterProvider) {
- this.backgroundCommandService = requires(backgroundCommandService, "backgroundCommandService");
- this.target = requires(target, "target");
- this.mixedInIfAny = mixedInIfAny;
- this.specificationLoader = requires(specificationLoader, "specificationLoader");
- this.commandDtoServiceInternal = requires(commandDtoServiceInternal, "commandDtoServiceInternal");
- this.commandContext = requires(commandContext, "commandContext");
- this.adapterProvider = requires(adapterProvider, "adapterProvider");
- }
-
- @Override
- public Object invoke(
- final Object proxied,
- final Method proxyMethod,
- final Object[] args) throws Throwable {
-
- final boolean inheritedFromObject = proxyMethod.getDeclaringClass().equals(Object.class);
- if(inheritedFromObject) {
- return proxyMethod.invoke(target, args);
- }
-
- final ObjectSpecificationDefault targetObjSpec = getJavaSpecificationOfOwningClass(proxyMethod);
- final ObjectMember member = targetObjSpec.getMember(proxyMethod);
-
- if(member == null) {
- return proxyMethod.invoke(target, args);
- }
-
- if(!(member instanceof ObjectAction)) {
- throw new UnsupportedOperationException(
- "Only actions can be executed in the background "
- + "(method " + proxyMethod.getName() + " represents a " + member.getFeatureType().name() + "')");
- }
-
- ObjectAction action = (ObjectAction) member;
-
- final Object domainObject;
- if (mixedInIfAny == null) {
- domainObject = target;
- } else {
- domainObject = mixedInIfAny;
- // replace action with the mixedIn action of the domain object itself
- action = findMixedInAction(action, mixedInIfAny);
- }
-
- final ObjectAdapter domainObjectAdapter = getObjectAdapterProvider().adapterFor(domainObject);
- final String domainObjectClassName = CommandUtil.targetClassNameFor(domainObjectAdapter);
-
- final String targetActionName = CommandUtil.targetMemberNameFor(action);
-
- final ObjectAdapter[] argAdapters = adaptersFor(args);
- final String targetArgs = CommandUtil.argDescriptionFor(action, argAdapters);
-
- final Command command = commandContext.getCommand();
-
- final List<ObjectAdapter> targetList = Collections.singletonList(domainObjectAdapter);
- final CommandDto dto =
- commandDtoServiceInternal.asCommandDto(targetList, action, argAdapters);
-
- backgroundCommandService
- .schedule(dto, command, domainObjectClassName, targetActionName, targetArgs);
-
- return null;
- }
-
- // -- HELPER
-
- private ObjectAdapterProvider getObjectAdapterProvider() {
- return adapterProvider;
- }
-
- private ObjectAction findMixedInAction(final ObjectAction action, final Object domainObject) {
- final String actionId = action.getId();
- final ObjectSpecification domainSpec = getObjectAdapterProvider().adapterFor(domainObject).getSpecification();
- final Stream<ObjectAction> objectActions = domainSpec.streamObjectActions(Contributed.INCLUDED);
-
- return objectActions
- .filter(objectAction->objectAction instanceof ObjectActionMixedIn)
- .map(objectAction->(ObjectActionMixedIn) objectAction)
- .filter(objectActionMixedIn->objectActionMixedIn.hasMixinAction(action))
- .findFirst()
- .orElseThrow(()->
- new IllegalArgumentException(String.format(
- "Unable to find mixin action '%s' for %s", actionId, domainSpec.getFullIdentifier()))
- );
-
- }
-
- private ObjectAdapter[] adaptersFor(final Object[] args) {
- final ObjectAdapterProvider adapterProvider = getObjectAdapterProvider();
- return CommandUtil.adaptersFor(args, adapterProvider);
- }
-
- private ObjectSpecificationDefault getJavaSpecificationOfOwningClass(final Method method) {
- return getJavaSpecification(method.getDeclaringClass());
- }
-
- private ObjectSpecificationDefault getJavaSpecification(final Class<?> cls) {
- final ObjectSpecification objectSpec = getSpecification(cls);
- if (!(objectSpec instanceof ObjectSpecificationDefault)) {
- throw new UnsupportedOperationException(
- "Only Java is supported "
- + "(specification is '" + objectSpec.getClass().getCanonicalName() + "')");
- }
- return (ObjectSpecificationDefault) objectSpec;
- }
-
- private ObjectSpecification getSpecification(final Class<?> type) {
- return specificationLoader.loadSpecification(type);
- }
-
-
-}
diff --git a/extensions/legacy/src/main/java/org/apache/isis/runtime/services/background/ForkingInvocationHandler.java b/extensions/legacy/src/main/java/org/apache/isis/runtime/services/background/ForkingInvocationHandler.java
deleted file mode 100644
index 7c29c63..0000000
--- a/extensions/legacy/src/main/java/org/apache/isis/runtime/services/background/ForkingInvocationHandler.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.runtime.services.background;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.util.concurrent.ExecutorService;
-
-import org.apache.isis.applib.services.xactn.TransactionService;
-import org.apache.isis.runtime.system.context.IsisContext;
-import org.apache.isis.runtime.system.internal.InitialisationSession;
-import org.apache.isis.runtime.system.session.IsisSession;
-import org.apache.isis.runtime.system.transaction.IsisTransactionAspectSupport;
-
-import static org.apache.isis.commons.internal.functions._Functions.uncheckedSupplier;
-
-import lombok.AllArgsConstructor;
-import lombok.NonNull;
-import lombok.val;
-import lombok.extern.log4j.Log4j2;
-
-/**
- * Package private invocation handler that executes actions in the background
- * using a ExecutorService.
- * @since 2.0
- */
-@Log4j2 @AllArgsConstructor
-class ForkingInvocationHandler<T> implements InvocationHandler {
-
- @NonNull private final T target;
- private final Object mixedInIfAny;
- @NonNull private final ExecutorService backgroundExecutorService;
- @NonNull private final TransactionService transactionService;
-
- @Override
- public Object invoke(
- final Object proxied,
- final Method proxyMethod,
- final Object[] args) throws Throwable {
-
- val inheritedFromObject = proxyMethod.getDeclaringClass().equals(Object.class);
- if(inheritedFromObject) {
- return proxyMethod.invoke(target, args);
- }
-
- val domainObject = mixedInIfAny != null
- ? mixedInIfAny
- : target;
-
- val authenticationSession =
- IsisSession.current()
- .map(IsisSession::getAuthenticationSession)
- .orElse(new InitialisationSession());
-
- val transactionLatch = IsisTransactionAspectSupport.transactionLatch();
-
- //unfortunately there is no easy way to make use of this future
- // ... we found a way to do this with WrapperFactory.async(...) instead
- val future = backgroundExecutorService.submit(()->{
-
- try {
-
- transactionLatch.await(); // wait for transaction of the calling thread to complete
-
- return IsisContext.getSessionFactory().doInSession(
- ()->transactionService.executeWithinTransaction(
- uncheckedSupplier(()->proxyMethod.invoke(domainObject, args))
- ),
- authenticationSession);
-
- } catch (Exception e) {
-
- log.error(
- String.format("Background execution of action '%s' on object '%s' failed.",
- proxyMethod.getName(),
- domainObject.getClass().getName()),
- e);
- return null;
- }
- });
-
- return null;
-
- }
-
-}
diff --git a/extensions/legacy/src/main/java/org/apache/isis/runtime/services/background/InvocationHandlerFactory.java b/extensions/legacy/src/main/java/org/apache/isis/runtime/services/background/InvocationHandlerFactory.java
deleted file mode 100644
index d9e08fc..0000000
--- a/extensions/legacy/src/main/java/org/apache/isis/runtime/services/background/InvocationHandlerFactory.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.runtime.services.background;
-
-import java.lang.reflect.InvocationHandler;
-
-interface InvocationHandlerFactory extends AutoCloseable {
-
- /**
- *
- * @param target - the object that is proxied, either a domain object or a mixin around a domain object
- * @param mixedInIfAny - if target is a mixin, then this is the domain object that is mixed-in to.
- */
- <T> InvocationHandler newMethodHandler(
- T target,
- Object mixedInIfAny);
-
- @Override
- void close(); // refined from AutoCloseable to not throw catched exceptions
-
-}
diff --git a/extensions/legacy/src/main/java/org/apache/isis/runtime/services/background/InvocationHandlerFactoryFallback.java b/extensions/legacy/src/main/java/org/apache/isis/runtime/services/background/InvocationHandlerFactoryFallback.java
deleted file mode 100644
index b29b6fd..0000000
--- a/extensions/legacy/src/main/java/org/apache/isis/runtime/services/background/InvocationHandlerFactoryFallback.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.runtime.services.background;
-
-import java.lang.reflect.InvocationHandler;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-import org.apache.isis.applib.services.xactn.TransactionService;
-
-import lombok.RequiredArgsConstructor;
-
-/**
- * only used if there is no BackgroundCommandService available
- * @since 2.0
- *
- */
-@RequiredArgsConstructor
-final class InvocationHandlerFactoryFallback implements InvocationHandlerFactory {
-
- final static class SimpleExecutor {
-
- /*
- * For the fixed thread-pool let there be 1-4 concurrent threads,
- * limited by the number of available (logical) processor cores.
- *
- * Note: Future improvements might make these values configurable,
- * but for now lets try to be reasonably nice here.
- *
- */
- private final int minThreadCount = 1;
- private final int maxThreadCount = 4;
-
- private final int threadCount =
- Math.max(minThreadCount,
- Math.min(maxThreadCount,
- Runtime.getRuntime().availableProcessors()));
-
- public final ExecutorService backgroundExecutorService =
- Executors.newFixedThreadPool(threadCount);
-
- public void shutdown() {
- backgroundExecutorService.shutdownNow();
- }
-
- }
-
- private final SimpleExecutor simpleExecutor = new SimpleExecutor();
- private final TransactionService transactionService;
-
- @Override
- public <T> InvocationHandler newMethodHandler(
- T target,
- Object mixedInIfAny) {
-
- return new ForkingInvocationHandler<T>(
- target,
- mixedInIfAny,
- simpleExecutor.backgroundExecutorService,
- transactionService);
- }
-
- @Override
- public void close() {
- simpleExecutor.shutdown();
- }
-
-}
diff --git a/extensions/legacy/src/main/java/org/apache/isis/runtime/services/background/InvocationHandlerFactoryUsingBackgroundCommandService.java b/extensions/legacy/src/main/java/org/apache/isis/runtime/services/background/InvocationHandlerFactoryUsingBackgroundCommandService.java
deleted file mode 100644
index 84c71ac..0000000
--- a/extensions/legacy/src/main/java/org/apache/isis/runtime/services/background/InvocationHandlerFactoryUsingBackgroundCommandService.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.runtime.services.background;
-
-import java.lang.reflect.InvocationHandler;
-
-import org.apache.isis.applib.services.background.BackgroundCommandService;
-import org.apache.isis.applib.services.command.CommandContext;
-import org.apache.isis.metamodel.adapter.ObjectAdapterProvider;
-import org.apache.isis.metamodel.services.command.CommandDtoServiceInternal;
-import org.apache.isis.metamodel.specloader.SpecificationLoader;
-
-import lombok.Builder;
-
-@Builder
-final class InvocationHandlerFactoryUsingBackgroundCommandService implements InvocationHandlerFactory {
-
- private final BackgroundCommandService backgroundCommandService;
- private final SpecificationLoader specificationLoader;
- private final CommandDtoServiceInternal commandDtoServiceInternal;
- private final CommandContext commandContext;
- private final ObjectAdapterProvider objectAdapterProvider;
-
- @Override
- public <T> InvocationHandler newMethodHandler(
- T target,
- Object mixedInIfAny) {
-
- return new CommandInvocationHandler<T>(
- backgroundCommandService,
- target,
- mixedInIfAny,
- specificationLoader,
- commandDtoServiceInternal,
- commandContext,
- objectAdapterProvider);
- }
-
- @Override
- public void close() {
- backgroundCommandService.close();
- }
-
-
-
-}
diff --git a/extensions/viewer-wicket-excel/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/ExcelFileModel.java b/extensions/viewer-wicket-excel/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/ExcelFileModel.java
index 752c796..c8d9fb8 100644
--- a/extensions/viewer-wicket-excel/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/ExcelFileModel.java
+++ b/extensions/viewer-wicket-excel/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/ExcelFileModel.java
@@ -48,6 +48,8 @@ import org.apache.isis.metamodel.spec.feature.Contributed;
import org.apache.isis.metamodel.spec.feature.ObjectAssociation;
import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
+import lombok.val;
+
class ExcelFileModel extends LoadableDetachableModel<File> {
private static final long serialVersionUID = 1L;
@@ -167,7 +169,7 @@ class ExcelFileModel extends LoadableDetachableModel<File> {
final Cell cell,
CellStyle dateCellStyle) {
- final ObjectAdapter valueAdapter = property.get(objectAdapter);
+ val valueAdapter = property.get(objectAdapter);
// null
if (valueAdapter == null) {