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 2020/06/05 07:52:38 UTC
[isis] branch master updated: ISIS-2340: ManagedObjects: move and
gather unwrap utility methods (1)
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new 68f1ee2 ISIS-2340: ManagedObjects: move and gather unwrap utility methods (1)
68f1ee2 is described below
commit 68f1ee28e937a324b7cb009a863883e71a3b02b2
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Jun 5 09:52:22 2020 +0200
ISIS-2340: ManagedObjects: move and gather unwrap utility methods (1)
---
.../core/metamodel/facets/DomainEventHelper.java | 19 ++++++-----
...ctionInvocationFacetForDomainEventAbstract.java | 9 ++---
...ectionAddToFacetForDomainEventFromAbstract.java | 3 +-
...nRemoveFromFacetForDomainEventFromAbstract.java | 7 ++--
.../modify/CollectionAddToFacetViaAccessor.java | 3 +-
.../CollectionRemoveFromFacetViaAccessor.java | 3 +-
.../parser/ParseableFacetUsingParser.java | 5 +--
.../mandatory/MandatoryFacetAbstract.java | 3 +-
...tySetterOrClearFacetForDomainEventAbstract.java | 11 ++++---
.../TemporalValueSemanticsProviderAbstract.java | 3 +-
.../interactions/ActionArgUsabilityContext.java | 3 +-
.../interactions/ActionArgValidityContext.java | 5 ++-
.../interactions/ActionArgVisibilityContext.java | 3 +-
.../interactions/ActionUsabilityContext.java | 5 ++-
.../interactions/ActionValidityContext.java | 5 ++-
.../interactions/ActionVisibilityContext.java | 5 ++-
.../interactions/CollectionAccessContext.java | 5 ++-
.../interactions/CollectionAddToContext.java | 6 +++-
.../interactions/CollectionRemoveFromContext.java | 8 +++--
.../interactions/CollectionVisibilityContext.java | 5 ++-
.../metamodel/interactions/ObjectTitleContext.java | 5 ++-
.../interactions/ObjectValidityContext.java | 5 ++-
.../interactions/ObjectVisibilityContext.java | 5 ++-
.../metamodel/interactions/ParseValueContext.java | 7 ++--
.../interactions/PropertyAccessContext.java | 8 +++--
.../interactions/PropertyModifyContext.java | 8 +++--
.../interactions/PropertyUsabilityContext.java | 5 ++-
.../interactions/PropertyVisibilityContext.java | 5 ++-
.../isis/core/metamodel/spec/ManagedObject.java | 22 +++++--------
.../isis/core/metamodel/spec/ManagedObjects.java | 38 +++++++++++++++-------
.../metamodel/facets/ObjectAdapterUtilsTest.java | 7 ++--
.../command/CommandDtoServiceInternalDefault.java | 3 +-
.../handlers/DomainObjectInvocationHandler.java | 7 ++--
...sistenceQueryFindUsingApplibQueryProcessor.java | 3 +-
.../summary/CollectionContentsAsSummary.java | 3 +-
35 files changed, 135 insertions(+), 112 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/DomainEventHelper.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/DomainEventHelper.java
index 9e02b3e..f61ef2b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/DomainEventHelper.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/DomainEventHelper.java
@@ -19,11 +19,6 @@
package org.apache.isis.core.metamodel.facets;
-import static org.apache.isis.core.commons.internal.base._Casts.uncheckedCast;
-import static org.apache.isis.core.commons.internal.reflection._Reflect.Filter.paramAssignableFrom;
-import static org.apache.isis.core.commons.internal.reflection._Reflect.Filter.paramAssignableFromValue;
-import static org.apache.isis.core.commons.internal.reflection._Reflect.Filter.paramCount;
-
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
@@ -46,10 +41,16 @@ import org.apache.isis.core.metamodel.facetapi.IdentifiedHolder;
import org.apache.isis.core.metamodel.interactions.InteractionHead;
import org.apache.isis.core.metamodel.services.events.MetamodelEventService;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
+import static org.apache.isis.core.commons.internal.base._Casts.uncheckedCast;
+import static org.apache.isis.core.commons.internal.reflection._Reflect.Filter.paramAssignableFrom;
+import static org.apache.isis.core.commons.internal.reflection._Reflect.Filter.paramAssignableFromValue;
+import static org.apache.isis.core.commons.internal.reflection._Reflect.Filter.paramCount;
+
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import lombok.val;
@@ -117,7 +118,7 @@ public class DomainEventHelper {
event = existingEvent;
} else {
// all other phases, create a new event
- final S source = uncheckedCast(ManagedObject.unwrapSingle(head.getTarget()));
+ final S source = uncheckedCast(UnwrapUtil.single(head.getTarget()));
final Object[] arguments = ManagedObject.unwrapMultipleAsArray(argumentAdapters);
final Identifier identifier = identified.getIdentifier();
event = newActionDomainEvent(eventType, identifier, source, arguments);
@@ -150,7 +151,7 @@ public class DomainEventHelper {
event.setEventPhase(phase);
if(phase.isExecuted()) {
- event.setReturnValue(ManagedObject.unwrapSingle(resultAdapter));
+ event.setReturnValue(UnwrapUtil.single(resultAdapter));
}
metamodelEventService.fireActionDomainEvent(event);
@@ -222,7 +223,7 @@ public class DomainEventHelper {
try {
final PropertyDomainEvent<S, T> event;
- final S source = uncheckedCast(ManagedObject.unwrapSingle(head.getTarget()));
+ final S source = uncheckedCast(UnwrapUtil.single(head.getTarget()));
final Identifier identifier = identified.getIdentifier();
if(existingEvent != null && phase.isExecuted()) {
@@ -315,7 +316,7 @@ public class DomainEventHelper {
event = existingEvent;
} else {
// all other phases, create a new event
- final S source = uncheckedCast(ManagedObject.unwrapSingle(head.getTarget()));
+ final S source = uncheckedCast(UnwrapUtil.single(head.getTarget()));
final Identifier identifier = identified.getIdentifier();
event = newCollectionDomainEvent(eventType, phase, identifier, source, of, reference);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
index b65b1dc..af981ec 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
@@ -66,6 +66,7 @@ import org.apache.isis.core.metamodel.services.ixn.InteractionDtoServiceInternal
import org.apache.isis.core.metamodel.services.publishing.PublisherDispatchService;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ManagedObjects;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.schema.ixn.v2.ActionInvocationDto;
@@ -187,10 +188,10 @@ implements ImperativeFacet {
// otherwise, go ahead and execute action in the 'foreground'
final ManagedObject mixinElseRegularAdapter = mixedInAdapter != null ? mixedInAdapter : targetAdapter;
- final Object mixinElseRegularPojo = ManagedObject.unwrapSingle(mixinElseRegularAdapter);
+ final Object mixinElseRegularPojo = UnwrapUtil.single(mixinElseRegularAdapter);
final List<Object> argumentPojos = argumentAdapters.stream()
- .map(ManagedObject::unwrapSingle)
+ .map(UnwrapUtil::single)
.collect(_Lists.toUnmodifiable());
final String targetMember = targetNameFor(owningAction, mixedInAdapter);
@@ -264,7 +265,7 @@ implements ImperativeFacet {
throws IllegalAccessException, InvocationTargetException {
final Object[] executionParameters = ManagedObject.unwrapMultipleAsArray(arguments);
- final Object targetPojo = ManagedObject.unwrapSingle(targetAdapter);
+ final Object targetPojo = UnwrapUtil.single(targetAdapter);
final ActionSemanticsFacet semanticsFacet = getFacetHolder().getFacet(ActionSemanticsFacet.class);
final boolean cacheable = semanticsFacet != null && semanticsFacet.value().isSafeAndRequestCacheable();
@@ -479,7 +480,7 @@ implements ImperativeFacet {
resultAdapterPossiblyCloned =
cloneIfViewModelCloneable(returnValue, mixinElseRegularAdapter);
}
- return ManagedObject.unwrapSingle(resultAdapterPossiblyCloned);
+ return UnwrapUtil.single(resultAdapterPossiblyCloned);
} catch (Exception e) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionAddToFacetForDomainEventFromAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionAddToFacetForDomainEventFromAbstract.java
index 599ee8e..53d8e22 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionAddToFacetForDomainEventFromAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionAddToFacetForDomainEventFromAbstract.java
@@ -34,6 +34,7 @@ import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToF
import org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
import org.apache.isis.core.metamodel.interactions.InteractionHead;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
import static org.apache.isis.core.commons.internal.base._Casts.uncheckedCast;
@@ -73,7 +74,7 @@ implements CollectionAddToFacet {
return;
}
- final Object referencedObject = ManagedObject.unwrapSingle(referencedObjectAdapter);
+ final Object referencedObject = UnwrapUtil.single(referencedObjectAdapter);
// get hold of underlying collection
final Object collection = getterFacet.getProperty(targetAdapter, interactionInitiatedBy);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionRemoveFromFacetForDomainEventFromAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionRemoveFromFacetForDomainEventFromAbstract.java
index 5cacc7d..4b8a0ea 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionRemoveFromFacetForDomainEventFromAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionRemoveFromFacetForDomainEventFromAbstract.java
@@ -19,8 +19,6 @@
package org.apache.isis.core.metamodel.facets.collections.collection.modify;
-import static org.apache.isis.core.commons.internal.base._Casts.uncheckedCast;
-
import java.util.Collection;
import java.util.Map;
@@ -37,6 +35,9 @@ import org.apache.isis.core.metamodel.facets.collections.modify.CollectionRemove
import org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
import org.apache.isis.core.metamodel.interactions.InteractionHead;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
+
+import static org.apache.isis.core.commons.internal.base._Casts.uncheckedCast;
public abstract class CollectionRemoveFromFacetForDomainEventFromAbstract
@@ -76,7 +77,7 @@ implements CollectionRemoveFromFacet {
}
- final Object referencedObject = ManagedObject.unwrapSingle(referencedObjectAdapter);
+ final Object referencedObject = UnwrapUtil.single(referencedObjectAdapter);
// get hold of underlying collection
// passing null through for authenticationSession/deploymentType means to avoid any visibility filtering.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionAddToFacetViaAccessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionAddToFacetViaAccessor.java
index b953b4f..0016146 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionAddToFacetViaAccessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionAddToFacetViaAccessor.java
@@ -30,6 +30,7 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ManagedObjects;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
public class CollectionAddToFacetViaAccessor extends CollectionAddToFacetAbstract implements ImperativeFacet {
@@ -61,7 +62,7 @@ public class CollectionAddToFacetViaAccessor extends CollectionAddToFacetAbstrac
final InteractionInitiatedBy interactionInitiatedBy) {
@SuppressWarnings("unchecked")
final Collection<? super Object> collection = (Collection<? super Object>) ManagedObjects.InvokeUtil.invoke(method, owningAdapter);
- final Object elementPojo = ManagedObject.unwrapSingle(elementAdapter);
+ final Object elementPojo = UnwrapUtil.single(elementAdapter);
collection.add(elementPojo);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionRemoveFromFacetViaAccessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionRemoveFromFacetViaAccessor.java
index 7df316a..10c75a9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionRemoveFromFacetViaAccessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionRemoveFromFacetViaAccessor.java
@@ -30,6 +30,7 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ManagedObjects;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
public class CollectionRemoveFromFacetViaAccessor extends CollectionRemoveFromFacetAbstract implements ImperativeFacet {
@@ -64,7 +65,7 @@ public class CollectionRemoveFromFacetViaAccessor extends CollectionRemoveFromFa
@SuppressWarnings("unchecked")
final Collection<? super Object> collection = (Collection<? super Object>) ManagedObjects.InvokeUtil.invoke(method, owningAdapter);
- collection.remove(ManagedObject.unwrapSingle(elementAdapter));
+ collection.remove(UnwrapUtil.single(elementAdapter));
}
@Override
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/parser/ParseableFacetUsingParser.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/parser/ParseableFacetUsingParser.java
index 3733aae..e65e756 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/parser/ParseableFacetUsingParser.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/parser/ParseableFacetUsingParser.java
@@ -37,6 +37,7 @@ import org.apache.isis.core.metamodel.interactions.ObjectValidityContext;
import org.apache.isis.core.metamodel.interactions.ParseValueContext;
import org.apache.isis.core.metamodel.interactions.ValidityContext;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import lombok.val;
@@ -85,7 +86,7 @@ implements ParseableFacet {
validate(parseValueContext);
}
- final Object context = ManagedObject.unwrapSingle(contextAdapter);
+ final Object context = UnwrapUtil.single(contextAdapter);
getServiceInjector().injectServicesInto(parser);
@@ -125,7 +126,7 @@ implements ParseableFacet {
@Override
@SuppressWarnings({ "unchecked", "rawtypes" })
public String parseableTitle(final ManagedObject contextAdapter) {
- final Object pojo = ManagedObject.unwrapSingle(contextAdapter);
+ final Object pojo = UnwrapUtil.single(contextAdapter);
getServiceInjector().injectServicesInto(parser);
return ((Parser)parser).parseableTitleOf(pojo);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/mandatory/MandatoryFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/mandatory/MandatoryFacetAbstract.java
index 555890e..60c6333 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/mandatory/MandatoryFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/mandatory/MandatoryFacetAbstract.java
@@ -31,6 +31,7 @@ import org.apache.isis.core.metamodel.interactions.PropertyModifyContext;
import org.apache.isis.core.metamodel.interactions.ProposedHolder;
import org.apache.isis.core.metamodel.interactions.ValidityContext;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
import lombok.val;
@@ -62,7 +63,7 @@ public abstract class MandatoryFacetAbstract extends FacetAbstract implements Ma
@Override
public final boolean isRequiredButNull(final ManagedObject adapter) {
if(!isInvertedSemantics()) {
- val pojo = ManagedObject.unwrapSingle(adapter);
+ val pojo = UnwrapUtil.single(adapter);
// special case string handling.
if(pojo instanceof String) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterOrClearFacetForDomainEventAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterOrClearFacetForDomainEventAbstract.java
index 9d3fac8..4d63f85 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterOrClearFacetForDomainEventAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterOrClearFacetForDomainEventAbstract.java
@@ -19,8 +19,6 @@
package org.apache.isis.core.metamodel.facets.properties.property.modify;
-import static org.apache.isis.core.commons.internal.base._Casts.uncheckedCast;
-
import java.util.Map;
import java.util.Objects;
@@ -48,9 +46,12 @@ import org.apache.isis.core.metamodel.interactions.InteractionHead;
import org.apache.isis.core.metamodel.services.ixn.InteractionDtoServiceInternal;
import org.apache.isis.core.metamodel.services.publishing.PublisherDispatchService;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.schema.ixn.v2.PropertyEditDto;
+import static org.apache.isis.core.commons.internal.base._Casts.uncheckedCast;
+
import lombok.val;
public abstract class PropertySetterOrClearFacetForDomainEventAbstract
@@ -201,8 +202,8 @@ extends SingleValueFacetAbstract<Class<? extends PropertyDomainEvent<?,?>>> {
} else {
val targetAdapter = head.getTarget();
- final Object target = ManagedObject.unwrapSingle(targetAdapter);
- final Object argValue = ManagedObject.unwrapSingle(newValueAdapter);
+ final Object target = UnwrapUtil.single(targetAdapter);
+ final Object argValue = UnwrapUtil.single(newValueAdapter);
final String targetMember = CommandUtil.targetMemberNameFor(owningProperty);
final String targetClass = CommandUtil.targetClassNameFor(targetAdapter);
@@ -233,7 +234,7 @@ extends SingleValueFacetAbstract<Class<? extends PropertyDomainEvent<?,?>>> {
// ... post the executing event
final Object oldValue = getterFacet.getProperty(targetAdapter, interactionInitiatedBy);
- final Object newValue = ManagedObject.unwrapSingle(newValueAdapter);
+ final Object newValue = UnwrapUtil.single(newValueAdapter);
final PropertyDomainEvent<?, ?> event =
domainEventHelper.postEventForProperty(
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/temporal/TemporalValueSemanticsProviderAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/temporal/TemporalValueSemanticsProviderAbstract.java
index 4778e18..6826285 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/temporal/TemporalValueSemanticsProviderAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/temporal/TemporalValueSemanticsProviderAbstract.java
@@ -39,6 +39,7 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException;
import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderAndFacetAbstract;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
import lombok.Getter;
import lombok.NonNull;
@@ -135,7 +136,7 @@ implements TemporalValueFacet<T> {
@Override
public final T temporalValue(final ManagedObject adapter) {
- return _Casts.uncheckedCast(ManagedObject.unwrapSingle(adapter));
+ return _Casts.uncheckedCast(UnwrapUtil.single(adapter));
}
@Override
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgUsabilityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgUsabilityContext.java
index 72508b6..476db9e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgUsabilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgUsabilityContext.java
@@ -27,6 +27,7 @@ import org.apache.isis.core.commons.collections.Can;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import lombok.Getter;
@@ -65,7 +66,7 @@ implements ActionInteractionContext {
@Override
public ActionArgumentUsabilityEvent createInteractionEvent() {
return new ActionArgumentUsabilityEvent(
- ManagedObject.unwrapSingle(getTarget()),
+ UnwrapUtil.single(getTarget()),
getIdentifier(),
ManagedObject.unwrapMultipleAsArray(getArgs().toList()),
getPosition());
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgValidityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgValidityContext.java
index ed64a49..98b218b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgValidityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgValidityContext.java
@@ -19,14 +19,13 @@
package org.apache.isis.core.metamodel.interactions;
-import static org.apache.isis.core.metamodel.spec.ManagedObject.unwrapSingle;
-
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.services.wrapper.events.ActionArgumentEvent;
import org.apache.isis.core.commons.collections.Can;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import lombok.Getter;
@@ -66,7 +65,7 @@ implements ProposedHolder, ActionInteractionContext {
@Override
public ActionArgumentEvent createInteractionEvent() {
return new ActionArgumentEvent(
- unwrapSingle(getTarget()),
+ UnwrapUtil.single(getTarget()),
getIdentifier(),
ManagedObject.unwrapMultipleAsArray(getArgs().toList()),
getPosition());
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgVisibilityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgVisibilityContext.java
index 73b0283..319eba3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgVisibilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgVisibilityContext.java
@@ -27,6 +27,7 @@ import org.apache.isis.core.commons.collections.Can;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import lombok.Getter;
@@ -65,7 +66,7 @@ implements ActionInteractionContext {
@Override
public ActionArgumentVisibilityEvent createInteractionEvent() {
return new ActionArgumentVisibilityEvent(
- ManagedObject.unwrapSingle(getTarget()),
+ UnwrapUtil.single(getTarget()),
getIdentifier(),
ManagedObject.unwrapMultipleAsArray(getArgs().toList()),
getPosition());
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionUsabilityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionUsabilityContext.java
index ce6bff3..d752ecd 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionUsabilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionUsabilityContext.java
@@ -19,13 +19,12 @@
package org.apache.isis.core.metamodel.interactions;
-import static org.apache.isis.core.metamodel.spec.ManagedObject.unwrapSingle;
-
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.services.wrapper.events.ActionUsabilityEvent;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
/**
@@ -55,7 +54,7 @@ implements ActionInteractionContext {
@Override
public ActionUsabilityEvent createInteractionEvent() {
- return new ActionUsabilityEvent(unwrapSingle(getTarget()), getIdentifier());
+ return new ActionUsabilityEvent(UnwrapUtil.single(getTarget()), getIdentifier());
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionValidityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionValidityContext.java
index b204419..515ea83 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionValidityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionValidityContext.java
@@ -19,14 +19,13 @@
package org.apache.isis.core.metamodel.interactions;
-import static org.apache.isis.core.metamodel.spec.ManagedObject.unwrapSingle;
-
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.services.wrapper.events.ActionInvocationEvent;
import org.apache.isis.core.commons.collections.Can;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import lombok.Getter;
@@ -57,7 +56,7 @@ implements ActionInteractionContext {
@Override
public ActionInvocationEvent createInteractionEvent() {
return new ActionInvocationEvent(
- unwrapSingle(getTarget()), getIdentifier(), ManagedObject.unwrapMultipleAsArray(getArgs().toList()));
+ UnwrapUtil.single(getTarget()), getIdentifier(), ManagedObject.unwrapMultipleAsArray(getArgs().toList()));
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionVisibilityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionVisibilityContext.java
index 1b0de8e..f006684 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionVisibilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionVisibilityContext.java
@@ -19,13 +19,12 @@
package org.apache.isis.core.metamodel.interactions;
-import static org.apache.isis.core.metamodel.spec.ManagedObject.unwrapSingle;
-
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.services.wrapper.events.ActionVisibilityEvent;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
/**
@@ -55,7 +54,7 @@ implements ActionInteractionContext {
@Override
public ActionVisibilityEvent createInteractionEvent() {
- return new ActionVisibilityEvent(unwrapSingle(getTarget()), getIdentifier());
+ return new ActionVisibilityEvent(UnwrapUtil.single(getTarget()), getIdentifier());
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAccessContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAccessContext.java
index 8e363c3..0c410c8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAccessContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAccessContext.java
@@ -19,12 +19,11 @@
package org.apache.isis.core.metamodel.interactions;
-import static org.apache.isis.core.metamodel.spec.ManagedObject.unwrapSingle;
-
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.services.wrapper.events.CollectionAccessEvent;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -41,7 +40,7 @@ public class CollectionAccessContext extends AccessContext {
@Override
public CollectionAccessEvent createInteractionEvent() {
- return new CollectionAccessEvent(unwrapSingle(getTarget()), getIdentifier());
+ return new CollectionAccessEvent(UnwrapUtil.single(getTarget()), getIdentifier());
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAddToContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAddToContext.java
index 8423639..9ac9bfc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAddToContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAddToContext.java
@@ -24,6 +24,7 @@ import org.apache.isis.applib.services.wrapper.events.CollectionAddToEvent;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -52,7 +53,10 @@ implements ProposedHolder {
@Override
public CollectionAddToEvent createInteractionEvent() {
- return new CollectionAddToEvent(ManagedObject.unwrapSingle(getTarget()), getIdentifier(), ManagedObject.unwrapSingle(getProposed()));
+ return new CollectionAddToEvent(
+ UnwrapUtil.single(getTarget()),
+ getIdentifier(),
+ UnwrapUtil.single(getProposed()));
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionRemoveFromContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionRemoveFromContext.java
index b6a84e4..088cf24 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionRemoveFromContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionRemoveFromContext.java
@@ -19,13 +19,12 @@
package org.apache.isis.core.metamodel.interactions;
-import static org.apache.isis.core.metamodel.spec.ManagedObject.unwrapSingle;
-
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.services.wrapper.events.CollectionRemoveFromEvent;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -54,7 +53,10 @@ implements ProposedHolder{
@Override
public CollectionRemoveFromEvent createInteractionEvent() {
- return new CollectionRemoveFromEvent(unwrapSingle(getTarget()), getIdentifier(), unwrapSingle(getProposed()));
+ return new CollectionRemoveFromEvent(
+ UnwrapUtil.single(getTarget()),
+ getIdentifier(),
+ UnwrapUtil.single(getProposed()));
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionVisibilityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionVisibilityContext.java
index fa7767a..cec0394 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionVisibilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionVisibilityContext.java
@@ -19,13 +19,12 @@
package org.apache.isis.core.metamodel.interactions;
-import static org.apache.isis.core.metamodel.spec.ManagedObject.unwrapSingle;
-
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.services.wrapper.events.CollectionVisibilityEvent;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -44,7 +43,7 @@ extends VisibilityContext {
@Override
public CollectionVisibilityEvent createInteractionEvent() {
- return new CollectionVisibilityEvent(unwrapSingle(getTarget()), getIdentifier());
+ return new CollectionVisibilityEvent(UnwrapUtil.single(getTarget()), getIdentifier());
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectTitleContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectTitleContext.java
index 85208b9..0da0918 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectTitleContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectTitleContext.java
@@ -19,13 +19,12 @@
package org.apache.isis.core.metamodel.interactions;
-import static org.apache.isis.core.metamodel.spec.ManagedObject.unwrapSingle;
-
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.services.wrapper.events.ObjectTitleEvent;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -49,7 +48,7 @@ extends AccessContext {
@Override
public ObjectTitleEvent createInteractionEvent() {
- return new ObjectTitleEvent(unwrapSingle(getTarget()), getIdentifier(), getTitle());
+ return new ObjectTitleEvent(UnwrapUtil.single(getTarget()), getIdentifier(), getTitle());
}
private String getTitle() {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectValidityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectValidityContext.java
index 4306071..eef3fc2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectValidityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectValidityContext.java
@@ -19,13 +19,12 @@
package org.apache.isis.core.metamodel.interactions;
-import static org.apache.isis.core.metamodel.spec.ManagedObject.unwrapSingle;
-
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.services.wrapper.events.ObjectValidityEvent;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -46,7 +45,7 @@ implements ProposedHolder {
@Override
public ObjectValidityEvent createInteractionEvent() {
- return new ObjectValidityEvent(unwrapSingle(getTarget()), getIdentifier());
+ return new ObjectValidityEvent(UnwrapUtil.single(getTarget()), getIdentifier());
}
@Override
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectVisibilityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectVisibilityContext.java
index 6553836..4576d18 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectVisibilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectVisibilityContext.java
@@ -19,14 +19,13 @@
package org.apache.isis.core.metamodel.interactions;
-import static org.apache.isis.core.metamodel.spec.ManagedObject.unwrapSingle;
-
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.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -49,7 +48,7 @@ implements ProposedHolder {
@Override
public ObjectVisibilityEvent createInteractionEvent() {
- return new ObjectVisibilityEvent(unwrapSingle(getTarget()), getIdentifier());
+ return new ObjectVisibilityEvent(UnwrapUtil.single(getTarget()), getIdentifier());
}
@Override
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ParseValueContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ParseValueContext.java
index 6c8b2f7..0f4402d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ParseValueContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ParseValueContext.java
@@ -19,13 +19,12 @@
package org.apache.isis.core.metamodel.interactions;
-import static org.apache.isis.core.metamodel.spec.ManagedObject.unwrapSingle;
-
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.services.wrapper.events.ParseValueEvent;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -54,8 +53,8 @@ implements ProposedHolder {
@Override
public ParseValueEvent createInteractionEvent() {
- final String proposedPojo = (String) unwrapSingle(getProposed());
- return new ParseValueEvent(unwrapSingle(getTarget()), getIdentifier(), proposedPojo);
+ final String proposedPojo = (String) UnwrapUtil.single(getProposed());
+ return new ParseValueEvent(UnwrapUtil.single(getTarget()), getIdentifier(), proposedPojo);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyAccessContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyAccessContext.java
index d021f0e..e7afd52 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyAccessContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyAccessContext.java
@@ -19,13 +19,12 @@
package org.apache.isis.core.metamodel.interactions;
-import static org.apache.isis.core.metamodel.spec.ManagedObject.unwrapSingle;
-
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.services.wrapper.events.PropertyAccessEvent;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -55,7 +54,10 @@ extends AccessContext {
@Override
public PropertyAccessEvent createInteractionEvent() {
- return new PropertyAccessEvent(unwrapSingle(getTarget()), getIdentifier(), unwrapSingle(getValue()));
+ return new PropertyAccessEvent(
+ UnwrapUtil.single(getTarget()),
+ getIdentifier(),
+ UnwrapUtil.single(getValue()));
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyModifyContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyModifyContext.java
index ae486f4..f6c6809 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyModifyContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyModifyContext.java
@@ -19,13 +19,12 @@
package org.apache.isis.core.metamodel.interactions;
-import static org.apache.isis.core.metamodel.spec.ManagedObject.unwrapSingle;
-
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.services.wrapper.events.PropertyModifyEvent;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -57,7 +56,10 @@ implements ProposedHolder {
@Override
public PropertyModifyEvent createInteractionEvent() {
- return new PropertyModifyEvent(unwrapSingle(getTarget()), getIdentifier(), unwrapSingle(getProposed()));
+ return new PropertyModifyEvent(
+ UnwrapUtil.single(getTarget()),
+ getIdentifier(),
+ UnwrapUtil.single(getProposed()));
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyUsabilityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyUsabilityContext.java
index 80f9442..5a2d121 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyUsabilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyUsabilityContext.java
@@ -19,13 +19,12 @@
package org.apache.isis.core.metamodel.interactions;
-import static org.apache.isis.core.metamodel.spec.ManagedObject.unwrapSingle;
-
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.services.wrapper.events.PropertyUsabilityEvent;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -44,7 +43,7 @@ extends UsabilityContext {
@Override
public PropertyUsabilityEvent createInteractionEvent() {
- return new PropertyUsabilityEvent(unwrapSingle(getTarget()), getIdentifier());
+ return new PropertyUsabilityEvent(UnwrapUtil.single(getTarget()), getIdentifier());
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyVisibilityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyVisibilityContext.java
index d61ebea..8e27a39 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyVisibilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyVisibilityContext.java
@@ -19,13 +19,12 @@
package org.apache.isis.core.metamodel.interactions;
-import static org.apache.isis.core.metamodel.spec.ManagedObject.unwrapSingle;
-
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.services.wrapper.events.PropertyVisibilityEvent;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -43,7 +42,7 @@ public class PropertyVisibilityContext extends VisibilityContext {
@Override
public PropertyVisibilityEvent createInteractionEvent() {
- return new PropertyVisibilityEvent(unwrapSingle(getTarget()), getIdentifier());
+ return new PropertyVisibilityEvent(UnwrapUtil.single(getTarget()), getIdentifier());
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java
index d4546be..56d586a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java
@@ -41,6 +41,7 @@ import org.apache.isis.core.metamodel.facets.object.entity.EntityFacet;
import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
import org.apache.isis.core.metamodel.objectmanager.create.ObjectCreator;
import org.apache.isis.core.metamodel.objectmanager.load.ObjectLoader;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.specloader.SpecificationLoaderDefault;
@@ -250,33 +251,26 @@ public interface ManagedObject {
// -- UNWRAPPING
@Nullable
- public static Object unwrapSingle(@Nullable final ManagedObject adapter) {
- return ManagedObjects.isSpecified(adapter)
- ? adapter.getPojo()
- : null;
- }
-
- @Nullable
public static Object[] unwrapMultipleAsArray(@NonNull final Can<ManagedObject> adapters) {
- val unwrappedObjects = _Arrays.mapCollection(adapters.toList(), ManagedObject::unwrapSingle);
+ val unwrappedObjects = _Arrays.mapCollection(adapters.toList(), UnwrapUtil::single);
return unwrappedObjects;
}
@Nullable
public static Object[] unwrapMultipleAsArray(@Nullable final Collection<ManagedObject> adapters) {
- val unwrappedObjects = _Arrays.mapCollection(adapters, ManagedObject::unwrapSingle);
+ val unwrappedObjects = _Arrays.mapCollection(adapters, UnwrapUtil::single);
return unwrappedObjects;
}
@Nullable
public static Object[] unwrapMultipleAsArray(@Nullable final ManagedObject[] adapters) {
- val unwrappedObjects = _Arrays.map(adapters, ManagedObject::unwrapSingle);
+ val unwrappedObjects = _Arrays.map(adapters, UnwrapUtil::single);
return unwrappedObjects;
}
@Nullable
public static String unwrapSingleAsStringOrElse(@Nullable final ManagedObject adapter, @Nullable String orElse) {
- final Object obj = ManagedObject.unwrapSingle(adapter);
+ final Object obj = UnwrapUtil.single(adapter);
if (obj == null) {
return null;
}
@@ -296,7 +290,7 @@ public interface ManagedObject {
return Collections.emptyList();
}
return adapters.stream()
- .map(ManagedObject::unwrapSingle)
+ .map(UnwrapUtil::single)
.collect(_Lists.toUnmodifiable());
}
@@ -310,7 +304,7 @@ public interface ManagedObject {
return Collections.emptyList();
}
return adapters.stream()
- .map(ManagedObject::unwrapSingle)
+ .map(UnwrapUtil::single)
.collect(_Lists.toUnmodifiable());
}
@@ -325,7 +319,7 @@ public interface ManagedObject {
return Collections.emptySet();
}
return adapters.stream()
- .map(ManagedObject::unwrapSingle)
+ .map(UnwrapUtil::single)
.collect(_Sets.toUnmodifiable());
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java
index f50e147..cfa5f13 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java
@@ -169,8 +169,8 @@ public final class ManagedObjects {
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public int compare(@Nullable ManagedObject p, @Nullable ManagedObject q) {
- val pPojo = ManagedObject.unwrapSingle(p);
- val qPojo = ManagedObject.unwrapSingle(q);
+ val pPojo = UnwrapUtil.single(p);
+ val qPojo = UnwrapUtil.single(q);
if(pPojo instanceof Comparable && qPojo instanceof Comparable) {
return _NullSafe.compareNullsFirst((Comparable)pPojo, (Comparable)qPojo);
}
@@ -302,7 +302,7 @@ public final class ManagedObjects {
return CollectionFacet.streamAdapters(collectionAdapter)
.filter(VisibilityUtil.filterOn(interactionInitiatedBy))
- .map(ManagedObject::unwrapSingle);
+ .map(UnwrapUtil::single);
}
public static Object[] visiblePojosAsArray(
@@ -384,7 +384,7 @@ public final class ManagedObjects {
val ppmTuple = MethodExtensions.construct(ppmConstructor, ManagedObject.unwrapMultipleAsArray(pendingArguments));
val paramPojos = _Arrays.combineWithExplicitType(Object.class, ppmTuple, additionalArguments.toArray());
- return MethodExtensions.invoke(method, ManagedObject.unwrapSingle(adapter), paramPojos);
+ return MethodExtensions.invoke(method, UnwrapUtil.single(adapter), paramPojos);
}
public static Object invokeWithPPM(
@@ -396,27 +396,27 @@ public final class ManagedObjects {
}
public static void invokeAll(Collection<Method> methods, final ManagedObject adapter) {
- MethodUtil.invoke(methods, ManagedObject.unwrapSingle(adapter));
+ MethodUtil.invoke(methods, UnwrapUtil.single(adapter));
}
public static Object invoke(Method method, ManagedObject adapter) {
- return MethodExtensions.invoke(method, ManagedObject.unwrapSingle(adapter));
+ return MethodExtensions.invoke(method, UnwrapUtil.single(adapter));
}
public static Object invoke(Method method, ManagedObject adapter, Object arg0) {
- return MethodExtensions.invoke(method, ManagedObject.unwrapSingle(adapter), new Object[] {arg0});
+ return MethodExtensions.invoke(method, UnwrapUtil.single(adapter), new Object[] {arg0});
}
public static Object invoke(Method method, ManagedObject adapter, Can<ManagedObject> argumentAdapters) {
- return MethodExtensions.invoke(method, ManagedObject.unwrapSingle(adapter), ManagedObject.unwrapMultipleAsArray(argumentAdapters));
+ return MethodExtensions.invoke(method, UnwrapUtil.single(adapter), ManagedObject.unwrapMultipleAsArray(argumentAdapters));
}
public static Object invoke(Method method, ManagedObject adapter, ManagedObject arg0Adapter) {
- return invoke(method, adapter, ManagedObject.unwrapSingle(arg0Adapter));
+ return invoke(method, adapter, UnwrapUtil.single(arg0Adapter));
}
public static Object invoke(Method method, ManagedObject adapter, ManagedObject[] argumentAdapters) {
- return MethodExtensions.invoke(method, ManagedObject.unwrapSingle(adapter), ManagedObject.unwrapMultipleAsArray(argumentAdapters));
+ return MethodExtensions.invoke(method, UnwrapUtil.single(adapter), ManagedObject.unwrapMultipleAsArray(argumentAdapters));
}
/**
@@ -449,7 +449,7 @@ public final class ManagedObjects {
val argArray = adjust(method, pendingArgs, additionalArgValues);
- return MethodExtensions.invoke(method, ManagedObject.unwrapSingle(target), argArray);
+ return MethodExtensions.invoke(method, UnwrapUtil.single(target), argArray);
}
/**
@@ -478,7 +478,7 @@ public final class ManagedObjects {
for(int i=0; i<pendingArgsToConsiderCount; i++) {
val paramType = parameterTypes[i];
- val arg = argIterator.hasNext() ? ManagedObject.unwrapSingle(argIterator.next()) : null;
+ val arg = argIterator.hasNext() ? UnwrapUtil.single(argIterator.next()) : null;
adjusted[i] = honorPrimitiveDefaults(paramType, arg);
}
@@ -512,5 +512,19 @@ public final class ManagedObjects {
}
+ // -- UNWRAP UTILITY
+
+ @UtilityClass
+ public static final class UnwrapUtil {
+
+ @Nullable
+ public static Object single(@Nullable final ManagedObject adapter) {
+ return ManagedObjects.isSpecified(adapter)
+ ? adapter.getPojo()
+ : null;
+ }
+
+ }
+
}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ObjectAdapterUtilsTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ObjectAdapterUtilsTest.java
index 3c93811..ae847e5 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ObjectAdapterUtilsTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ObjectAdapterUtilsTest.java
@@ -27,9 +27,10 @@ import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
-import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.internaltestsupport.jmocking.JUnitRuleMockery2;
import org.apache.isis.core.internaltestsupport.jmocking.JUnitRuleMockery2.Mode;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
public class ObjectAdapterUtilsTest {
@@ -42,14 +43,14 @@ public class ObjectAdapterUtilsTest {
@Test
public void testUnwrapObjectWhenNull() {
- assertNull(ManagedObject.unwrapSingle((ManagedObject)null));
+ assertNull(UnwrapUtil.single((ManagedObject)null));
}
@Test
public void testUnwrapObjectWhenNotNull() {
underlyingDomainObject = new Object();
expectAdapterWillReturn(underlyingDomainObject);
- assertEquals(underlyingDomainObject, ManagedObject.unwrapSingle(mockObjectAdapter));
+ assertEquals(underlyingDomainObject, UnwrapUtil.single(mockObjectAdapter));
}
@Test
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandDtoServiceInternalDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandDtoServiceInternalDefault.java
index 27384e2..b21c46e 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandDtoServiceInternalDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandDtoServiceInternalDefault.java
@@ -40,6 +40,7 @@ import org.apache.isis.core.metamodel.facets.actions.action.invocation.CommandUt
import org.apache.isis.core.metamodel.services.command.CommandDtoServiceInternal;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ManagedObjects;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
@@ -170,7 +171,7 @@ public class CommandDtoServiceInternalDefault implements CommandDtoServiceIntern
final Class<?> valueType = valueSpec.getCorrespondingClass();
final ValueWithTypeDto newValue = CommonDtoUtils.newValueWithTypeDto(
- valueType, ManagedObject.unwrapSingle(valueAdapter), bookmarkService);
+ valueType, UnwrapUtil.single(valueAdapter), bookmarkService);
propertyDto.setNewValue(newValue);
}
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/handlers/DomainObjectInvocationHandler.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/handlers/DomainObjectInvocationHandler.java
index 6f73ad8..b373263 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/handlers/DomainObjectInvocationHandler.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/handlers/DomainObjectInvocationHandler.java
@@ -53,6 +53,7 @@ import org.apache.isis.core.metamodel.facets.object.entity.EntityFacet;
import org.apache.isis.core.metamodel.facets.object.mixin.MixinFacet;
import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects.UnwrapUtil;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.Contributed;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
@@ -413,7 +414,7 @@ public class DomainObjectInvocationHandler<T> extends DelegatingInvocationHandle
val interactionInitiatedBy = getInteractionInitiatedBy();
val currentReferencedAdapter = property.get(targetAdapter, interactionInitiatedBy);
- val currentReferencedObj = ManagedObject.unwrapSingle(currentReferencedAdapter);
+ val currentReferencedObj = UnwrapUtil.single(currentReferencedAdapter);
val propertyAccessEvent = new PropertyAccessEvent(
getDelegate(), property.getIdentifier(), currentReferencedObj);
@@ -485,7 +486,7 @@ public class DomainObjectInvocationHandler<T> extends DelegatingInvocationHandle
val interactionInitiatedBy = getInteractionInitiatedBy();
val currentReferencedAdapter = collection.get(targetAdapter, interactionInitiatedBy);
- val currentReferencedObj = ManagedObject.unwrapSingle(currentReferencedAdapter);
+ val currentReferencedObj = UnwrapUtil.single(currentReferencedAdapter);
val collectionAccessEvent = new CollectionAccessEvent(getDelegate(), collection.getIdentifier());
@@ -649,7 +650,7 @@ public class DomainObjectInvocationHandler<T> extends DelegatingInvocationHandle
val returnedAdapter = objectAction.execute(
head, argAdapters,
interactionInitiatedBy);
- return ManagedObject.unwrapSingle(returnedAdapter);
+ return UnwrapUtil.single(returnedAdapter);
});
diff --git a/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/datanucleus/persistence/queries/PersistenceQueryFindUsingApplibQueryProcessor.java b/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/datanucleus/persistence/queries/PersistenceQueryFindUsingApplibQueryProcessor.java
index 0852cde..dba6c7e 100644
--- a/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/datanucleus/persistence/queries/PersistenceQueryFindUsingApplibQueryProcessor.java
+++ b/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/datanucleus/persistence/queries/PersistenceQueryFindUsingApplibQueryProcessor.java
@@ -30,6 +30,7 @@ import org.apache.isis.core.commons.internal.collections._Maps;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.services.container.query.QueryCardinality;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.persistence.jdo.datanucleus5.datanucleus.metamodel.JdoPropertyUtils;
@@ -150,7 +151,7 @@ public class PersistenceQueryFindUsingApplibQueryProcessor extends PersistenceQu
final Map<String, Object> argumentsByParameterName = _Maps.newHashMap();
for (final String parameterName : argumentAdaptersByParameterName.keySet()) {
final ObjectAdapter argumentAdapter = argumentAdaptersByParameterName.get(parameterName);
- final Object argument = ManagedObject.unwrapSingle(argumentAdapter);
+ final Object argument = ManagedObjects.UnwrapUtil.single(argumentAdapter);
argumentsByParameterName.put(parameterName, argument);
}
return argumentsByParameterName;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.java
index da671ff..a6c6d49 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.java
@@ -34,6 +34,7 @@ import org.apache.wicket.model.Model;
import org.apache.isis.core.commons.internal.collections._Lists;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ManagedObjects;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.Contributed;
import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
@@ -135,7 +136,7 @@ public class CollectionContentsAsSummary extends PanelAbstract<EntityCollectionM
values.add(null);
continue;
}
- final Object valueObj = ManagedObject.unwrapSingle(valueAdapter);
+ final Object valueObj = ManagedObjects.UnwrapUtil.single(valueAdapter);
if (valueObj == null) {
values.add(null);
continue;