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 2022/08/27 13:28:00 UTC
[isis] branch master updated: ISIS-3167: refactor ManagedObjects nested utils into their own files
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 67a4569593 ISIS-3167: refactor ManagedObjects nested utils into their own files
67a4569593 is described below
commit 67a4569593a841dec8242c6120439fcd1219a630
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sat Aug 27 15:27:53 2022 +0200
ISIS-3167: refactor ManagedObjects nested utils into their own files
- prefixed with Mm .. short for metamodel
---
.../core/metamodel/facets/DomainEventHelper.java | 10 +-
.../core/metamodel/facets/ImperativeAspect.java | 3 +-
...ctionInvocationFacetForDomainEventAbstract.java | 6 +-
.../ActionParameterValidationFacetViaMethod.java | 4 +-
.../method/ActionValidationFacetViaMethod.java | 6 +-
.../facets/collections/CollectionFacet.java | 4 +-
.../CollectionAccessorFacetViaAccessor.java | 7 +-
.../method/DisableForContextFacetViaMethod.java | 4 +-
.../method/HideForContextFacetViaMethod.java | 4 +-
.../autocomplete/AutoCompleteFacetAbstract.java | 4 +-
.../object/callbacks/CallbackFacetAbstract.java | 4 +-
.../choices/ChoicesFacetFromBoundedAbstract.java | 4 +-
.../facets/object/value/CompositeValueUpdater.java | 6 +-
.../mandatory/MandatoryFacetAbstract.java | 4 +-
.../objectvalue/maxlen/MaxLengthFacetAbstract.java | 4 +-
.../ActionParameterAutoCompleteFacetViaMethod.java | 5 +-
.../ActionParameterChoicesFacetViaMethod.java | 5 +-
.../ActionParameterDefaultsFacetViaMethod.java | 6 +-
.../ActionParameterDisabledFacetViaMethod.java | 6 +-
.../ActionParameterHiddenFacetViaMethod.java | 6 +-
.../ActionParameterValidationFacetViaMethod.java | 6 +-
.../accessor/PropertyAccessorFacetViaAccessor.java | 7 +-
.../method/PropertyAutoCompleteFacetMethod.java | 7 +-
.../method/PropertyChoicesFacetViaMethod.java | 3 +-
.../method/PropertyDefaultFacetViaMethod.java | 4 +-
...tySetterOrClearFacetForDomainEventAbstract.java | 4 +-
.../clear/PropertyClearFacetViaClearMethod.java | 4 +-
.../clear/PropertyClearFacetViaSetterMethod.java | 4 +-
...PropertyInitializationFacetViaSetterMethod.java | 4 +-
.../modify/PropertySetterFacetViaSetterMethod.java | 4 +-
.../method/PropertyValidateFacetViaMethod.java | 4 +-
.../interactions/ActionArgUsabilityContext.java | 6 +-
.../interactions/ActionArgValidityContext.java | 6 +-
.../interactions/ActionArgVisibilityContext.java | 6 +-
.../interactions/ActionUsabilityContext.java | 4 +-
.../interactions/ActionValidityContext.java | 4 +-
.../interactions/ActionVisibilityContext.java | 4 +-
.../interactions/CollectionAccessContext.java | 4 +-
.../interactions/CollectionVisibilityContext.java | 4 +-
.../metamodel/interactions/ObjectTitleContext.java | 4 +-
.../interactions/ObjectValidityContext.java | 4 +-
.../interactions/ObjectVisibilityContext.java | 4 +-
.../metamodel/interactions/ParseValueContext.java | 6 +-
.../interactions/PropertyAccessContext.java | 6 +-
.../interactions/PropertyModifyContext.java | 6 +-
.../interactions/PropertyUsabilityContext.java | 4 +-
.../interactions/PropertyVisibilityContext.java | 4 +-
.../interactions/managed/ManagedMember.java | 4 +-
.../managed/ParameterNegotiationModel.java | 4 +-
.../managed/PropertyNegotiationModel.java | 4 +-
.../interactions/managed/_BindingUtil.java | 8 +-
.../interactions/managed/nonscalar/DataRow.java | 4 +-
.../isis/core/metamodel/object/ManagedObject.java | 25 +-
.../isis/core/metamodel/object/ManagedObjects.java | 643 +--------------------
.../isis/core/metamodel/object/MmEntityUtil.java | 239 ++++++++
.../isis/core/metamodel/object/MmInvokeUtil.java | 177 ++++++
.../isis/core/metamodel/object/MmUnwrapUtil.java | 126 ++++
.../core/metamodel/object/MmVisibilityUtil.java | 130 +++++
.../core/metamodel/object/_InternalTitleUtil.java | 123 ++++
.../objectlifecycle/PropertyChangeRecord.java | 4 +-
.../services/title/TitleServiceDefault.java | 4 +-
.../specimpl/OneToOneAssociationDefault.java | 4 +-
.../metamodel/facets/ObjectAdapterUtilsTest.java | 12 +-
.../executor/MemberExecutorServiceDefault.java | 20 +-
.../isis/core/runtimeservices/executor/_Xray.java | 6 +-
.../repository/RepositoryServiceDefault.java | 16 +-
.../handlers/DomainObjectInvocationHandler.java | 12 +-
.../pdfjs/wkt/ui/components/PdfJsViewerPanel.java | 4 +-
.../changetracking/EntityChangeTrackerDefault.java | 3 +-
.../interact/CollectionInteractionTest.java | 4 +-
.../JpaGeneratedLongIdEntityLifecycleTest.java | 12 +-
...JpaNonGeneratedStringIdEntityLifecycleTest.java | 12 +-
.../util/interaction/DataTableTester.java | 12 +-
.../interaction/DomainObjectTesterFactory.java | 8 +-
.../binding/BindingConverterForManagedObject.java | 4 +-
.../viewer/commons/model/object/ObjectUiModel.java | 4 +-
.../resources/DomainObjectResourceServerside.java | 6 +-
.../wicket/model/models/ScalarUnwrappingModel.java | 4 +-
.../models/interaction/BookmarkedObjectWkt.java | 4 +-
.../summary/CollectionContentsAsSummary.java | 4 +-
.../entity/icontitle/EntityIconAndTitlePanel.java | 4 +-
.../wicket/ui/panels/FormExecutorDefault.java | 4 +-
82 files changed, 1018 insertions(+), 865 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 30f75fdfdc..4c231c544c 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
@@ -41,7 +41,7 @@ import org.apache.isis.commons.internal.reflection._Reflect;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.interactions.InteractionHead;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.core.metamodel.services.events.MetamodelEventService;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
@@ -119,8 +119,8 @@ public class DomainEventHelper {
event = existingEvent;
} else {
// all other phases, create a new event
- final S source = uncheckedCast(UnwrapUtil.single(head.getTarget()));
- final Object[] arguments = UnwrapUtil.multipleAsArray(argumentAdapters);
+ final S source = uncheckedCast(MmUnwrapUtil.single(head.getTarget()));
+ final Object[] arguments = MmUnwrapUtil.multipleAsArray(argumentAdapters);
final Identifier identifier = facetHolder.getFeatureIdentifier();
event = newActionDomainEvent(eventType, identifier, source, arguments);
@@ -248,7 +248,7 @@ public class DomainEventHelper {
} else {
// all other phases, create a new event
- final S source = uncheckedCast(UnwrapUtil.single(head.getTarget()));
+ final S source = uncheckedCast(MmUnwrapUtil.single(head.getTarget()));
final Identifier identifier = facetHolder.getFeatureIdentifier();
event = newPropertyDomainEvent(eventType, identifier, source, oldValue, newValue);
@@ -344,7 +344,7 @@ public class DomainEventHelper {
try {
final CollectionDomainEvent<S, T> event;
- final S source = uncheckedCast(UnwrapUtil.single(head.getTarget()));
+ final S source = uncheckedCast(MmUnwrapUtil.single(head.getTarget()));
final Identifier identifier = facetHolder.getFeatureIdentifier();
event = newCollectionDomainEvent(eventType, phase, identifier, source);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ImperativeAspect.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ImperativeAspect.java
index 813ed014b9..641b7b577b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ImperativeAspect.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ImperativeAspect.java
@@ -25,6 +25,7 @@ import java.util.stream.Collectors;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.commons.internal.base._Casts;
import org.apache.isis.core.metamodel.facets.ImperativeFacet.Intent;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
import org.apache.isis.core.metamodel.object.ManagedObjects;
@@ -57,7 +58,7 @@ public class ImperativeAspect {
public Object invokeSingleMethod(final ManagedObject domainObject) {
val method = methods.getFirstOrFail();
- final Object returnValue = ManagedObjects.InvokeUtil.invoke(method, domainObject);
+ final Object returnValue = MmInvokeUtil.invoke(method, domainObject);
return returnValue;
}
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 003e58eb09..29dd9a2c0c 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
@@ -42,7 +42,7 @@ import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacet;
import org.apache.isis.core.metamodel.interactions.InteractionHead;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.core.metamodel.services.ixn.InteractionDtoFactory;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
@@ -146,8 +146,8 @@ implements ImperativeFacet {
val method = methods.getFirstOrFail();
- final Object[] executionParameters = UnwrapUtil.multipleAsArray(arguments);
- final Object targetPojo = UnwrapUtil.single(head.getTarget());
+ final Object[] executionParameters = MmUnwrapUtil.multipleAsArray(arguments);
+ final Object targetPojo = MmUnwrapUtil.single(head.getTarget());
final ActionSemanticsFacet semanticsFacet = getFacetHolder().getFacet(ActionSemanticsFacet.class);
final boolean cacheable = semanticsFacet != null && semanticsFacet.value().isSafeAndRequestCacheable();
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionParameterValidationFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionParameterValidationFacetViaMethod.java
index fac3d6b438..486a034049 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionParameterValidationFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionParameterValidationFacetViaMethod.java
@@ -28,8 +28,8 @@ import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.facets.actions.validate.ActionParameterValidationFacetAbstract;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
import lombok.Getter;
import lombok.NonNull;
@@ -59,7 +59,7 @@ implements ImperativeFacet {
@Override
public String invalidReason(final ManagedObject owningAdapter, final ManagedObject proposedArgumentAdapter) {
val method = methods.getFirstOrFail();
- final Object returnValue = ManagedObjects.InvokeUtil.invoke(method, owningAdapter, proposedArgumentAdapter);
+ final Object returnValue = MmInvokeUtil.invoke(method, owningAdapter, proposedArgumentAdapter);
if(returnValue instanceof String) {
return (String) returnValue;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethod.java
index d014e14719..da66603d7b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethod.java
@@ -29,8 +29,8 @@ import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.facets.actions.validate.ActionValidationFacetAbstract;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
import lombok.Getter;
import lombok.NonNull;
@@ -65,8 +65,8 @@ implements ImperativeFacet {
val method = methods.getFirstOrFail();
final Object returnValue = patConstructor.isPresent()
- ? ManagedObjects.InvokeUtil.invokeWithPAT(patConstructor.get(), method, owningAdapter, proposedArgumentAdapters)
- : ManagedObjects.InvokeUtil.invoke(method, owningAdapter, proposedArgumentAdapters);
+ ? MmInvokeUtil.invokeWithPAT(patConstructor.get(), method, owningAdapter, proposedArgumentAdapters)
+ : MmInvokeUtil.invoke(method, owningAdapter, proposedArgumentAdapters);
if(returnValue instanceof String) {
return (String) returnValue;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/CollectionFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/CollectionFacet.java
index 51a35d3714..cad8c9f303 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/CollectionFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/CollectionFacet.java
@@ -48,7 +48,7 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
import org.apache.isis.core.metamodel.object.ManagedObject;
import org.apache.isis.core.metamodel.object.PackedManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import lombok.NonNull;
@@ -131,7 +131,7 @@ public interface CollectionFacet extends Facet {
public static Object[] toArrayOfPojos(@Nullable final ManagedObject container) {
val elementAdapters = streamAdapters(container)
.collect(Collectors.toList());
- return UnwrapUtil.multipleAsArray(elementAdapters);
+ return MmUnwrapUtil.multipleAsArray(elementAdapters);
}
@UtilityClass
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/accessor/CollectionAccessorFacetViaAccessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/accessor/CollectionAccessorFacetViaAccessor.java
index d3ec729af1..b3d853e1d7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/accessor/CollectionAccessorFacetViaAccessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/accessor/CollectionAccessorFacetViaAccessor.java
@@ -26,8 +26,9 @@ import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacetAbstract;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
+import org.apache.isis.core.metamodel.object.MmVisibilityUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import lombok.Getter;
@@ -59,7 +60,7 @@ implements ImperativeFacet {
final InteractionInitiatedBy interactionInitiatedBy) {
val method = methods.getFirstOrFail();
- final Object collectionOrArray = ManagedObjects.InvokeUtil.invoke(method, owningAdapter);
+ final Object collectionOrArray = MmInvokeUtil.invoke(method, owningAdapter);
if(collectionOrArray == null) {
return null;
}
@@ -69,7 +70,7 @@ implements ImperativeFacet {
final boolean filterForVisibility = getConfiguration().getCore().getMetaModel().isFilterVisibility();
if(filterForVisibility) {
- val autofittedObjectContainer = ManagedObjects.VisibilityUtil
+ val autofittedObjectContainer = MmVisibilityUtil
.visiblePojosAutofit(collectionAdapter, interactionInitiatedBy, method.getReturnType());
if (autofittedObjectContainer != null) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/method/DisableForContextFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/method/DisableForContextFacetViaMethod.java
index f11bb04a1d..824b4af9d1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/method/DisableForContextFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/method/DisableForContextFacetViaMethod.java
@@ -27,8 +27,8 @@ import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.interactions.UsabilityContext;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
import lombok.Getter;
import lombok.NonNull;
@@ -64,7 +64,7 @@ implements ImperativeFacet {
return null;
}
val method = methods.getFirstOrFail();
- final Object returnValue = ManagedObjects.InvokeUtil.invokeAutofit(method, target);
+ final Object returnValue = MmInvokeUtil.invokeAutofit(method, target);
if(returnValue instanceof String) {
return (String) returnValue;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/method/HideForContextFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/method/HideForContextFacetViaMethod.java
index 9b648e41e3..e143fa883c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/method/HideForContextFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/method/HideForContextFacetViaMethod.java
@@ -25,8 +25,8 @@ import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.interactions.VisibilityContext;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
import lombok.Getter;
import lombok.NonNull;
@@ -55,7 +55,7 @@ implements ImperativeFacet {
return null;
}
val method = methods.getFirstOrFail();
- final Boolean isHidden = (Boolean) ManagedObjects.InvokeUtil.invokeAutofit(method, target);
+ final Boolean isHidden = (Boolean) MmInvokeUtil.invokeAutofit(method, target);
return isHidden.booleanValue() ? "Hidden" : null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java
index 08d8a6fb71..48175a5b3e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java
@@ -30,7 +30,7 @@ import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.param.autocomplete.MinLengthUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
+import org.apache.isis.core.metamodel.object.MmVisibilityUtil;
import org.apache.isis.core.metamodel.services.publishing.ExecutionPublisher;
import lombok.val;
@@ -81,7 +81,7 @@ implements AutoCompleteFacet {
return getObjectManager().adapt(list);
});
- return ManagedObjects.VisibilityUtil.streamVisibleAdapters(resultAdapter, interactionInitiatedBy)
+ return MmVisibilityUtil.streamVisibleAdapters(resultAdapter, interactionInitiatedBy)
.collect(Can.toCan());
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CallbackFacetAbstract.java
index 67881a19ed..209b7c2f75 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CallbackFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CallbackFacetAbstract.java
@@ -25,8 +25,8 @@ import org.apache.isis.commons.internal.reflection._Reflect;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
import lombok.Getter;
@@ -57,7 +57,7 @@ implements CallbackFacet {
@Override
public final void invoke(final ManagedObject adapter) {
// as a side effect memoizes the list of methods and locks it so cannot add any more
- ManagedObjects.InvokeUtil.invokeAll(getMethods(), adapter);
+ MmInvokeUtil.invokeAll(getMethods(), adapter);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/ChoicesFacetFromBoundedAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/ChoicesFacetFromBoundedAbstract.java
index 20169bf59e..d9af48b5f3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/ChoicesFacetFromBoundedAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/ChoicesFacetFromBoundedAbstract.java
@@ -31,7 +31,7 @@ import org.apache.isis.core.metamodel.interactions.UsabilityContext;
import org.apache.isis.core.metamodel.interactions.ValidatingInteractionAdvisor;
import org.apache.isis.core.metamodel.interactions.ValidityContext;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
+import org.apache.isis.core.metamodel.object.MmVisibilityUtil;
import org.apache.isis.core.metamodel.objectmanager.query.ObjectBulkLoader;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -114,7 +114,7 @@ implements
val resultTypeSpec = specForType(resulType).orElse(null);
val queryRequest = ObjectBulkLoader.Request.of(resultTypeSpec, query);
val allMatching = getObjectManager().queryObjects(queryRequest)
- .filter(ManagedObjects.VisibilityUtil.filterOn(interactionInitiatedBy));
+ .filter(MmVisibilityUtil.filterOn(interactionInitiatedBy));
return allMatching;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/CompositeValueUpdater.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/CompositeValueUpdater.java
index e469d3bb97..8c51a31c91 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/CompositeValueUpdater.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/CompositeValueUpdater.java
@@ -25,7 +25,7 @@ import org.apache.isis.core.metamodel.commons.CanonicalInvoker;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.interactions.InteractionHead;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectMember.AuthorizationException;
import org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionMixedIn;
@@ -80,8 +80,8 @@ public abstract class CompositeValueUpdater {
final InteractionHead head, final Can<ManagedObject> parameters) {
val method = delegate.getFacetedMethod().getMethod();
- final Object[] executionParameters = UnwrapUtil.multipleAsArray(parameters);
- final Object targetPojo = UnwrapUtil.single(head.getTarget());
+ final Object[] executionParameters = MmUnwrapUtil.multipleAsArray(parameters);
+ final Object targetPojo = MmUnwrapUtil.single(head.getTarget());
val resultPojo = CanonicalInvoker
.invoke(method, targetPojo, executionParameters);
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 dcdb896174..2f1785e125 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,7 +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.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import lombok.Getter;
import lombok.NonNull;
@@ -72,7 +72,7 @@ implements MandatoryFacet {
@Override
public final boolean isRequiredButNull(final ManagedObject adapter) {
if(getSemantics().isRequired()) {
- val pojo = UnwrapUtil.single(adapter);
+ val pojo = MmUnwrapUtil.single(adapter);
// special case string handling.
if(pojo instanceof String) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/maxlen/MaxLengthFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/maxlen/MaxLengthFacetAbstract.java
index 018167a93b..a294474cef 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/maxlen/MaxLengthFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/maxlen/MaxLengthFacetAbstract.java
@@ -26,7 +26,7 @@ import org.apache.isis.core.metamodel.facets.SingleIntValueFacetAbstract;
import org.apache.isis.core.metamodel.interactions.ProposedHolder;
import org.apache.isis.core.metamodel.interactions.ValidityContext;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import lombok.val;
@@ -57,7 +57,7 @@ implements MaxLengthFacet {
*/
@Override
public boolean exceeds(final ManagedObject adapter) {
- final String str = UnwrapUtil.singleAsStringOrElse(adapter, null);
+ final String str = MmUnwrapUtil.singleAsStringOrElse(adapter, null);
if (str == null) {
return false;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethod.java
index 3e63143811..ec071465ea 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethod.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.facets.param.autocomplete.ActionParameterAutoCompleteFacetAbstract;
import org.apache.isis.core.metamodel.facets.param.autocomplete.MinLengthUtil;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
import org.apache.isis.core.metamodel.object.ManagedObjects;
@@ -78,9 +79,9 @@ implements ImperativeFacet {
val method = methods.getFirstOrFail();
final Object collectionOrArray = patConstructor.isPresent()
- ? ManagedObjects.InvokeUtil.invokeWithPAT(
+ ? MmInvokeUtil.invokeWithPAT(
patConstructor.get(), method, owningAdapter, pendingArgs, Collections.singletonList(searchArg))
- : ManagedObjects.InvokeUtil.invokeAutofit(
+ : MmInvokeUtil.invokeAutofit(
method, owningAdapter, pendingArgs, Collections.singletonList(searchArg));
if (collectionOrArray == null) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java
index c1c589a359..9d3fcc4204 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java
@@ -29,6 +29,7 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.facets.param.choices.ActionParameterChoicesFacetAbstract;
import org.apache.isis.core.metamodel.interactions.managed.ActionInteractionHead;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
import org.apache.isis.core.metamodel.object.ManagedObjects;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -71,8 +72,8 @@ implements ImperativeFacet {
val method = methods.getFirstOrFail();
final Object collectionOrArray = patConstructor.isPresent()
- ? ManagedObjects.InvokeUtil.invokeWithPAT(patConstructor.get(), method, head.getTarget(), pendingArgs)
- : ManagedObjects.InvokeUtil.invokeAutofit(method, head.getTarget(), pendingArgs);
+ ? MmInvokeUtil.invokeWithPAT(patConstructor.get(), method, head.getTarget(), pendingArgs)
+ : MmInvokeUtil.invokeAutofit(method, head.getTarget(), pendingArgs);
if (collectionOrArray == null) {
return Can.empty();
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethod.java
index fb5ebb38f7..fd46c0c223 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethod.java
@@ -29,8 +29,8 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.facets.param.defaults.ActionParameterDefaultsFacetAbstract;
import org.apache.isis.core.metamodel.interactions.managed.ParameterNegotiationModel;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
import lombok.Getter;
import lombok.NonNull;
@@ -78,11 +78,11 @@ implements ImperativeFacet {
val defaultValue = patConstructor.isPresent()
// PAT programming model
- ? ManagedObjects.InvokeUtil
+ ? MmInvokeUtil
.invokeWithPAT(patConstructor.get(), method,
pendingArgs.getActionTarget(), pendingArgs.getParamValues())
// else support legacy programming model, call any-arg defaultNAct(...)
- : ManagedObjects.InvokeUtil
+ : MmInvokeUtil
.invokeAutofit(method,
pendingArgs.getActionTarget(), pendingArgs.getParamValues());
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethod.java
index 4e2a04182b..921cd782cc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethod.java
@@ -29,8 +29,8 @@ import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.facets.param.disable.ActionParameterDisabledFacetAbstract;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
import lombok.Getter;
import lombok.NonNull;
@@ -67,8 +67,8 @@ implements ImperativeFacet {
val method = methods.getFirstOrFail();
final Object returnValue = patConstructor.isPresent()
- ? ManagedObjects.InvokeUtil.invokeWithPAT(patConstructor.get(), method, owningAdapter, pendingArgs)
- : ManagedObjects.InvokeUtil.invokeAutofit(method, owningAdapter, pendingArgs);
+ ? MmInvokeUtil.invokeWithPAT(patConstructor.get(), method, owningAdapter, pendingArgs)
+ : MmInvokeUtil.invokeAutofit(method, owningAdapter, pendingArgs);
if(returnValue instanceof String) {
return (String) returnValue;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethod.java
index 8040c3ee92..5b6c8b28ec 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethod.java
@@ -28,8 +28,8 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.facets.param.hide.ActionParameterHiddenFacetAbstract;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
import lombok.Getter;
import lombok.NonNull;
@@ -64,8 +64,8 @@ implements ImperativeFacet {
val method = methods.getFirstOrFail();
final Object returnValue = patConstructor.isPresent()
- ? ManagedObjects.InvokeUtil.invokeWithPAT(patConstructor.get(), method, owningAdapter, argumentAdapters)
- : ManagedObjects.InvokeUtil.invokeAutofit(method, owningAdapter, argumentAdapters);
+ ? MmInvokeUtil.invokeWithPAT(patConstructor.get(), method, owningAdapter, argumentAdapters)
+ : MmInvokeUtil.invokeAutofit(method, owningAdapter, argumentAdapters);
if(returnValue instanceof Boolean) {
return (Boolean) returnValue;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethod.java
index 28ccaf2879..06c55bb4cb 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethod.java
@@ -29,8 +29,8 @@ import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.facets.param.validate.ActionParameterValidationFacetAbstract;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
import lombok.Getter;
import lombok.NonNull;
@@ -68,8 +68,8 @@ implements ImperativeFacet {
val method = methods.getFirstOrFail();
final Object returnValue = patConstructor.isPresent()
- ? ManagedObjects.InvokeUtil.invokeWithPAT(patConstructor.get(), method, owningAdapter, pendingArgs)
- : ManagedObjects.InvokeUtil.invoke(method, owningAdapter, proposedArgument);
+ ? MmInvokeUtil.invokeWithPAT(patConstructor.get(), method, owningAdapter, pendingArgs)
+ : MmInvokeUtil.invoke(method, owningAdapter, proposedArgument);
if(returnValue instanceof String) {
return (String) returnValue;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/accessor/PropertyAccessorFacetViaAccessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/accessor/PropertyAccessorFacetViaAccessor.java
index d9a8cb3c76..4799de9fea 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/accessor/PropertyAccessorFacetViaAccessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/accessor/PropertyAccessorFacetViaAccessor.java
@@ -26,8 +26,9 @@ import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacetAbstract;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
+import org.apache.isis.core.metamodel.object.MmVisibilityUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import lombok.Getter;
@@ -60,7 +61,7 @@ implements ImperativeFacet {
final ManagedObject owningAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
val method = methods.getFirstOrFail();
- final Object referencedObject = ManagedObjects.InvokeUtil.invoke(method, owningAdapter);
+ final Object referencedObject = MmInvokeUtil.invoke(method, owningAdapter);
if(referencedObject == null) {
return null;
@@ -69,7 +70,7 @@ implements ImperativeFacet {
boolean filterForVisibility = super.getMetaModelContext().getConfiguration().getCore().getMetaModel().isFilterVisibility();
if(filterForVisibility) {
final ManagedObject referencedAdapter = getObjectManager().adapt(referencedObject);
- final boolean visible = ManagedObjects.VisibilityUtil
+ final boolean visible = MmVisibilityUtil
.isVisible(referencedAdapter, interactionInitiatedBy);
if (!visible) {
return null;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/autocomplete/method/PropertyAutoCompleteFacetMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/autocomplete/method/PropertyAutoCompleteFacetMethod.java
index 9ae4b03de8..e3e0e7325d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/autocomplete/method/PropertyAutoCompleteFacetMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/autocomplete/method/PropertyAutoCompleteFacetMethod.java
@@ -27,8 +27,9 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.facets.param.autocomplete.MinLengthUtil;
import org.apache.isis.core.metamodel.facets.properties.autocomplete.PropertyAutoCompleteFacetAbstract;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
+import org.apache.isis.core.metamodel.object.MmVisibilityUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
import lombok.Getter;
import lombok.NonNull;
@@ -69,14 +70,14 @@ implements ImperativeFacet {
final InteractionInitiatedBy interactionInitiatedBy) {
val method = methods.getFirstOrFail();
- final Object collectionOrArray = ManagedObjects.InvokeUtil.invoke(method, owningAdapter, searchArg);
+ final Object collectionOrArray = MmInvokeUtil.invoke(method, owningAdapter, searchArg);
if (collectionOrArray == null) {
return null;
}
val collectionAdapter = getObjectManager().adapt(collectionOrArray);
- val visiblePojos = ManagedObjects.VisibilityUtil
+ val visiblePojos = MmVisibilityUtil
.visiblePojosAsArray(collectionAdapter, interactionInitiatedBy);
return visiblePojos;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java
index 04c6b1f882..5ac52bb04e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java
@@ -27,6 +27,7 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.FacetedMethod;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.facets.properties.choices.PropertyChoicesFacetAbstract;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
import org.apache.isis.core.metamodel.object.ManagedObjects;
@@ -63,7 +64,7 @@ implements ImperativeFacet {
val method = methods.getFirstOrFail();
val elementSpec = specForTypeElseFail(((FacetedMethod) getFacetHolder()).getType());
- val optionPojos = ManagedObjects.InvokeUtil.invoke(method, owningAdapter);
+ val optionPojos = MmInvokeUtil.invoke(method, owningAdapter);
val visibleChoices = ManagedObjects
.adaptMultipleOfTypeThenRefetchThenFilterByVisibility(
elementSpec, optionPojos, interactionInitiatedBy);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/defaults/method/PropertyDefaultFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/defaults/method/PropertyDefaultFacetViaMethod.java
index 634c33aee3..9a8096ffdf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/defaults/method/PropertyDefaultFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/defaults/method/PropertyDefaultFacetViaMethod.java
@@ -26,8 +26,8 @@ import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.facets.properties.defaults.PropertyDefaultFacetAbstract;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
import lombok.Getter;
import lombok.NonNull;
@@ -54,7 +54,7 @@ implements ImperativeFacet {
@Override
public ManagedObject getDefault(final ManagedObject owningAdapter) {
val method = methods.getFirstOrFail();
- final Object result = ManagedObjects.InvokeUtil.invoke(method, owningAdapter);
+ final Object result = MmInvokeUtil.invoke(method, owningAdapter);
if (result == null) {
return null;
}
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 172332d366..b2ceca7743 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
@@ -37,7 +37,7 @@ import org.apache.isis.core.metamodel.facets.properties.update.modify.PropertySe
import org.apache.isis.core.metamodel.facets.properties.update.modify.PropertySettingAccessor;
import org.apache.isis.core.metamodel.interactions.InteractionHead;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.core.metamodel.services.ixn.InteractionDtoFactory;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
@@ -194,7 +194,7 @@ implements
// ... post the executing event
val oldValuePojo = getterFacet.getProperty(head.getTarget(), interactionInitiatedBy);
- val newValuePojo = UnwrapUtil.single(newValueAdapterMutatable);
+ val newValuePojo = MmUnwrapUtil.single(newValueAdapterMutatable);
val propertyDomainEvent =
domainEventHelper.postEventForProperty(
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/clear/PropertyClearFacetViaClearMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/clear/PropertyClearFacetViaClearMethod.java
index 23697fe9f7..8724f43191 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/clear/PropertyClearFacetViaClearMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/clear/PropertyClearFacetViaClearMethod.java
@@ -25,8 +25,8 @@ import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
import lombok.Getter;
@@ -55,7 +55,7 @@ implements ImperativeFacet {
final ManagedObject targetAdapter,
final InteractionInitiatedBy interactionInitiatedBy) {
val method = methods.getFirstOrFail();
- ManagedObjects.InvokeUtil.invoke(method, targetAdapter);
+ MmInvokeUtil.invoke(method, targetAdapter);
return targetAdapter;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/clear/PropertyClearFacetViaSetterMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/clear/PropertyClearFacetViaSetterMethod.java
index 36a6ec1385..27d5a8ea83 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/clear/PropertyClearFacetViaSetterMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/clear/PropertyClearFacetViaSetterMethod.java
@@ -25,8 +25,8 @@ import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
import lombok.Getter;
@@ -56,7 +56,7 @@ implements ImperativeFacet {
final InteractionInitiatedBy interactionInitiatedBy) {
val method = methods.getFirstOrFail();
- ManagedObjects.InvokeUtil.invoke(method, targetAdapter);
+ MmInvokeUtil.invoke(method, targetAdapter);
return targetAdapter;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/init/PropertyInitializationFacetViaSetterMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/init/PropertyInitializationFacetViaSetterMethod.java
index ce08d07497..e62a1100da 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/init/PropertyInitializationFacetViaSetterMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/init/PropertyInitializationFacetViaSetterMethod.java
@@ -24,8 +24,8 @@ import java.util.function.BiConsumer;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
import lombok.Getter;
import lombok.NonNull;
@@ -52,7 +52,7 @@ implements ImperativeFacet {
@Override
public void initProperty(final ManagedObject owningAdapter, final ManagedObject initialAdapter) {
val method = methods.getFirstOrFail();
- ManagedObjects.InvokeUtil.invoke(method, owningAdapter, initialAdapter);
+ MmInvokeUtil.invoke(method, owningAdapter, initialAdapter);
}
@Override
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/modify/PropertySetterFacetViaSetterMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/modify/PropertySetterFacetViaSetterMethod.java
index 6886cb42d0..d2916060a8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/modify/PropertySetterFacetViaSetterMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/modify/PropertySetterFacetViaSetterMethod.java
@@ -25,8 +25,8 @@ import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
import lombok.Getter;
@@ -57,7 +57,7 @@ implements ImperativeFacet {
final InteractionInitiatedBy interactionInitiatedBy) {
val method = methods.getFirstOrFail();
- ManagedObjects.InvokeUtil.invoke(method, targetAdapter, valueAdapter);
+ MmInvokeUtil.invoke(method, targetAdapter, valueAdapter);
return targetAdapter;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/validating/method/PropertyValidateFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/validating/method/PropertyValidateFacetViaMethod.java
index 89c41b07c2..c297842f1a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/validating/method/PropertyValidateFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/validating/method/PropertyValidateFacetViaMethod.java
@@ -27,8 +27,8 @@ import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.facets.properties.validating.PropertyValidateFacetAbstract;
+import org.apache.isis.core.metamodel.object.MmInvokeUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
public class PropertyValidateFacetViaMethod extends PropertyValidateFacetAbstract implements ImperativeFacet {
@@ -59,7 +59,7 @@ public class PropertyValidateFacetViaMethod extends PropertyValidateFacetAbstrac
@Override
public String invalidReason(final ManagedObject owningAdapter, final ManagedObject proposedAdapter) {
- final Object returnValue = ManagedObjects.InvokeUtil.invoke(method, owningAdapter, proposedAdapter);
+ final Object returnValue = MmInvokeUtil.invoke(method, owningAdapter, proposedAdapter);
if(returnValue instanceof String) {
return (String) returnValue;
}
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 32f836ed4d..20b4cc71e5 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
@@ -26,7 +26,7 @@ import org.apache.isis.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.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import lombok.Getter;
@@ -65,9 +65,9 @@ implements ActionInteractionContext {
@Override
public ActionArgumentUsabilityEvent createInteractionEvent() {
return new ActionArgumentUsabilityEvent(
- UnwrapUtil.single(getTarget()),
+ MmUnwrapUtil.single(getTarget()),
getIdentifier(),
- UnwrapUtil.multipleAsArray(getArgs().toList()),
+ MmUnwrapUtil.multipleAsArray(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 a96eef4819..b923591d31 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
@@ -24,7 +24,7 @@ import org.apache.isis.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.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import lombok.Getter;
@@ -64,9 +64,9 @@ implements ProposedHolder, ActionInteractionContext {
@Override
public ActionArgumentEvent createInteractionEvent() {
return new ActionArgumentEvent(
- UnwrapUtil.single(getTarget()),
+ MmUnwrapUtil.single(getTarget()),
getIdentifier(),
- UnwrapUtil.multipleAsArray(getArgs().toList()),
+ MmUnwrapUtil.multipleAsArray(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 87f93dd005..9cf0ed2e4d 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
@@ -26,7 +26,7 @@ import org.apache.isis.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.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import lombok.Getter;
@@ -65,9 +65,9 @@ implements ActionInteractionContext {
@Override
public ActionArgumentVisibilityEvent createInteractionEvent() {
return new ActionArgumentVisibilityEvent(
- UnwrapUtil.single(getTarget()),
+ MmUnwrapUtil.single(getTarget()),
getIdentifier(),
- UnwrapUtil.multipleAsArray(getArgs().toList()),
+ MmUnwrapUtil.multipleAsArray(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 457ac488a7..0cfdacf63e 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
@@ -23,7 +23,7 @@ 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.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
/**
@@ -53,7 +53,7 @@ implements ActionInteractionContext {
@Override
public ActionUsabilityEvent createInteractionEvent() {
- return new ActionUsabilityEvent(UnwrapUtil.single(getTarget()), getIdentifier());
+ return new ActionUsabilityEvent(MmUnwrapUtil.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 770577204c..2de91116d1 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
@@ -24,7 +24,7 @@ import org.apache.isis.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.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import lombok.Getter;
@@ -59,7 +59,7 @@ implements ActionInteractionContext {
@Override
public ActionInvocationEvent createInteractionEvent() {
return new ActionInvocationEvent(
- UnwrapUtil.single(getTarget()), getIdentifier(), UnwrapUtil.multipleAsArray(getArgs().toList()));
+ MmUnwrapUtil.single(getTarget()), getIdentifier(), MmUnwrapUtil.multipleAsArray(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 f4a9e9ec9b..6cd967fdad 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
@@ -23,7 +23,7 @@ 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.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
/**
@@ -53,7 +53,7 @@ implements ActionInteractionContext {
@Override
public ActionVisibilityEvent createInteractionEvent() {
- return new ActionVisibilityEvent(UnwrapUtil.single(getTarget()), getIdentifier());
+ return new ActionVisibilityEvent(MmUnwrapUtil.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 cebd343229..ed86c1245a 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
@@ -22,7 +22,7 @@ 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.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -39,7 +39,7 @@ public class CollectionAccessContext extends AccessContext {
@Override
public CollectionAccessEvent createInteractionEvent() {
- return new CollectionAccessEvent(UnwrapUtil.single(getTarget()), getIdentifier());
+ return new CollectionAccessEvent(MmUnwrapUtil.single(getTarget()), getIdentifier());
}
}
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 5efd8b4308..f7336cf23b 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
@@ -23,7 +23,7 @@ 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.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -42,7 +42,7 @@ extends VisibilityContext {
@Override
public CollectionVisibilityEvent createInteractionEvent() {
- return new CollectionVisibilityEvent(UnwrapUtil.single(getTarget()), getIdentifier());
+ return new CollectionVisibilityEvent(MmUnwrapUtil.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 e0879b002c..a63973abd2 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
@@ -23,7 +23,7 @@ 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.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -47,7 +47,7 @@ extends AccessContext {
@Override
public ObjectTitleEvent createInteractionEvent() {
- return new ObjectTitleEvent(UnwrapUtil.single(getTarget()), getIdentifier(), getTitle());
+ return new ObjectTitleEvent(MmUnwrapUtil.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 bb2c8588b1..76aefbe989 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
@@ -23,7 +23,7 @@ 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.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -47,7 +47,7 @@ implements ProposedHolder {
@Override
public ObjectValidityEvent createInteractionEvent() {
- return new ObjectValidityEvent(UnwrapUtil.single(getTarget()), getIdentifier());
+ return new ObjectValidityEvent(MmUnwrapUtil.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 f737f164bf..49f2189cc9 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
@@ -24,7 +24,7 @@ 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.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -47,7 +47,7 @@ implements ProposedHolder {
@Override
public ObjectVisibilityEvent createInteractionEvent() {
- return new ObjectVisibilityEvent(UnwrapUtil.single(getTarget()), getIdentifier());
+ return new ObjectVisibilityEvent(MmUnwrapUtil.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 5f18676aee..dc74965b60 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
@@ -23,7 +23,7 @@ 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.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -52,8 +52,8 @@ implements ProposedHolder {
@Override
public ParseValueEvent createInteractionEvent() {
- final String proposedPojo = (String) UnwrapUtil.single(getProposed());
- return new ParseValueEvent(UnwrapUtil.single(getTarget()), getIdentifier(), proposedPojo);
+ final String proposedPojo = (String) MmUnwrapUtil.single(getProposed());
+ return new ParseValueEvent(MmUnwrapUtil.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 eb836726ee..d07b937d88 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
@@ -23,7 +23,7 @@ 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.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -54,9 +54,9 @@ extends AccessContext {
@Override
public PropertyAccessEvent createInteractionEvent() {
return new PropertyAccessEvent(
- UnwrapUtil.single(getTarget()),
+ MmUnwrapUtil.single(getTarget()),
getIdentifier(),
- UnwrapUtil.single(getValue()));
+ MmUnwrapUtil.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 09babf2f76..32814a18ee 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
@@ -25,7 +25,7 @@ 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.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -62,9 +62,9 @@ implements ProposedHolder {
@Override
public PropertyModifyEvent createInteractionEvent() {
return new PropertyModifyEvent(
- UnwrapUtil.single(getTarget()),
+ MmUnwrapUtil.single(getTarget()),
getIdentifier(),
- UnwrapUtil.single(getProposed()));
+ MmUnwrapUtil.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 b954e01f30..9ec396da21 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
@@ -23,7 +23,7 @@ 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.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -42,7 +42,7 @@ extends UsabilityContext {
@Override
public PropertyUsabilityEvent createInteractionEvent() {
- return new PropertyUsabilityEvent(UnwrapUtil.single(getTarget()), getIdentifier());
+ return new PropertyUsabilityEvent(MmUnwrapUtil.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 7075db0493..22b668fd79 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
@@ -23,7 +23,7 @@ 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.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -41,7 +41,7 @@ public class PropertyVisibilityContext extends VisibilityContext {
@Override
public PropertyVisibilityEvent createInteractionEvent() {
- return new PropertyVisibilityEvent(UnwrapUtil.single(getTarget()), getIdentifier());
+ return new PropertyVisibilityEvent(MmUnwrapUtil.single(getTarget()), getIdentifier());
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/ManagedMember.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/ManagedMember.java
index bb518a3891..704ac9a6ea 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/ManagedMember.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/ManagedMember.java
@@ -25,8 +25,8 @@ import org.apache.isis.applib.annotation.Where;
import org.apache.isis.commons.internal.base._Casts;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.consent.Veto;
+import org.apache.isis.core.metamodel.object.MmEntityUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.EntityUtil;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
@@ -61,7 +61,7 @@ implements ManagedFeature {
public ManagedObject getOwner() {
//XXX this is a safeguard
// see also org.apache.isis.core.metamodel.interactions.managed.ManagedProperty.ManagedProperty(ManagedObject, OneToOneAssociation, Where)
- EntityUtil.refetch(owner);
+ MmEntityUtil.refetch(owner);
return owner;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/ParameterNegotiationModel.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/ParameterNegotiationModel.java
index 3b739ad723..a9d8662b9b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/ParameterNegotiationModel.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/ParameterNegotiationModel.java
@@ -37,9 +37,9 @@ import org.apache.isis.core.metamodel.consent.Consent;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.consent.InteractionResult;
import org.apache.isis.core.metamodel.interactions.managed._BindingUtil.TargetFormat;
+import org.apache.isis.core.metamodel.object.MmEntityUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
import org.apache.isis.core.metamodel.object.ManagedObjects;
-import org.apache.isis.core.metamodel.object.ManagedObjects.EntityUtil;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
@@ -277,7 +277,7 @@ public class ParameterNegotiationModel {
this.negotiationModel = negotiationModel;
bindableParamValue = _Bindables.forValue(initialValue);
- bindableParamValue.setValueRefiner(EntityUtil::refetch);
+ bindableParamValue.setValueRefiner(MmEntityUtil::refetch);
bindableParamValue.setValueGuard(ManagedObjects.assertInstanceOf(metaModel.getElementType()));
bindableParamValue.addListener((e,o,n)->{
if(n==null) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/PropertyNegotiationModel.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/PropertyNegotiationModel.java
index 2e5b7786f9..97afc730a4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/PropertyNegotiationModel.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/PropertyNegotiationModel.java
@@ -30,9 +30,9 @@ import org.apache.isis.commons.internal.debug._Debug;
import org.apache.isis.commons.internal.debug.xray.XrayUi;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.interactions.managed._BindingUtil.TargetFormat;
+import org.apache.isis.core.metamodel.object.MmEntityUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
import org.apache.isis.core.metamodel.object.ManagedObjects;
-import org.apache.isis.core.metamodel.object.ManagedObjects.EntityUtil;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import lombok.NonNull;
@@ -68,7 +68,7 @@ public class PropertyNegotiationModel implements ManagedValue {
: currentValue;
proposedValue = _Bindables.forValue(defaultValue);
- proposedValue.setValueRefiner(EntityUtil::refetch);
+ proposedValue.setValueRefiner(MmEntityUtil::refetch);
proposedValue.setValueGuard(ManagedObjects.assertInstanceOf(propMeta.getElementType()));
proposedValue.addListener((e,o,n)->{
invalidateChoicesAndValidation();
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/_BindingUtil.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/_BindingUtil.java
index da5e4d830c..fa000790b7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/_BindingUtil.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/_BindingUtil.java
@@ -28,7 +28,7 @@ import org.apache.isis.commons.internal.binding._Bindables;
import org.apache.isis.commons.internal.exceptions._Exceptions;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
@@ -153,7 +153,7 @@ class _BindingUtil {
case TITLE: {
val renderer = eitherRendererOrParser.left().orElseThrow();
return bindableValue.map(value->{
- val pojo = ManagedObjects.UnwrapUtil.single(value);
+ val pojo = MmUnwrapUtil.single(value);
val title = renderer.titlePresentation(context, pojo);
return title;
});
@@ -161,7 +161,7 @@ class _BindingUtil {
case HTML: {
val renderer = eitherRendererOrParser.left().orElseThrow();
return bindableValue.map(value->{
- val pojo = ManagedObjects.UnwrapUtil.single(value);
+ val pojo = MmUnwrapUtil.single(value);
val html = renderer.htmlPresentation(context, pojo);
return html;
});
@@ -170,7 +170,7 @@ class _BindingUtil {
val parser = eitherRendererOrParser.right().orElseThrow();
return bindableValue.mapToBindable(
value->{
- val pojo = ManagedObjects.UnwrapUtil.single(value);
+ val pojo = MmUnwrapUtil.single(value);
val text = parser.parseableTextRepresentation(context, pojo);
//System.err.printf("toText: %s -> '%s'%n", ""+value, text);
return text;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/nonscalar/DataRow.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/nonscalar/DataRow.java
index d26eec5fc6..d3e729fc33 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/nonscalar/DataRow.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/nonscalar/DataRow.java
@@ -22,8 +22,8 @@ import java.util.UUID;
import org.apache.isis.commons.internal.binding._Bindables;
import org.apache.isis.commons.internal.binding._Bindables.BooleanBindable;
+import org.apache.isis.core.metamodel.object.MmEntityUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.EntityUtil;
import lombok.Getter;
@@ -54,7 +54,7 @@ public class DataRow {
}
public ManagedObject getRowElement() {
- return EntityUtil.refetch(rowElement);
+ return MmEntityUtil.refetch(rowElement);
}
public ManagedObject getCellElement(final DataColumn column) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/ManagedObject.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/ManagedObject.java
index ed7e9a26cf..f8f034039b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/ManagedObject.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/ManagedObject.java
@@ -25,7 +25,6 @@ import java.util.function.UnaryOperator;
import org.springframework.lang.Nullable;
import org.apache.isis.applib.services.bookmark.Bookmark;
-import org.apache.isis.applib.value.semantics.Renderer;
import org.apache.isis.commons.internal.assertions._Assert;
import org.apache.isis.commons.internal.collections._Collections;
import org.apache.isis.commons.internal.exceptions._Exceptions;
@@ -91,31 +90,13 @@ public interface ManagedObject extends HasMetaModelContext {
public default String htmlString(
final @Nullable ObjectFeature feature) {
-
- if(!ManagedObjects.isSpecified(this)) {
- return "";
- }
-
- val spec = getSpecification();
- val valueFacet = spec.valueFacet().orElse(null);
-
- if(valueFacet==null) {
- return String.format("missing ValueFacet %s", spec.getCorrespondingClass());
- }
-
- @SuppressWarnings("unchecked")
- val renderer = (Renderer<Object>) valueFacet.selectRendererForFeature(feature).orElse(null);
- if(renderer==null) {
- return String.format("missing Renderer %s", spec.getCorrespondingClass());
- }
-
- return renderer.htmlPresentation(valueFacet.createValueSemanticsContext(feature), this.getPojo());
+ return _InternalTitleUtil.htmlString(this, feature);
}
// -- TITLE
public default String titleString(final UnaryOperator<TitleRenderRequest.TitleRenderRequestBuilder> onBuilder) {
- return ManagedObjects.TitleUtil
+ return _InternalTitleUtil
.titleString(onBuilder.apply(
TitleRenderRequest.builder()
.object(this))
@@ -123,7 +104,7 @@ public interface ManagedObject extends HasMetaModelContext {
}
public default String titleString() {
- return ManagedObjects.TitleUtil.titleString(
+ return _InternalTitleUtil.titleString(
TitleRenderRequest.builder()
.object(this)
.build());
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/ManagedObjects.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/ManagedObjects.java
index d98f698b5a..3667e0013b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/ManagedObjects.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/ManagedObjects.java
@@ -18,51 +18,26 @@
*/
package org.apache.isis.core.metamodel.object;
-import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
-import java.util.Collection;
-import java.util.Collections;
import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
import java.util.Objects;
import java.util.Optional;
-import java.util.Set;
-import java.util.function.Predicate;
import java.util.function.Supplier;
import java.util.function.UnaryOperator;
-import java.util.stream.Stream;
import org.springframework.lang.Nullable;
import org.springframework.util.ClassUtils;
-import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.i18n.TranslatableString;
import org.apache.isis.applib.services.i18n.TranslationContext;
-import org.apache.isis.applib.services.repository.EntityState;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.commons.functional.Try;
-import org.apache.isis.commons.internal.assertions._Assert;
-import org.apache.isis.commons.internal.base._Casts;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.commons.internal.base._Objects;
-import org.apache.isis.commons.internal.collections._Arrays;
-import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.commons.internal.collections._Sets;
import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.core.config.beans.PersistenceStack;
-import org.apache.isis.core.metamodel.commons.CanonicalInvoker;
import org.apache.isis.core.metamodel.commons.ClassExtensions;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
-import org.apache.isis.core.metamodel.facets.collections.CollectionFacet;
-import org.apache.isis.core.metamodel.facets.object.entity.EntityFacet;
-import org.apache.isis.core.metamodel.facets.object.title.TitleRenderRequest;
-import org.apache.isis.core.metamodel.interactions.InteractionHead;
-import org.apache.isis.core.metamodel.interactions.InteractionUtils;
-import org.apache.isis.core.metamodel.interactions.ObjectVisibilityContext;
-import org.apache.isis.core.metamodel.interactions.VisibilityContext;
-import org.apache.isis.core.metamodel.objectmanager.load.ObjectLoader;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
@@ -301,8 +276,8 @@ public final class ManagedObjects {
@SuppressWarnings({"rawtypes" })
@Override
public int compare(final @Nullable ManagedObject a, final @Nullable ManagedObject b) {
- val aPojo = UnwrapUtil.single(a);
- val bPojo = UnwrapUtil.single(b);
+ val aPojo = MmUnwrapUtil.single(a);
+ val bPojo = MmUnwrapUtil.single(b);
if(Objects.equals(aPojo, bPojo)) {
return 0;
}
@@ -444,8 +419,8 @@ public final class ManagedObjects {
return _NullSafe.streamAutodetect(collectionOrArray)
.map(pojo->ManagedObject.of(elementSpec, pojo)) // pojo is nullable here
- .peek(ManagedObjects.EntityUtil::refetch)
- .filter(ManagedObjects.VisibilityUtil.filterOn(interactionInitiatedBy))
+ .peek(MmEntityUtil::refetch)
+ .filter(MmVisibilityUtil.filterOn(interactionInitiatedBy))
.collect(Can.toCan());
}
@@ -481,7 +456,7 @@ public final class ManagedObjects {
val mmc = object.getSpecification().getMetaModelContext();
val result = Try.call(()->{
- final Object returnValue = ManagedObjects.InvokeUtil.invoke(method, object);
+ final Object returnValue = MmInvokeUtil.invoke(method, object);
if(returnValue instanceof String) {
return (String) returnValue;
}
@@ -535,613 +510,5 @@ public final class ManagedObjects {
// -- TITLE UTILITIES
- @UtilityClass
- static final class TitleUtil {
-
- // -- TITLE SUPPORT
-
- String titleString(@NonNull final TitleRenderRequest titleRenderRequest) {
-
- val managedObject = titleRenderRequest.getObject();
-
- if(!ManagedObjects.isSpecified(managedObject)) {
- return "unspecified object";
- }
-
- return managedObject.getSpecification().isNonScalar()
- ? collectionTitleString(
- managedObject,
- managedObject.getSpecification().getFacet(CollectionFacet.class))
- : objectTitleString(titleRenderRequest)
- .trim();
- }
-
- // -- HELPER
-
- private String objectTitleString(@NonNull final TitleRenderRequest titleRenderRequest) {
- val managedObject = titleRenderRequest.getObject();
- if (managedObject.getPojo() instanceof String) {
- return (String) managedObject.getPojo();
- }
- val spec = managedObject.getSpecification();
- return Optional.ofNullable(spec.getTitle(titleRenderRequest))
- .orElseGet(()->getDefaultTitle(managedObject));
- }
-
- private String collectionTitleString(final ManagedObject managedObject, final CollectionFacet facet) {
- final int size = facet.size(managedObject);
- val elementSpec = managedObject.getElementSpecification().orElse(null);
- if (elementSpec == null
- || elementSpec.getFullIdentifier().equals(Object.class.getName())) {
- switch (size) {
- case -1:
- return "Objects";
- case 0:
- return "No objects";
- case 1:
- return "1 object";
- default:
- return size + " objects";
- }
- } else {
- switch (size) {
- case -1:
- return elementSpec.getPluralName();
- case 0:
- return "No " + elementSpec.getPluralName();
- case 1:
- return "1 " + elementSpec.getSingularName();
- default:
- return size + " " + elementSpec.getPluralName();
- }
- }
- }
-
- private String getDefaultTitle(final ManagedObject managedObject) {
- return "A" + (" " + managedObject.getSpecification().getSingularName()).toLowerCase();
- }
- }
-
- // -- ENTITY UTILITIES
-
- @UtilityClass
- public static final class EntityUtil {
-
- @NonNull
- public static Optional<PersistenceStack> getPersistenceStandard(final @Nullable ManagedObject adapter) {
- if(adapter==null) {
- return Optional.empty();
- }
- val spec = adapter.getSpecification();
- if(spec==null || !spec.isEntity()) {
- return Optional.empty();
- }
-
- val entityFacet = spec.getFacet(EntityFacet.class);
- if(entityFacet==null) {
- return Optional.empty();
- }
-
- return Optional.of(entityFacet.getPersistenceStack());
- }
-
- @NonNull
- public static EntityState getEntityState(final @Nullable ManagedObject adapter) {
- if(isNullOrUnspecifiedOrEmpty(adapter)) {
- return EntityState.NOT_PERSISTABLE;
- }
- val spec = adapter.getSpecification();
- val pojo = adapter.getPojo();
-
- if(!spec.isEntity()) {
- return EntityState.NOT_PERSISTABLE;
- }
-
- val entityFacet = spec.getFacet(EntityFacet.class);
- if(entityFacet==null) {
- throw _Exceptions.unrecoverable("Entity types must have an EntityFacet");
- }
-
- return entityFacet.getEntityState(pojo);
- }
-
- public static void persistInCurrentTransaction(final ManagedObject managedObject) {
- requiresEntity(managedObject);
- val spec = managedObject.getSpecification();
- val entityFacet = spec.getFacet(EntityFacet.class);
- entityFacet.persist(managedObject.getPojo());
- }
-
- public static void destroyInCurrentTransaction(final ManagedObject managedObject) {
- requiresEntity(managedObject);
- val spec = managedObject.getSpecification();
- val entityFacet = spec.getFacet(EntityFacet.class);
- entityFacet.delete(managedObject.getPojo());
- }
-
- public static void requiresEntity(final ManagedObject managedObject) {
- if(isNullOrUnspecifiedOrEmpty(managedObject)) {
- throw _Exceptions.illegalArgument("requires an entity object but got null, unspecified or empty");
- }
- val spec = managedObject.getSpecification();
- if(!spec.isEntity()) {
- throw _Exceptions.illegalArgument("not an entity type %s (sort=%s)",
- spec.getCorrespondingClass(),
- spec.getBeanSort());
- }
- }
-
- /**
- * @param managedObject
- * @return managedObject
- * @throws AssertionError if managedObject is a detached entity
- */
- @NonNull
- public static ManagedObject requiresAttached(final @NonNull ManagedObject managedObject) {
- if(managedObject instanceof PackedManagedObject) {
- ((PackedManagedObject)managedObject).unpack().forEach(EntityUtil::requiresAttached);
- return managedObject;
- }
- val entityState = EntityUtil.getEntityState(managedObject);
- if(entityState.isPersistable()) {
- // ensure we have an attached entity
- _Assert.assertEquals(
- EntityState.PERSISTABLE_ATTACHED,
- entityState,
- ()-> String.format("entity %s is required to be attached (not detached)",
- managedObject.getSpecification().getLogicalTypeName()));
- }
- return managedObject;
- }
-
- public static ManagedObject refetch(final @Nullable ManagedObject managedObject) {
- if(isNullOrUnspecifiedOrEmpty(managedObject)) {
- return managedObject;
- }
- if(managedObject instanceof PackedManagedObject) {
- ((PackedManagedObject)managedObject).unpack().forEach(EntityUtil::refetch);
- return managedObject;
- }
- val entityState = EntityUtil.getEntityState(managedObject);
- if(!entityState.isPersistable()) {
- return managedObject;
- }
- if(!entityState.isDetached()) {
- return managedObject;
- }
-
- val spec = managedObject.getSpecification();
- val objectManager = managedObject.getObjectManager();
-
- val reattached = bookmark(managedObject)
- .map(bookmark->
- ObjectLoader.Request.of(
- spec,
- bookmark))
- .map(loadRequest->Try.call(
- ()->objectManager.loadObject(loadRequest)))
- .map(loadResult->
- // a valid scenario for entities: not found eg. after deletion,
- // which will fail the load request
- loadResult.isFailure()
- ? ManagedObject.empty(managedObject.getSpecification())
- : loadResult.getValue().get()
- )
- .orElse(managedObject);
-
- // handles deleted entities
- if(isNullOrUnspecifiedOrEmpty(reattached)) {
- // returns the 'emptied' ManagedObject from above
- return reattached;
- }
-
- val newState = EntityUtil.getEntityState(reattached);
- _Assert.assertTrue(newState.isAttached());
-
- _Casts.castTo(_ManagedObjectWithBookmark.class, managedObject)
- .ifPresent(obj->obj.replacePojo(old->reattached.getPojo()));
-
- return managedObject;
- }
-
- public static void requiresWhenFirstIsBookmarkableSecondIsAttached(
- final ManagedObject first,
- final ManagedObject second) {
-
- if(!ManagedObjects.isIdentifiable(first) || !ManagedObjects.isSpecified(second)) {
- return;
- }
- val secondSpec = second.getSpecification();
- if(secondSpec.isParented() || !secondSpec.isEntity()) {
- return;
- }
-
- if(!EntityUtil.isAttached(second)) {
- throw _Exceptions.illegalArgument(
- "can't set a reference to a transient object [%s] from a persistent one [%s]",
- second,
- first.titleString());
- }
- }
-
- // -- SHORTCUTS
-
- public static boolean isAttached(final @Nullable ManagedObject adapter) {
- return EntityUtil.getEntityState(adapter).isAttached();
- }
-
- public static boolean isDetachedOrRemoved(final @Nullable ManagedObject adapter) {
- return EntityUtil.getEntityState(adapter).isDetachedOrRemoved();
- }
-
- /** only supported by JDO - always false with JPA */
- public static boolean isRemoved(final @Nullable ManagedObject adapter) {
- return EntityUtil.getEntityState(adapter).isRemoved();
- }
-
- public static ManagedObject assertAttachedWhenEntity(final @Nullable ManagedObject adapter) {
- if(adapter instanceof PackedManagedObject) {
- for(val element : ((PackedManagedObject)adapter).unpack()) {
- assertAttachedWhenEntity(element);
- }
- }
- val state = EntityUtil.getEntityState(adapter);
- if(state.isPersistable()) {
- _Assert.assertEquals(EntityState.PERSISTABLE_ATTACHED, state,
- ()->String.format("detached entity %s", adapter));
- }
- return adapter;
- }
-
- public static ManagedObject computeIfDetached(
- final @Nullable ManagedObject adapter,
- final UnaryOperator<ManagedObject> onDetachedEntity) {
- val state = EntityUtil.getEntityState(adapter);
- if(state.isPersistable()
- &&!state.isAttached()) {
- return onDetachedEntity.apply(adapter);
- }
- return adapter;
- }
-
- }
-
- // -- VISIBILITY UTIL
-
- @UtilityClass
- public static final class VisibilityUtil {
-
- public static Predicate<? super ManagedObject> filterOn(final InteractionInitiatedBy interactionInitiatedBy) {
- return $->ManagedObjects.VisibilityUtil.isVisible($, interactionInitiatedBy);
- }
-
- /**
- * Filters a collection (an adapter around either a Collection or an Object[]) and returns a stream of
- * {@link ManagedObject}s of those that are visible (as per any facet(s) installed on the element class
- * of the collection).
- * @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 Stream<ManagedObject> streamVisibleAdapters(
- final ManagedObject collectionAdapter,
- final InteractionInitiatedBy interactionInitiatedBy) {
-
- return CollectionFacet.streamAdapters(collectionAdapter)
- .filter(VisibilityUtil.filterOn(interactionInitiatedBy));
- }
-
- private static Stream<Object> streamVisiblePojos(
- final ManagedObject collectionAdapter,
- final InteractionInitiatedBy interactionInitiatedBy) {
-
- return CollectionFacet.streamAdapters(collectionAdapter)
- .filter(VisibilityUtil.filterOn(interactionInitiatedBy))
- .map(UnwrapUtil::single);
- }
-
- public static Object[] visiblePojosAsArray(
- final ManagedObject collectionAdapter,
- final InteractionInitiatedBy interactionInitiatedBy) {
-
- return streamVisiblePojos(collectionAdapter, interactionInitiatedBy)
- .collect(_Arrays.toArray(Object.class));
- }
-
- public static Object visiblePojosAutofit(
- final ManagedObject collectionAdapter,
- final InteractionInitiatedBy interactionInitiatedBy,
- final Class<?> requiredContainerType) {
-
- val visiblePojoStream = streamVisiblePojos(collectionAdapter, interactionInitiatedBy);
- val autofittedObjectContainer = CollectionFacet.AutofitUtils
- .collect(visiblePojoStream, requiredContainerType);
- return autofittedObjectContainer;
- }
-
-
- /**
- * @param adapter - wrapper of domain object whose visibility is being checked,
- * must not be a mixin
- * @param interactionInitiatedBy
- */
- public static boolean isVisible(
- final ManagedObject adapter,
- final InteractionInitiatedBy interactionInitiatedBy) {
-
- if(isNullOrUnspecifiedOrEmpty(adapter)) {
- // a choices list could include a null (eg example in ToDoItems#choices1Categorized()); want to show as "visible"
- return true;
- }
- val spec = adapter.getSpecification();
- if(spec.isEntity()) {
- if(EntityUtil.isDetachedOrRemoved(adapter)) {
- return false;
- }
- }
- if(interactionInitiatedBy == InteractionInitiatedBy.FRAMEWORK) {
- return true;
- }
- val visibilityContext = createVisibleInteractionContext(
- adapter,
- InteractionInitiatedBy.USER,
- Where.OBJECT_FORMS);
-
- return InteractionUtils.isVisibleResult(spec, visibilityContext)
- .isNotVetoing();
- }
-
- private static VisibilityContext createVisibleInteractionContext(
- final ManagedObject objectAdapter,
- final InteractionInitiatedBy interactionInitiatedBy,
- final Where where) {
-
- return new ObjectVisibilityContext(
- InteractionHead.regular(objectAdapter),
- objectAdapter.getSpecification().getFeatureIdentifier(),
- interactionInitiatedBy,
- where);
- }
-
- }
-
-
- // -- INVOCATION UTILITY
-
- @UtilityClass
- public static final class InvokeUtil {
-
- /** PAT ... Parameters as Tuple */
- public static Object invokeWithPAT(
- final Constructor<?> ppmConstructor,
- final Method method,
- final ManagedObject adapter,
- final Can<ManagedObject> pendingArguments,
- final List<Object> additionalArguments) {
-
- val ppmTuple = CanonicalInvoker.construct(ppmConstructor, UnwrapUtil.multipleAsArray(pendingArguments));
- val paramPojos = _Arrays.combineWithExplicitType(Object.class, ppmTuple, additionalArguments.toArray());
- return CanonicalInvoker.invoke(method, UnwrapUtil.single(adapter), paramPojos);
- }
-
- /** PAT ... Parameters as Tuple */
- public static Object invokeWithPAT(
- final Constructor<?> ppmConstructor,
- final Method method,
- final ManagedObject adapter,
- final Can<ManagedObject> argumentAdapters) {
- return invokeWithPAT(ppmConstructor, method, adapter, argumentAdapters, Collections.emptyList());
- }
-
- public static void invokeAll(final Iterable<Method> methods, final ManagedObject adapter) {
- CanonicalInvoker.invokeAll(methods, UnwrapUtil.single(adapter));
- }
-
- public static Object invoke(final Method method, final ManagedObject adapter) {
- return CanonicalInvoker.invoke(method, UnwrapUtil.single(adapter));
- }
-
- public static Object invoke(final Method method, final ManagedObject adapter, final Object arg0) {
- return CanonicalInvoker.invoke(method, UnwrapUtil.single(adapter), new Object[] {arg0});
- }
-
- public static Object invoke(final Method method, final ManagedObject adapter, final Can<ManagedObject> argumentAdapters) {
- return CanonicalInvoker.invoke(method, UnwrapUtil.single(adapter), UnwrapUtil.multipleAsArray(argumentAdapters));
- }
-
- public static Object invoke(final Method method, final ManagedObject adapter, final ManagedObject arg0Adapter) {
- return invoke(method, adapter, UnwrapUtil.single(arg0Adapter));
- }
-
- public static Object invoke(final Method method, final ManagedObject adapter, final ManagedObject[] argumentAdapters) {
- return CanonicalInvoker.invoke(method, UnwrapUtil.single(adapter), UnwrapUtil.multipleAsArray(argumentAdapters));
- }
-
- /**
- * Invokes the method, adjusting arguments as required to make them fit the method's parameters.
- * <p>
- * That is:
- * <ul>
- * <li>if the method declares parameters but arguments are missing, then will provide 'null' defaults for these.</li>
- * </ul>
- */
- public static Object invokeAutofit(final Method method, final ManagedObject adapter) {
- return invoke(method, adapter, new ManagedObject[method.getParameterTypes().length]);
- }
-
- /**
- * Invokes the method, adjusting arguments as required to make them fit the method's parameters.
- * <p>
- * That is:
- * <ul>
- * <li>if the method declares parameters but arguments are missing, then will provide 'null' defaults for these.</li>
- * <li>if the method does not declare all parameters for arguments, then truncates arguments.</li>
- * <li>any {@code additionalArgValues} must also fit at the end of the resulting parameter list</li>
- * </ul>
- */
- public static Object invokeAutofit(
- final Method method,
- final ManagedObject target,
- final Can<? extends ManagedObject> pendingArgs,
- final List<Object> additionalArgValues) {
-
- val argArray = adjust(method, pendingArgs, additionalArgValues);
-
- return CanonicalInvoker.invoke(method, UnwrapUtil.single(target), argArray);
- }
-
- /**
- * same as {@link #invokeAutofit(Method, ManagedObject, Can, List)} w/o additionalArgValues
- */
- public static Object invokeAutofit(
- final Method method,
- final ManagedObject target,
- final Can<? extends ManagedObject> pendingArgs) {
-
- return invokeAutofit(method, target, pendingArgs, Collections.emptyList());
- }
-
- private static Object[] adjust(
- final Method method,
- final Can<? extends ManagedObject> pendingArgs,
- final List<Object> additionalArgValues) {
-
- val parameterTypes = method.getParameterTypes();
- val paramCount = parameterTypes.length;
- val additionalArgCount = additionalArgValues.size();
- val pendingArgsToConsiderCount = paramCount - additionalArgCount;
-
- val argIterator = argIteratorFrom(pendingArgs);
- val adjusted = new Object[paramCount];
- for(int i=0; i<pendingArgsToConsiderCount; i++) {
-
- val paramType = parameterTypes[i];
- val arg = argIterator.hasNext() ? UnwrapUtil.single(argIterator.next()) : null;
-
- adjusted[i] = honorPrimitiveDefaults(paramType, arg);
- }
-
- // add the additional parameter values (if any)
- int paramIndex = pendingArgsToConsiderCount;
- for(val additionalArg : additionalArgValues) {
- val paramType = parameterTypes[paramIndex];
- adjusted[paramIndex] = honorPrimitiveDefaults(paramType, additionalArg);
- ++paramIndex;
- }
-
- return adjusted;
-
- }
-
- private static Iterator<? extends ManagedObject> argIteratorFrom(final Can<? extends ManagedObject> pendingArgs) {
- return pendingArgs!=null ? pendingArgs.iterator() : Collections.emptyIterator();
- }
-
- private static Object honorPrimitiveDefaults(
- final Class<?> expectedType,
- final @Nullable Object value) {
-
- if(value == null && expectedType.isPrimitive()) {
- return ClassExtensions.toDefault(expectedType);
- }
- return value;
- }
-
-
- }
-
- // -- UNWRAP UTILITY
-
- @UtilityClass
- public static final class UnwrapUtil {
-
- // -- SINGLE
-
- @Nullable
- public static Object single(final @Nullable ManagedObject adapter) {
- return ManagedObjects.isSpecified(adapter)
- ? adapter.getPojo()
- : null;
- }
-
- @Nullable
- public static String singleAsStringOrElse(final @Nullable ManagedObject adapter, final @Nullable String orElse) {
- final Object obj = UnwrapUtil.single(adapter);
- if (obj == null) {
- return null;
- }
- if (obj instanceof String) {
- return (String) obj;
- }
- return orElse;
- }
-
- // -- AS ARRAY
-
- @Nullable
- public static Object[] multipleAsArray(final @NonNull Can<ManagedObject> adapters) {
- val unwrappedObjects = _Arrays.mapCollection(adapters.toList(), UnwrapUtil::single);
- return unwrappedObjects;
- }
-
- @Nullable
- public static Object[] multipleAsArray(final @Nullable Collection<ManagedObject> adapters) {
- val unwrappedObjects = _Arrays.mapCollection(adapters, UnwrapUtil::single);
- return unwrappedObjects;
- }
-
- @Nullable
- public static Object[] multipleAsArray(final @Nullable ManagedObject[] adapters) {
- val unwrappedObjects = _Arrays.map(adapters, UnwrapUtil::single);
- return unwrappedObjects;
- }
-
- // -- AS LIST
-
- /**
- *
- * @param adapters
- * @return non-null, unmodifiable
- */
- public static List<Object> multipleAsList(final @Nullable Collection<? extends ManagedObject> adapters) {
- if (adapters == null) {
- return Collections.emptyList();
- }
- return adapters.stream()
- .map(UnwrapUtil::single)
- .collect(_Lists.toUnmodifiable());
- }
-
- /**
- *
- * @param adapters
- * @return non-null, unmodifiable
- */
- public static List<Object> multipleAsList(final @Nullable Can<? extends ManagedObject> adapters) {
- if (adapters == null) {
- return Collections.emptyList();
- }
- return adapters.stream()
- .map(UnwrapUtil::single)
- .collect(_Lists.toUnmodifiable());
- }
-
-
- /**
- *
- * @param adapters
- * @return non-null, unmodifiable
- */
- public static Set<Object> multipleAsSet(final @Nullable Collection<? extends ManagedObject> adapters) {
- if (adapters == null) {
- return Collections.emptySet();
- }
- return adapters.stream()
- .map(UnwrapUtil::single)
- .collect(_Sets.toUnmodifiable());
- }
-
- }
-
-
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/MmEntityUtil.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/MmEntityUtil.java
new file mode 100644
index 0000000000..13e2d3bf21
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/MmEntityUtil.java
@@ -0,0 +1,239 @@
+/*
+ * 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.core.metamodel.object;
+
+import java.util.Optional;
+import java.util.function.UnaryOperator;
+
+import org.springframework.lang.Nullable;
+
+import org.apache.isis.applib.services.repository.EntityState;
+import org.apache.isis.commons.functional.Try;
+import org.apache.isis.commons.internal.assertions._Assert;
+import org.apache.isis.commons.internal.base._Casts;
+import org.apache.isis.commons.internal.exceptions._Exceptions;
+import org.apache.isis.core.config.beans.PersistenceStack;
+import org.apache.isis.core.metamodel.facets.object.entity.EntityFacet;
+import org.apache.isis.core.metamodel.objectmanager.load.ObjectLoader;
+
+import lombok.NonNull;
+import lombok.val;
+import lombok.experimental.UtilityClass;
+
+@UtilityClass
+public final class MmEntityUtil {
+
+ @NonNull
+ public static Optional<PersistenceStack> getPersistenceStandard(final @Nullable ManagedObject adapter) {
+ if(adapter==null) {
+ return Optional.empty();
+ }
+ val spec = adapter.getSpecification();
+ if(spec==null || !spec.isEntity()) {
+ return Optional.empty();
+ }
+
+ val entityFacet = spec.getFacet(EntityFacet.class);
+ if(entityFacet==null) {
+ return Optional.empty();
+ }
+
+ return Optional.of(entityFacet.getPersistenceStack());
+ }
+
+ @NonNull
+ public static EntityState getEntityState(final @Nullable ManagedObject adapter) {
+ if(ManagedObjects.isNullOrUnspecifiedOrEmpty(adapter)) {
+ return EntityState.NOT_PERSISTABLE;
+ }
+ val spec = adapter.getSpecification();
+ val pojo = adapter.getPojo();
+
+ if(!spec.isEntity()) {
+ return EntityState.NOT_PERSISTABLE;
+ }
+
+ val entityFacet = spec.getFacet(EntityFacet.class);
+ if(entityFacet==null) {
+ throw _Exceptions.unrecoverable("Entity types must have an EntityFacet");
+ }
+
+ return entityFacet.getEntityState(pojo);
+ }
+
+ public static void persistInCurrentTransaction(final ManagedObject managedObject) {
+ requiresEntity(managedObject);
+ val spec = managedObject.getSpecification();
+ val entityFacet = spec.getFacet(EntityFacet.class);
+ entityFacet.persist(managedObject.getPojo());
+ }
+
+ public static void destroyInCurrentTransaction(final ManagedObject managedObject) {
+ requiresEntity(managedObject);
+ val spec = managedObject.getSpecification();
+ val entityFacet = spec.getFacet(EntityFacet.class);
+ entityFacet.delete(managedObject.getPojo());
+ }
+
+ public static void requiresEntity(final ManagedObject managedObject) {
+ if(ManagedObjects.isNullOrUnspecifiedOrEmpty(managedObject)) {
+ throw _Exceptions.illegalArgument("requires an entity object but got null, unspecified or empty");
+ }
+ val spec = managedObject.getSpecification();
+ if(!spec.isEntity()) {
+ throw _Exceptions.illegalArgument("not an entity type %s (sort=%s)",
+ spec.getCorrespondingClass(),
+ spec.getBeanSort());
+ }
+ }
+
+ /**
+ * @param managedObject
+ * @return managedObject
+ * @throws AssertionError if managedObject is a detached entity
+ */
+ @NonNull
+ public static ManagedObject requiresAttached(final @NonNull ManagedObject managedObject) {
+ if(managedObject instanceof PackedManagedObject) {
+ ((PackedManagedObject)managedObject).unpack().forEach(MmEntityUtil::requiresAttached);
+ return managedObject;
+ }
+ val entityState = MmEntityUtil.getEntityState(managedObject);
+ if(entityState.isPersistable()) {
+ // ensure we have an attached entity
+ _Assert.assertEquals(
+ EntityState.PERSISTABLE_ATTACHED,
+ entityState,
+ ()-> String.format("entity %s is required to be attached (not detached)",
+ managedObject.getSpecification().getLogicalTypeName()));
+ }
+ return managedObject;
+ }
+
+ public static ManagedObject refetch(final @Nullable ManagedObject managedObject) {
+ if(ManagedObjects.isNullOrUnspecifiedOrEmpty(managedObject)) {
+ return managedObject;
+ }
+ if(managedObject instanceof PackedManagedObject) {
+ ((PackedManagedObject)managedObject).unpack().forEach(MmEntityUtil::refetch);
+ return managedObject;
+ }
+ val entityState = MmEntityUtil.getEntityState(managedObject);
+ if(!entityState.isPersistable()) {
+ return managedObject;
+ }
+ if(!entityState.isDetached()) {
+ return managedObject;
+ }
+
+ val spec = managedObject.getSpecification();
+ val objectManager = managedObject.getObjectManager();
+
+ val reattached = ManagedObjects.bookmark(managedObject)
+ .map(bookmark->
+ ObjectLoader.Request.of(
+ spec,
+ bookmark))
+ .map(loadRequest->Try.call(
+ ()->objectManager.loadObject(loadRequest)))
+ .map(loadResult->
+ // a valid scenario for entities: not found eg. after deletion,
+ // which will fail the load request
+ loadResult.isFailure()
+ ? ManagedObject.empty(managedObject.getSpecification())
+ : loadResult.getValue().get()
+ )
+ .orElse(managedObject);
+
+ // handles deleted entities
+ if(ManagedObjects.isNullOrUnspecifiedOrEmpty(reattached)) {
+ // returns the 'emptied' ManagedObject from above
+ return reattached;
+ }
+
+ val newState = MmEntityUtil.getEntityState(reattached);
+ _Assert.assertTrue(newState.isAttached());
+
+ _Casts.castTo(_ManagedObjectWithBookmark.class, managedObject)
+ .ifPresent(obj->obj.replacePojo(old->reattached.getPojo()));
+
+ return managedObject;
+ }
+
+ public static void requiresWhenFirstIsBookmarkableSecondIsAttached(
+ final ManagedObject first,
+ final ManagedObject second) {
+
+ if(!ManagedObjects.isIdentifiable(first) || !ManagedObjects.isSpecified(second)) {
+ return;
+ }
+ val secondSpec = second.getSpecification();
+ if(secondSpec.isParented() || !secondSpec.isEntity()) {
+ return;
+ }
+
+ if(!MmEntityUtil.isAttached(second)) {
+ throw _Exceptions.illegalArgument(
+ "can't set a reference to a transient object [%s] from a persistent one [%s]",
+ second,
+ first.titleString());
+ }
+ }
+
+ // -- SHORTCUTS
+
+ public static boolean isAttached(final @Nullable ManagedObject adapter) {
+ return MmEntityUtil.getEntityState(adapter).isAttached();
+ }
+
+ public static boolean isDetachedOrRemoved(final @Nullable ManagedObject adapter) {
+ return MmEntityUtil.getEntityState(adapter).isDetachedOrRemoved();
+ }
+
+ /** only supported by JDO - always false with JPA */
+ public static boolean isRemoved(final @Nullable ManagedObject adapter) {
+ return MmEntityUtil.getEntityState(adapter).isRemoved();
+ }
+
+ public static ManagedObject assertAttachedWhenEntity(final @Nullable ManagedObject adapter) {
+ if(adapter instanceof PackedManagedObject) {
+ for(val element : ((PackedManagedObject)adapter).unpack()) {
+ assertAttachedWhenEntity(element);
+ }
+ }
+ val state = MmEntityUtil.getEntityState(adapter);
+ if(state.isPersistable()) {
+ _Assert.assertEquals(EntityState.PERSISTABLE_ATTACHED, state,
+ ()->String.format("detached entity %s", adapter));
+ }
+ return adapter;
+ }
+
+ public static ManagedObject computeIfDetached(
+ final @Nullable ManagedObject adapter,
+ final UnaryOperator<ManagedObject> onDetachedEntity) {
+ val state = MmEntityUtil.getEntityState(adapter);
+ if(state.isPersistable()
+ &&!state.isAttached()) {
+ return onDetachedEntity.apply(adapter);
+ }
+ return adapter;
+ }
+
+}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/MmInvokeUtil.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/MmInvokeUtil.java
new file mode 100644
index 0000000000..a52e76affa
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/MmInvokeUtil.java
@@ -0,0 +1,177 @@
+/*
+ * 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.core.metamodel.object;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Method;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.springframework.lang.Nullable;
+
+import org.apache.isis.commons.collections.Can;
+import org.apache.isis.commons.internal.collections._Arrays;
+import org.apache.isis.core.metamodel.commons.CanonicalInvoker;
+import org.apache.isis.core.metamodel.commons.ClassExtensions;
+
+import lombok.val;
+import lombok.experimental.UtilityClass;
+
+@UtilityClass
+public final class MmInvokeUtil {
+
+ /** PAT ... Parameters as Tuple */
+ public static Object invokeWithPAT(
+ final Constructor<?> ppmConstructor,
+ final Method method,
+ final ManagedObject adapter,
+ final Can<ManagedObject> pendingArguments,
+ final List<Object> additionalArguments) {
+
+ val ppmTuple = CanonicalInvoker.construct(ppmConstructor, MmUnwrapUtil.multipleAsArray(pendingArguments));
+ val paramPojos = _Arrays.combineWithExplicitType(Object.class, ppmTuple, additionalArguments.toArray());
+ return CanonicalInvoker.invoke(method, MmUnwrapUtil.single(adapter), paramPojos);
+ }
+
+ /** PAT ... Parameters as Tuple */
+ public static Object invokeWithPAT(
+ final Constructor<?> ppmConstructor,
+ final Method method,
+ final ManagedObject adapter,
+ final Can<ManagedObject> argumentAdapters) {
+ return invokeWithPAT(ppmConstructor, method, adapter, argumentAdapters, Collections.emptyList());
+ }
+
+ public static void invokeAll(final Iterable<Method> methods, final ManagedObject adapter) {
+ CanonicalInvoker.invokeAll(methods, MmUnwrapUtil.single(adapter));
+ }
+
+ public static Object invoke(final Method method, final ManagedObject adapter) {
+ return CanonicalInvoker.invoke(method, MmUnwrapUtil.single(adapter));
+ }
+
+ public static Object invoke(final Method method, final ManagedObject adapter, final Object arg0) {
+ return CanonicalInvoker.invoke(method, MmUnwrapUtil.single(adapter), new Object[] {arg0});
+ }
+
+ public static Object invoke(final Method method, final ManagedObject adapter, final Can<ManagedObject> argumentAdapters) {
+ return CanonicalInvoker.invoke(method, MmUnwrapUtil.single(adapter), MmUnwrapUtil.multipleAsArray(argumentAdapters));
+ }
+
+ public static Object invoke(final Method method, final ManagedObject adapter, final ManagedObject arg0Adapter) {
+ return invoke(method, adapter, MmUnwrapUtil.single(arg0Adapter));
+ }
+
+ public static Object invoke(final Method method, final ManagedObject adapter, final ManagedObject[] argumentAdapters) {
+ return CanonicalInvoker.invoke(method, MmUnwrapUtil.single(adapter), MmUnwrapUtil.multipleAsArray(argumentAdapters));
+ }
+
+ /**
+ * Invokes the method, adjusting arguments as required to make them fit the method's parameters.
+ * <p>
+ * That is:
+ * <ul>
+ * <li>if the method declares parameters but arguments are missing, then will provide 'null' defaults for these.</li>
+ * </ul>
+ */
+ public static Object invokeAutofit(final Method method, final ManagedObject adapter) {
+ return invoke(method, adapter, new ManagedObject[method.getParameterTypes().length]);
+ }
+
+ /**
+ * Invokes the method, adjusting arguments as required to make them fit the method's parameters.
+ * <p>
+ * That is:
+ * <ul>
+ * <li>if the method declares parameters but arguments are missing, then will provide 'null' defaults for these.</li>
+ * <li>if the method does not declare all parameters for arguments, then truncates arguments.</li>
+ * <li>any {@code additionalArgValues} must also fit at the end of the resulting parameter list</li>
+ * </ul>
+ */
+ public static Object invokeAutofit(
+ final Method method,
+ final ManagedObject target,
+ final Can<? extends ManagedObject> pendingArgs,
+ final List<Object> additionalArgValues) {
+
+ val argArray = adjust(method, pendingArgs, additionalArgValues);
+
+ return CanonicalInvoker.invoke(method, MmUnwrapUtil.single(target), argArray);
+ }
+
+ /**
+ * same as {@link #invokeAutofit(Method, ManagedObject, Can, List)} w/o additionalArgValues
+ */
+ public static Object invokeAutofit(
+ final Method method,
+ final ManagedObject target,
+ final Can<? extends ManagedObject> pendingArgs) {
+
+ return invokeAutofit(method, target, pendingArgs, Collections.emptyList());
+ }
+
+ private static Object[] adjust(
+ final Method method,
+ final Can<? extends ManagedObject> pendingArgs,
+ final List<Object> additionalArgValues) {
+
+ val parameterTypes = method.getParameterTypes();
+ val paramCount = parameterTypes.length;
+ val additionalArgCount = additionalArgValues.size();
+ val pendingArgsToConsiderCount = paramCount - additionalArgCount;
+
+ val argIterator = argIteratorFrom(pendingArgs);
+ val adjusted = new Object[paramCount];
+ for(int i=0; i<pendingArgsToConsiderCount; i++) {
+
+ val paramType = parameterTypes[i];
+ val arg = argIterator.hasNext() ? MmUnwrapUtil.single(argIterator.next()) : null;
+
+ adjusted[i] = honorPrimitiveDefaults(paramType, arg);
+ }
+
+ // add the additional parameter values (if any)
+ int paramIndex = pendingArgsToConsiderCount;
+ for(val additionalArg : additionalArgValues) {
+ val paramType = parameterTypes[paramIndex];
+ adjusted[paramIndex] = honorPrimitiveDefaults(paramType, additionalArg);
+ ++paramIndex;
+ }
+
+ return adjusted;
+
+ }
+
+ private static Iterator<? extends ManagedObject> argIteratorFrom(final Can<? extends ManagedObject> pendingArgs) {
+ return pendingArgs!=null ? pendingArgs.iterator() : Collections.emptyIterator();
+ }
+
+ private static Object honorPrimitiveDefaults(
+ final Class<?> expectedType,
+ final @Nullable Object value) {
+
+ if(value == null && expectedType.isPrimitive()) {
+ return ClassExtensions.toDefault(expectedType);
+ }
+ return value;
+ }
+
+
+}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/MmUnwrapUtil.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/MmUnwrapUtil.java
new file mode 100644
index 0000000000..17596f8a62
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/MmUnwrapUtil.java
@@ -0,0 +1,126 @@
+/*
+ * 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.core.metamodel.object;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+
+import org.springframework.lang.Nullable;
+
+import org.apache.isis.commons.collections.Can;
+import org.apache.isis.commons.internal.collections._Arrays;
+import org.apache.isis.commons.internal.collections._Lists;
+import org.apache.isis.commons.internal.collections._Sets;
+
+import lombok.NonNull;
+import lombok.val;
+import lombok.experimental.UtilityClass;
+
+@UtilityClass
+public final class MmUnwrapUtil {
+
+ // -- SINGLE
+
+ @Nullable
+ public static Object single(final @Nullable ManagedObject adapter) {
+ return ManagedObjects.isSpecified(adapter)
+ ? adapter.getPojo()
+ : null;
+ }
+
+ @Nullable
+ public static String singleAsStringOrElse(final @Nullable ManagedObject adapter, final @Nullable String orElse) {
+ final Object obj = MmUnwrapUtil.single(adapter);
+ if (obj == null) {
+ return null;
+ }
+ if (obj instanceof String) {
+ return (String) obj;
+ }
+ return orElse;
+ }
+
+ // -- AS ARRAY
+
+ @Nullable
+ public static Object[] multipleAsArray(final @NonNull Can<ManagedObject> adapters) {
+ val unwrappedObjects = _Arrays.mapCollection(adapters.toList(), MmUnwrapUtil::single);
+ return unwrappedObjects;
+ }
+
+ @Nullable
+ public static Object[] multipleAsArray(final @Nullable Collection<ManagedObject> adapters) {
+ val unwrappedObjects = _Arrays.mapCollection(adapters, MmUnwrapUtil::single);
+ return unwrappedObjects;
+ }
+
+ @Nullable
+ public static Object[] multipleAsArray(final @Nullable ManagedObject[] adapters) {
+ val unwrappedObjects = _Arrays.map(adapters, MmUnwrapUtil::single);
+ return unwrappedObjects;
+ }
+
+ // -- AS LIST
+
+ /**
+ *
+ * @param adapters
+ * @return non-null, unmodifiable
+ */
+ public static List<Object> multipleAsList(final @Nullable Collection<? extends ManagedObject> adapters) {
+ if (adapters == null) {
+ return Collections.emptyList();
+ }
+ return adapters.stream()
+ .map(MmUnwrapUtil::single)
+ .collect(_Lists.toUnmodifiable());
+ }
+
+ /**
+ *
+ * @param adapters
+ * @return non-null, unmodifiable
+ */
+ public static List<Object> multipleAsList(final @Nullable Can<? extends ManagedObject> adapters) {
+ if (adapters == null) {
+ return Collections.emptyList();
+ }
+ return adapters.stream()
+ .map(MmUnwrapUtil::single)
+ .collect(_Lists.toUnmodifiable());
+ }
+
+
+ /**
+ *
+ * @param adapters
+ * @return non-null, unmodifiable
+ */
+ public static Set<Object> multipleAsSet(final @Nullable Collection<? extends ManagedObject> adapters) {
+ if (adapters == null) {
+ return Collections.emptySet();
+ }
+ return adapters.stream()
+ .map(MmUnwrapUtil::single)
+ .collect(_Sets.toUnmodifiable());
+ }
+
+}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/MmVisibilityUtil.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/MmVisibilityUtil.java
new file mode 100644
index 0000000000..aac795ed12
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/MmVisibilityUtil.java
@@ -0,0 +1,130 @@
+/*
+ * 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.core.metamodel.object;
+
+import java.util.function.Predicate;
+import java.util.stream.Stream;
+
+import org.apache.isis.applib.annotation.Where;
+import org.apache.isis.commons.internal.collections._Arrays;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.core.metamodel.facets.collections.CollectionFacet;
+import org.apache.isis.core.metamodel.interactions.InteractionHead;
+import org.apache.isis.core.metamodel.interactions.InteractionUtils;
+import org.apache.isis.core.metamodel.interactions.ObjectVisibilityContext;
+import org.apache.isis.core.metamodel.interactions.VisibilityContext;
+
+import lombok.val;
+import lombok.experimental.UtilityClass;
+
+@UtilityClass
+public final class MmVisibilityUtil {
+
+ public static Predicate<? super ManagedObject> filterOn(final InteractionInitiatedBy interactionInitiatedBy) {
+ return $->MmVisibilityUtil.isVisible($, interactionInitiatedBy);
+ }
+
+ /**
+ * Filters a collection (an adapter around either a Collection or an Object[]) and returns a stream of
+ * {@link ManagedObject}s of those that are visible (as per any facet(s) installed on the element class
+ * of the collection).
+ * @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 Stream<ManagedObject> streamVisibleAdapters(
+ final ManagedObject collectionAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+
+ return CollectionFacet.streamAdapters(collectionAdapter)
+ .filter(MmVisibilityUtil.filterOn(interactionInitiatedBy));
+ }
+
+ private static Stream<Object> streamVisiblePojos(
+ final ManagedObject collectionAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+
+ return CollectionFacet.streamAdapters(collectionAdapter)
+ .filter(MmVisibilityUtil.filterOn(interactionInitiatedBy))
+ .map(MmUnwrapUtil::single);
+ }
+
+ public static Object[] visiblePojosAsArray(
+ final ManagedObject collectionAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+
+ return streamVisiblePojos(collectionAdapter, interactionInitiatedBy)
+ .collect(_Arrays.toArray(Object.class));
+ }
+
+ public static Object visiblePojosAutofit(
+ final ManagedObject collectionAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy,
+ final Class<?> requiredContainerType) {
+
+ val visiblePojoStream = streamVisiblePojos(collectionAdapter, interactionInitiatedBy);
+ val autofittedObjectContainer = CollectionFacet.AutofitUtils
+ .collect(visiblePojoStream, requiredContainerType);
+ return autofittedObjectContainer;
+ }
+
+
+ /**
+ * @param adapter - wrapper of domain object whose visibility is being checked,
+ * must not be a mixin
+ * @param interactionInitiatedBy
+ */
+ public static boolean isVisible(
+ final ManagedObject adapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+
+ if(ManagedObjects.isNullOrUnspecifiedOrEmpty(adapter)) {
+ // a choices list could include a null (eg example in ToDoItems#choices1Categorized()); want to show as "visible"
+ return true;
+ }
+ val spec = adapter.getSpecification();
+ if(spec.isEntity()) {
+ if(MmEntityUtil.isDetachedOrRemoved(adapter)) {
+ return false;
+ }
+ }
+ if(interactionInitiatedBy == InteractionInitiatedBy.FRAMEWORK) {
+ return true;
+ }
+ val visibilityContext = createVisibleInteractionContext(
+ adapter,
+ InteractionInitiatedBy.USER,
+ Where.OBJECT_FORMS);
+
+ return InteractionUtils.isVisibleResult(spec, visibilityContext)
+ .isNotVetoing();
+ }
+
+ private static VisibilityContext createVisibleInteractionContext(
+ final ManagedObject objectAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy,
+ final Where where) {
+
+ return new ObjectVisibilityContext(
+ InteractionHead.regular(objectAdapter),
+ objectAdapter.getSpecification().getFeatureIdentifier(),
+ interactionInitiatedBy,
+ where);
+ }
+
+}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/_InternalTitleUtil.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/_InternalTitleUtil.java
new file mode 100644
index 0000000000..c0a8a98a98
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/object/_InternalTitleUtil.java
@@ -0,0 +1,123 @@
+/*
+ * 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.core.metamodel.object;
+
+import java.util.Optional;
+
+import org.springframework.lang.Nullable;
+
+import org.apache.isis.applib.value.semantics.Renderer;
+import org.apache.isis.core.metamodel.facets.collections.CollectionFacet;
+import org.apache.isis.core.metamodel.facets.object.title.TitleRenderRequest;
+import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
+
+import lombok.NonNull;
+import lombok.val;
+import lombok.experimental.UtilityClass;
+
+@UtilityClass
+final class _InternalTitleUtil {
+
+ // -- TITLE SUPPORT
+
+ String titleString(@NonNull final TitleRenderRequest titleRenderRequest) {
+
+ val managedObject = titleRenderRequest.getObject();
+
+ if(!ManagedObjects.isSpecified(managedObject)) {
+ return "unspecified object";
+ }
+
+ return managedObject.getSpecification().isNonScalar()
+ ? collectionTitleString(
+ managedObject,
+ managedObject.getSpecification().getFacet(CollectionFacet.class))
+ : objectTitleString(titleRenderRequest)
+ .trim();
+ }
+
+ String htmlString(
+ final @Nullable ManagedObject adapter,
+ final @Nullable ObjectFeature feature) {
+
+ if(!ManagedObjects.isSpecified(adapter)) {
+ return "";
+ }
+
+ val spec = adapter.getSpecification();
+ val valueFacet = spec.valueFacet().orElse(null);
+
+ if(valueFacet==null) {
+ return String.format("missing ValueFacet %s", spec.getCorrespondingClass());
+ }
+
+ @SuppressWarnings("unchecked")
+ val renderer = (Renderer<Object>) valueFacet.selectRendererForFeature(feature).orElse(null);
+ if(renderer==null) {
+ return String.format("missing Renderer %s", spec.getCorrespondingClass());
+ }
+
+ return renderer.htmlPresentation(valueFacet.createValueSemanticsContext(feature), adapter.getPojo());
+ }
+
+ // -- HELPER
+
+ private String objectTitleString(@NonNull final TitleRenderRequest titleRenderRequest) {
+ val managedObject = titleRenderRequest.getObject();
+ if (managedObject.getPojo() instanceof String) {
+ return (String) managedObject.getPojo();
+ }
+ val spec = managedObject.getSpecification();
+ return Optional.ofNullable(spec.getTitle(titleRenderRequest))
+ .orElseGet(()->getDefaultTitle(managedObject));
+ }
+
+ private String collectionTitleString(final ManagedObject managedObject, final CollectionFacet facet) {
+ final int size = facet.size(managedObject);
+ val elementSpec = managedObject.getElementSpecification().orElse(null);
+ if (elementSpec == null
+ || elementSpec.getFullIdentifier().equals(Object.class.getName())) {
+ switch (size) {
+ case -1:
+ return "Objects";
+ case 0:
+ return "No objects";
+ case 1:
+ return "1 object";
+ default:
+ return size + " objects";
+ }
+ } else {
+ switch (size) {
+ case -1:
+ return elementSpec.getPluralName();
+ case 0:
+ return "No " + elementSpec.getPluralName();
+ case 1:
+ return "1 " + elementSpec.getSingularName();
+ default:
+ return size + " " + elementSpec.getPluralName();
+ }
+ }
+ }
+
+ private String getDefaultTitle(final ManagedObject managedObject) {
+ return "A" + (" " + managedObject.getSpecification().getSingularName()).toLowerCase();
+ }
+}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/objectlifecycle/PropertyChangeRecord.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/objectlifecycle/PropertyChangeRecord.java
index 0d4f358f14..671ecd12b0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/objectlifecycle/PropertyChangeRecord.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/objectlifecycle/PropertyChangeRecord.java
@@ -25,7 +25,7 @@ import org.apache.isis.applib.services.publishing.spi.EntityPropertyChange;
import org.apache.isis.applib.services.xactn.TransactionId;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
import lombok.EqualsAndHashCode;
@@ -136,7 +136,7 @@ public final class PropertyChangeRecord {
private Object getPropertyValue() {
val referencedAdapter = getProperty().get(getEntity(), InteractionInitiatedBy.FRAMEWORK);
- return ManagedObjects.UnwrapUtil.single(referencedAdapter);
+ return MmUnwrapUtil.single(referencedAdapter);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/title/TitleServiceDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/title/TitleServiceDefault.java
index a1195f56ac..7c2d56d266 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/title/TitleServiceDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/title/TitleServiceDefault.java
@@ -30,8 +30,8 @@ import org.apache.isis.applib.services.title.TitleService;
import org.apache.isis.applib.services.wrapper.WrapperFactory;
import org.apache.isis.core.metamodel.IsisModuleCoreMetamodel;
import org.apache.isis.core.metamodel.facets.object.title.TitleRenderRequest;
+import org.apache.isis.core.metamodel.object.MmEntityUtil;
import org.apache.isis.core.metamodel.object.ManagedObjects;
-import org.apache.isis.core.metamodel.object.ManagedObjects.EntityUtil;
import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
import lombok.RequiredArgsConstructor;
@@ -61,7 +61,7 @@ public class TitleServiceDefault implements TitleService {
return "[UNSPECIFIED]";
}
- if(EntityUtil.isDetachedOrRemoved(objectAdapter)) {
+ if(MmEntityUtil.isDetachedOrRemoved(objectAdapter)) {
return "[DETACHED]";
} else {
return objectAdapter.getSpecification().getTitle(
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationDefault.java
index dc81e0788f..7754c2b19a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationDefault.java
@@ -49,9 +49,9 @@ import org.apache.isis.core.metamodel.interactions.PropertyVisibilityContext;
import org.apache.isis.core.metamodel.interactions.UsabilityContext;
import org.apache.isis.core.metamodel.interactions.ValidityContext;
import org.apache.isis.core.metamodel.interactions.VisibilityContext;
+import org.apache.isis.core.metamodel.object.MmEntityUtil;
import org.apache.isis.core.metamodel.object.ManagedObject;
import org.apache.isis.core.metamodel.object.ManagedObjects;
-import org.apache.isis.core.metamodel.object.ManagedObjects.EntityUtil;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
@@ -203,7 +203,7 @@ implements OneToOneAssociation {
throw _Exceptions.unexpectedCodeReach();
}
- EntityUtil.requiresWhenFirstIsBookmarkableSecondIsAttached(ownerAdapter, newReferencedAdapter);
+ MmEntityUtil.requiresWhenFirstIsBookmarkableSecondIsAttached(ownerAdapter, newReferencedAdapter);
return propertySetterFacet.setProperty(this, ownerAdapter, newReferencedAdapter, interactionInitiatedBy);
}
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 41f1e73a31..3fda55187f 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
@@ -26,7 +26,7 @@ import org.junit.Test;
import org.apache.isis.core.internaltestsupport.jmocking.JUnitRuleMockery2;
import org.apache.isis.core.internaltestsupport.jmocking.JUnitRuleMockery2.Mode;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
@@ -42,33 +42,33 @@ public class ObjectAdapterUtilsTest {
@Test
public void testUnwrapObjectWhenNull() {
- assertNull(UnwrapUtil.single((ManagedObject)null));
+ assertNull(MmUnwrapUtil.single((ManagedObject)null));
}
@Test
public void testUnwrapObjectWhenNotNull() {
underlyingDomainObject = new Object();
expectAdapterWillReturn(underlyingDomainObject);
- assertEquals(underlyingDomainObject, UnwrapUtil.single(mockObjectAdapter));
+ assertEquals(underlyingDomainObject, MmUnwrapUtil.single(mockObjectAdapter));
}
@Test
public void testUnwrapStringWhenNull() {
- assertNull(UnwrapUtil.singleAsStringOrElse(null, null));
+ assertNull(MmUnwrapUtil.singleAsStringOrElse(null, null));
}
@Test
public void testUnwrapStringWhenNotNullButNotString() {
underlyingDomainObject = new Object();
expectAdapterWillReturn(underlyingDomainObject);
- assertNull(UnwrapUtil.singleAsStringOrElse(mockObjectAdapter, null));
+ assertNull(MmUnwrapUtil.singleAsStringOrElse(mockObjectAdapter, null));
}
@Test
public void testUnwrapStringWhenNotNullAndString() {
underlyingDomainObject = "huzzah";
expectAdapterWillReturn(underlyingDomainObject);
- assertEquals("huzzah", UnwrapUtil.singleAsStringOrElse(mockObjectAdapter, null));
+ assertEquals("huzzah", MmUnwrapUtil.singleAsStringOrElse(mockObjectAdapter, null));
}
private void expectAdapterWillReturn(final Object domainObject) {
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/MemberExecutorServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/MemberExecutorServiceDefault.java
index 8712d28d88..4cc45784e3 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/MemberExecutorServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/MemberExecutorServiceDefault.java
@@ -57,8 +57,10 @@ import org.apache.isis.core.metamodel.facets.properties.property.modify.Property
import org.apache.isis.core.metamodel.interactions.InteractionHead;
import org.apache.isis.core.metamodel.object.ManagedObject;
import org.apache.isis.core.metamodel.object.ManagedObjects;
+import org.apache.isis.core.metamodel.object.MmEntityUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmVisibilityUtil;
import org.apache.isis.core.metamodel.object.PackedManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
import org.apache.isis.core.metamodel.objectmanager.ObjectManager.EntityAdaptingMode;
import org.apache.isis.core.metamodel.services.events.MetamodelEventService;
@@ -144,10 +146,10 @@ implements MemberExecutorService {
log.debug("about to invoke action {}", actionId);
val targetAdapter = head.getTarget();
- val targetPojo = UnwrapUtil.single(targetAdapter);
+ val targetPojo = MmUnwrapUtil.single(targetAdapter);
val argumentPojos = argumentAdapters.stream()
- .map(UnwrapUtil::single)
+ .map(MmUnwrapUtil::single)
.collect(_Lists.toUnmodifiable());
val actionInvocation =
@@ -217,8 +219,8 @@ implements MemberExecutorService {
val propertyId = owningProperty.getFeatureIdentifier();
val targetManagedObject = head.getTarget();
- val target = UnwrapUtil.single(targetManagedObject);
- val argValue = UnwrapUtil.single(newValueAdapter);
+ val target = MmUnwrapUtil.single(targetManagedObject);
+ val argValue = MmUnwrapUtil.single(newValueAdapter);
val propertyEdit = new PropertyEdit(interaction, propertyId, target, argValue);
val executor = propertyExecutorFactory
@@ -260,8 +262,8 @@ implements MemberExecutorService {
final InteractionHead head,
final Can<ManagedObject> arguments) {
- final Object[] executionParameters = UnwrapUtil.multipleAsArray(arguments);
- final Object targetPojo = UnwrapUtil.single(head.getTarget());
+ final Object[] executionParameters = MmUnwrapUtil.multipleAsArray(arguments);
+ final Object targetPojo = MmUnwrapUtil.single(head.getTarget());
return CanonicalInvoker.invoke(method, targetPojo, executionParameters);
}
@@ -276,7 +278,7 @@ implements MemberExecutorService {
return;
}
- val entityState = ManagedObjects.EntityUtil.getEntityState(resultAdapter);
+ val entityState = MmEntityUtil.getEntityState(resultAdapter);
if(entityState.isDetached()) {
// ensure that any still-to-be-persisted adapters get persisted to DB.
getTransactionService().flushTransaction();
@@ -311,7 +313,7 @@ implements MemberExecutorService {
return resultAdapter;
}
- return ManagedObjects.VisibilityUtil.isVisible(resultAdapter, interactionInitiatedBy)
+ return MmVisibilityUtil.isVisible(resultAdapter, interactionInitiatedBy)
? resultAdapter
: null;
}
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/_Xray.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/_Xray.java
index 000079a694..e5c8f99dbc 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/_Xray.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/_Xray.java
@@ -28,7 +28,7 @@ import org.apache.isis.commons.internal.debug.xray.XrayUi;
import org.apache.isis.core.metamodel.execution.InteractionInternal;
import org.apache.isis.core.metamodel.interactions.InteractionHead;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.core.security.util.XrayUtil;
@@ -56,7 +56,7 @@ final class _Xray {
: String.format("action invocation w/ %d args:\n %s",
argumentAdapters.size(),
argumentAdapters.stream()
- .map(ManagedObjects.UnwrapUtil::single)
+ .map(MmUnwrapUtil::single)
.map(obj->"" + obj)
.collect(Collectors.joining(",\n ")));
@@ -76,7 +76,7 @@ final class _Xray {
val participantLabel = owningProperty.getFeatureIdentifier().getLogicalIdentityString("\n#");
val enteringLabel = String.format("property edit -> '%s'",
- ManagedObjects.UnwrapUtil.single(newValueAdapter));
+ MmUnwrapUtil.single(newValueAdapter));
return enterInvocation(iaTracker, interaction, participantLabel, enteringLabel);
}
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/repository/RepositoryServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/repository/RepositoryServiceDefault.java
index 4e108510d2..22dd0420c9 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/repository/RepositoryServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/repository/RepositoryServiceDefault.java
@@ -47,8 +47,8 @@ import org.apache.isis.commons.internal.base._Casts;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.core.config.IsisConfiguration;
import org.apache.isis.core.metamodel.object.ManagedObjects;
-import org.apache.isis.core.metamodel.object.ManagedObjects.EntityUtil;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmEntityUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
import org.apache.isis.core.metamodel.objectmanager.query.ObjectBulkLoader;
import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
@@ -82,7 +82,7 @@ public class RepositoryServiceDefault implements RepositoryService {
@Override
public EntityState getEntityState(final @Nullable Object object) {
val adapter = objectManager.adapt(unwrapped(object));
- return EntityUtil.getEntityState(adapter);
+ return MmEntityUtil.getEntityState(adapter);
}
@Override
@@ -98,12 +98,12 @@ public class RepositoryServiceDefault implements RepositoryService {
throw new PersistFailedException("Object not known to framework (unable to create/obtain an adapter)");
}
// only persist detached entities, otherwise skip
- val entityState = EntityUtil.getEntityState(adapter);
+ val entityState = MmEntityUtil.getEntityState(adapter);
if(!entityState.isPersistable()
|| entityState.isAttached()) {
return domainObject;
}
- EntityUtil.persistInCurrentTransaction(adapter);
+ MmEntityUtil.persistInCurrentTransaction(adapter);
return domainObject;
}
@@ -121,8 +121,8 @@ public class RepositoryServiceDefault implements RepositoryService {
return; // noop
}
val adapter = objectManager.adapt(unwrapped(domainObject));
- if(EntityUtil.isAttached(adapter)) {
- EntityUtil.destroyInCurrentTransaction(adapter);
+ if(MmEntityUtil.isAttached(adapter)) {
+ MmEntityUtil.destroyInCurrentTransaction(adapter);
}
}
@@ -179,7 +179,7 @@ public class RepositoryServiceDefault implements RepositoryService {
val queryRequest = ObjectBulkLoader.Request.of(resultTypeSpec, query);
val allMatching = objectManager.queryObjects(queryRequest);
- final List<T> resultList = _Casts.uncheckedCast(UnwrapUtil.multipleAsList(allMatching));
+ final List<T> resultList = _Casts.uncheckedCast(MmUnwrapUtil.multipleAsList(allMatching));
return resultList;
}
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 a0aa9167fa..84ed080cfb 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,8 +53,8 @@ import org.apache.isis.core.metamodel.facets.ImperativeFacet.Intent;
import org.apache.isis.core.metamodel.facets.object.entity.EntityFacet;
import org.apache.isis.core.metamodel.interactions.managed.ActionInteractionHead;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.EntityUtil;
-import org.apache.isis.core.metamodel.object.ManagedObjects.UnwrapUtil;
+import org.apache.isis.core.metamodel.object.MmEntityUtil;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.MixedIn;
@@ -313,7 +313,7 @@ extends DelegatingInvocationHandlerDefault<T> {
val spec = targetAdapter.getSpecification();
if(spec.isEntity()) {
return runExecutionTask(()->{
- EntityUtil.persistInCurrentTransaction(targetAdapter);
+ MmEntityUtil.persistInCurrentTransaction(targetAdapter);
return null;
});
}
@@ -340,7 +340,7 @@ extends DelegatingInvocationHandlerDefault<T> {
val interactionInitiatedBy = getInteractionInitiatedBy();
val currentReferencedAdapter = property.get(targetAdapter, interactionInitiatedBy);
- val currentReferencedObj = UnwrapUtil.single(currentReferencedAdapter);
+ val currentReferencedObj = MmUnwrapUtil.single(currentReferencedAdapter);
val propertyAccessEvent = new PropertyAccessEvent(
@@ -405,7 +405,7 @@ extends DelegatingInvocationHandlerDefault<T> {
val interactionInitiatedBy = getInteractionInitiatedBy();
val currentReferencedAdapter = collection.get(targetAdapter, interactionInitiatedBy);
- val currentReferencedObj = UnwrapUtil.single(currentReferencedAdapter);
+ val currentReferencedObj = MmUnwrapUtil.single(currentReferencedAdapter);
val collectionAccessEvent = new CollectionAccessEvent(getDelegate(), collection.getFeatureIdentifier());
@@ -483,7 +483,7 @@ extends DelegatingInvocationHandlerDefault<T> {
val returnedAdapter = objectAction.execute(
head, argAdapters,
interactionInitiatedBy);
- return UnwrapUtil.single(returnedAdapter);
+ return MmUnwrapUtil.single(returnedAdapter);
});
diff --git a/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/pdfjs/wkt/ui/components/PdfJsViewerPanel.java b/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/pdfjs/wkt/ui/components/PdfJsViewerPanel.java
index 2cb0749fb5..d91de2b629 100644
--- a/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/pdfjs/wkt/ui/components/PdfJsViewerPanel.java
+++ b/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/pdfjs/wkt/ui/components/PdfJsViewerPanel.java
@@ -39,7 +39,7 @@ import org.apache.wicket.request.resource.ByteArrayResource;
import org.apache.isis.applib.services.user.UserService;
import org.apache.isis.applib.value.Blob;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.extensions.pdfjs.applib.config.PdfJsConfig;
import org.apache.isis.extensions.pdfjs.applib.config.Scale;
import org.apache.isis.extensions.pdfjs.applib.spi.PdfJsViewerAdvisor;
@@ -318,7 +318,7 @@ implements IRequestListener {
// -- HELPER
private Blob getBlob() {
- return (Blob) ManagedObjects.UnwrapUtil.single(scalarModel().getObject());
+ return (Blob) MmUnwrapUtil.single(scalarModel().getObject());
}
private static ByteArrayResource asBlobResource(final @NonNull Blob blob) {
diff --git a/persistence/commons/src/main/java/org/apache/isis/persistence/jpa/integration/changetracking/EntityChangeTrackerDefault.java b/persistence/commons/src/main/java/org/apache/isis/persistence/jpa/integration/changetracking/EntityChangeTrackerDefault.java
index 4a3a68e3b7..ca3bcb32b9 100644
--- a/persistence/commons/src/main/java/org/apache/isis/persistence/jpa/integration/changetracking/EntityChangeTrackerDefault.java
+++ b/persistence/commons/src/main/java/org/apache/isis/persistence/jpa/integration/changetracking/EntityChangeTrackerDefault.java
@@ -59,6 +59,7 @@ import org.apache.isis.core.metamodel.facets.object.publish.entitychange.EntityC
import org.apache.isis.core.metamodel.facets.properties.property.entitychangepublishing.EntityPropertyChangePublishingPolicyFacet;
import org.apache.isis.core.metamodel.object.ManagedObject;
import org.apache.isis.core.metamodel.object.ManagedObjects;
+import org.apache.isis.core.metamodel.object.MmEntityUtil;
import org.apache.isis.core.metamodel.services.objectlifecycle.HasEnlistedEntityPropertyChanges;
import org.apache.isis.core.metamodel.services.objectlifecycle.PropertyChangeRecord;
import org.apache.isis.core.metamodel.services.objectlifecycle.PropertyChangeRecordId;
@@ -157,7 +158,7 @@ implements
// set post values, which have been left empty up to now
.peek(rec -> {
// assuming this check correctly detects deleted entities (JDO)
- if(ManagedObjects.EntityUtil.isDetachedOrRemoved(rec.getEntity())) {
+ if(MmEntityUtil.isDetachedOrRemoved(rec.getEntity())) {
rec.withPostValueSetToDeleted();
} else {
rec.withPostValueSetToCurrent();
diff --git a/regressiontests/stable-interact/src/test/java/org/apache/isis/testdomain/interact/CollectionInteractionTest.java b/regressiontests/stable-interact/src/test/java/org/apache/isis/testdomain/interact/CollectionInteractionTest.java
index c1ab7f18d5..d20ccd548c 100644
--- a/regressiontests/stable-interact/src/test/java/org/apache/isis/testdomain/interact/CollectionInteractionTest.java
+++ b/regressiontests/stable-interact/src/test/java/org/apache/isis/testdomain/interact/CollectionInteractionTest.java
@@ -29,7 +29,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.core.config.presets.IsisPresets;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.testdomain.conf.Configuration_headless;
import org.apache.isis.testdomain.model.interaction.Configuration_usingInteractionDomain;
import org.apache.isis.testdomain.model.interaction.InteractionDemo;
@@ -65,7 +65,7 @@ class CollectionInteractionTest extends InteractionTestAbstract {
tester.assertUsabilityIsNotVetoed();
val expectedElements = tester.streamCollectionElements()
- .map(ManagedObjects.UnwrapUtil::single)
+ .map(MmUnwrapUtil::single)
.collect(Collectors.toList());
assertEquals(4, expectedElements.size());
diff --git a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/entitylifecycle/JpaGeneratedLongIdEntityLifecycleTest.java b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/entitylifecycle/JpaGeneratedLongIdEntityLifecycleTest.java
index cd98acdb06..92f46de460 100644
--- a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/entitylifecycle/JpaGeneratedLongIdEntityLifecycleTest.java
+++ b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/entitylifecycle/JpaGeneratedLongIdEntityLifecycleTest.java
@@ -39,7 +39,7 @@ import org.apache.isis.applib.services.repository.RepositoryService;
import org.apache.isis.commons.internal.exceptions._Exceptions;
import org.apache.isis.core.config.presets.IsisPresets;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
+import org.apache.isis.core.metamodel.object.MmEntityUtil;
import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
import org.apache.isis.testdomain.conf.Configuration_usingJpa;
import org.apache.isis.testdomain.jpa.entities.JpaEntityGeneratedLongId;
@@ -78,7 +78,7 @@ class JpaGeneratedLongIdEntityLifecycleTest {
assertTrue(entity.getSpecification().isEntity());
assertEquals(
EntityState.PERSISTABLE_DETACHED,
- ManagedObjects.EntityUtil.getEntityState(entity));
+ MmEntityUtil.getEntityState(entity));
setEntityRef(entity);
@@ -93,7 +93,7 @@ class JpaGeneratedLongIdEntityLifecycleTest {
assertEquals(
EntityState.PERSISTABLE_ATTACHED,
- ManagedObjects.EntityUtil.getEntityState(entity));
+ MmEntityUtil.getEntityState(entity));
assertEquals(1, repository.allInstances(JpaEntityGeneratedLongId.class).size());
}
@@ -104,7 +104,7 @@ class JpaGeneratedLongIdEntityLifecycleTest {
// expected post-condition (after persist, and having entered a new transaction)
assertEquals(
EntityState.PERSISTABLE_DETACHED,
- ManagedObjects.EntityUtil.getEntityState(getEntityRef()));
+ MmEntityUtil.getEntityState(getEntityRef()));
val id = ((JpaEntityGeneratedLongId)getEntityRef().getPojo()).getId();
@@ -117,7 +117,7 @@ class JpaGeneratedLongIdEntityLifecycleTest {
// expected pre-condition (before removal)
assertEquals(
EntityState.PERSISTABLE_ATTACHED,
- ManagedObjects.EntityUtil.getEntityState(entity));
+ MmEntityUtil.getEntityState(entity));
repository.remove(entity.getPojo());
@@ -156,7 +156,7 @@ class JpaGeneratedLongIdEntityLifecycleTest {
static void assertDetachedOrDeleted(final ManagedObject entity) {
assertEquals(
EntityState.PERSISTABLE_DETACHED, // if undecidable we currently return PERSISTABLE_DETACHED;
- ManagedObjects.EntityUtil.getEntityState(entity));
+ MmEntityUtil.getEntityState(entity));
}
diff --git a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/entitylifecycle/JpaNonGeneratedStringIdEntityLifecycleTest.java b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/entitylifecycle/JpaNonGeneratedStringIdEntityLifecycleTest.java
index 718ecde43d..2cad44d6b7 100644
--- a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/entitylifecycle/JpaNonGeneratedStringIdEntityLifecycleTest.java
+++ b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/entitylifecycle/JpaNonGeneratedStringIdEntityLifecycleTest.java
@@ -39,7 +39,7 @@ import org.apache.isis.applib.services.repository.RepositoryService;
import org.apache.isis.commons.internal.exceptions._Exceptions;
import org.apache.isis.core.config.presets.IsisPresets;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
+import org.apache.isis.core.metamodel.object.MmEntityUtil;
import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
import org.apache.isis.testdomain.conf.Configuration_usingJpa;
import org.apache.isis.testdomain.jpa.entities.JpaEntityNonGeneratedStringId;
@@ -78,7 +78,7 @@ class JpaNonGeneratedStringIdEntityLifecycleTest {
assertTrue(entity.getSpecification().isEntity());
assertEquals(
EntityState.PERSISTABLE_DETACHED,
- ManagedObjects.EntityUtil.getEntityState(entity));
+ MmEntityUtil.getEntityState(entity));
setEntityRef(entity);
}
@@ -92,7 +92,7 @@ class JpaNonGeneratedStringIdEntityLifecycleTest {
assertEquals(
EntityState.PERSISTABLE_ATTACHED,
- ManagedObjects.EntityUtil.getEntityState(entity));
+ MmEntityUtil.getEntityState(entity));
assertEquals(1, repository.allInstances(JpaEntityNonGeneratedStringId.class).size());
}
@@ -103,7 +103,7 @@ class JpaNonGeneratedStringIdEntityLifecycleTest {
// expected post-condition (after persist, and having entered a new transaction)
assertEquals(
EntityState.PERSISTABLE_DETACHED,
- ManagedObjects.EntityUtil.getEntityState(getEntityRef()));
+ MmEntityUtil.getEntityState(getEntityRef()));
val id = ((JpaEntityNonGeneratedStringId)getEntityRef().getPojo()).getName();
@@ -116,7 +116,7 @@ class JpaNonGeneratedStringIdEntityLifecycleTest {
// expected pre-condition (before removal)
assertEquals(
EntityState.PERSISTABLE_ATTACHED,
- ManagedObjects.EntityUtil.getEntityState(entity));
+ MmEntityUtil.getEntityState(entity));
repository.remove(entity.getPojo());
@@ -155,7 +155,7 @@ class JpaNonGeneratedStringIdEntityLifecycleTest {
static void assertDetachedOrDeleted(final ManagedObject entity) {
assertEquals(
EntityState.PERSISTABLE_DETACHED, // if undecidable we currently return PERSISTABLE_DETACHED;
- ManagedObjects.EntityUtil.getEntityState(entity));
+ MmEntityUtil.getEntityState(entity));
}
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/interaction/DataTableTester.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/interaction/DataTableTester.java
index 3f3459a75e..1fb092d56a 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/interaction/DataTableTester.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/interaction/DataTableTester.java
@@ -27,7 +27,7 @@ import org.apache.isis.commons.binding.Observable;
import org.apache.isis.core.metamodel.interactions.managed.nonscalar.DataColumn;
import org.apache.isis.core.metamodel.interactions.managed.nonscalar.DataRow;
import org.apache.isis.core.metamodel.interactions.managed.nonscalar.DataTableModel;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import lombok.Getter;
import lombok.NonNull;
@@ -41,21 +41,21 @@ public class DataTableTester {
public void assertUnfilteredDataElements(final List<Object> expectedPojoElements) {
assertEquals(expectedPojoElements,
dataTable.getDataElements().getValue()
- .map(ManagedObjects.UnwrapUtil::single).toList());
+ .map(MmUnwrapUtil::single).toList());
}
public void assertFilteredDataElements(final List<Object> expectedPojoElements) {
assertEquals(expectedPojoElements,
dataTable.getDataRowsFiltered().getValue()
.map(DataRow::getRowElement)
- .map(ManagedObjects.UnwrapUtil::single).toList());
+ .map(MmUnwrapUtil::single).toList());
}
public void assertSelectedDataElements(final List<Object> expectedPojoElements) {
assertEquals(expectedPojoElements,
dataTable.getDataRowsSelected().getValue()
.map(DataRow::getRowElement)
- .map(ManagedObjects.UnwrapUtil::single).toList());
+ .map(MmUnwrapUtil::single).toList());
}
public void assertDataRowSelectionWhenToggledOn(
@@ -78,10 +78,10 @@ public class DataTableTester {
assertEquals(
dataTable.getDataRowsFiltered().getValue()
.map(DataRow::getRowElement)
- .map(ManagedObjects.UnwrapUtil::single).toList(),
+ .map(MmUnwrapUtil::single).toList(),
dataTable.getDataRowsSelected().getValue()
.map(DataRow::getRowElement)
- .map(ManagedObjects.UnwrapUtil::single).toList());
+ .map(MmUnwrapUtil::single).toList());
}
public void assertDataRowSelectionIsEmpty() {
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/interaction/DomainObjectTesterFactory.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/interaction/DomainObjectTesterFactory.java
index 4a8e3d99fa..231d8c5e13 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/interaction/DomainObjectTesterFactory.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/interaction/DomainObjectTesterFactory.java
@@ -70,7 +70,7 @@ import org.apache.isis.core.metamodel.interactions.managed.PropertyInteraction;
import org.apache.isis.core.metamodel.interactions.managed.PropertyNegotiationModel;
import org.apache.isis.core.metamodel.interactions.managed.nonscalar.DataTableModel;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
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.ObjectMember;
@@ -421,7 +421,7 @@ public class DomainObjectTesterFactory {
.get(param.getParamNr())
.ifPresent(pojoTest->
pojoTest.accept(
- ManagedObjects.UnwrapUtil.single(param.getValue().getValue())
+ MmUnwrapUtil.single(param.getValue().getValue())
));
});
@@ -460,7 +460,7 @@ public class DomainObjectTesterFactory {
}
private static List<Object> choicesFor(final ManagedValue param) {
- return ManagedObjects.UnwrapUtil.multipleAsList(param.getChoices().getValue());
+ return MmUnwrapUtil.multipleAsList(param.getChoices().getValue());
}
@SuppressWarnings("unchecked")
@@ -548,7 +548,7 @@ public class DomainObjectTesterFactory {
objManager
.adapt(
argMapper
- .apply(ManagedObjects.UnwrapUtil.single(param.getValue().getValue())))));
+ .apply(MmUnwrapUtil.single(param.getValue().getValue())))));
});
},
diff --git a/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/binding/BindingConverterForManagedObject.java b/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/binding/BindingConverterForManagedObject.java
index 5e301c3c7a..06b02e91c7 100644
--- a/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/binding/BindingConverterForManagedObject.java
+++ b/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/binding/BindingConverterForManagedObject.java
@@ -20,7 +20,7 @@ package org.apache.isis.viewer.commons.model.binding;
import org.apache.isis.commons.internal.base._Casts;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import lombok.Getter;
@@ -39,7 +39,7 @@ implements BindingConverter<ManagedObject, T> {
@Override
public T toRight(final ManagedObject adapter) {
- return _Casts.uncheckedCast(ManagedObjects.UnwrapUtil.single(adapter));
+ return _Casts.uncheckedCast(MmUnwrapUtil.single(adapter));
}
}
diff --git a/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/object/ObjectUiModel.java b/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/object/ObjectUiModel.java
index 2c4102a6cc..0e82c6b39b 100644
--- a/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/object/ObjectUiModel.java
+++ b/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/object/ObjectUiModel.java
@@ -22,7 +22,7 @@ import org.apache.isis.applib.annotation.Where;
import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
+import org.apache.isis.core.metamodel.object.MmVisibilityUtil;
import lombok.RequiredArgsConstructor;
@@ -31,7 +31,7 @@ public interface ObjectUiModel {
ManagedObject getManagedObject();
default boolean isVisible() {
- return ManagedObjects.VisibilityUtil
+ return MmVisibilityUtil
.isVisible(getManagedObject(), InteractionInitiatedBy.USER);
}
diff --git a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/DomainObjectResourceServerside.java b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/DomainObjectResourceServerside.java
index 17b47284ea..4b0c458272 100644
--- a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/DomainObjectResourceServerside.java
+++ b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/DomainObjectResourceServerside.java
@@ -53,9 +53,9 @@ import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.metamodel.facets.object.icon.ObjectIcon;
import org.apache.isis.core.metamodel.interactions.managed.ManagedMember;
import org.apache.isis.core.metamodel.interactions.managed.MemberInteraction.AccessIntent;
-import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.EntityUtil;
import org.apache.isis.core.metamodel.interactions.managed.PropertyInteraction;
+import org.apache.isis.core.metamodel.object.ManagedObject;
+import org.apache.isis.core.metamodel.object.MmEntityUtil;
import org.apache.isis.core.metamodel.util.Facets;
import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.Rel;
@@ -150,7 +150,7 @@ implements DomainObjectResource {
.createWithBody(HttpStatusCode.BAD_REQUEST, objectRepr, validity.getReason()));
}
- EntityUtil.persistInCurrentTransaction(adapter);
+ MmEntityUtil.persistInCurrentTransaction(adapter);
val domainResourceHelper = _DomainResourceHelper.ofObjectResource(resourceContext, adapter);
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarUnwrappingModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarUnwrappingModel.java
index 5284bbb0e0..00cd1f9e7f 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarUnwrappingModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarUnwrappingModel.java
@@ -24,7 +24,7 @@ import org.springframework.util.ClassUtils;
import org.apache.isis.commons.internal.assertions._Assert;
import org.apache.isis.commons.internal.base._Casts;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import lombok.Getter;
import lombok.NonNull;
@@ -73,7 +73,7 @@ extends ChainingModel<T> {
// -- HELPER
private T unwrap(final ManagedObject objectAdapter) {
- val pojo = ManagedObjects.UnwrapUtil.single(objectAdapter);
+ val pojo = MmUnwrapUtil.single(objectAdapter);
if(pojo==null
|| !ClassUtils.resolvePrimitiveIfNecessary(type)
.isAssignableFrom(ClassUtils.resolvePrimitiveIfNecessary(pojo.getClass()))) {
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/BookmarkedObjectWkt.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/BookmarkedObjectWkt.java
index 78556caed2..ae10000006 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/BookmarkedObjectWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/BookmarkedObjectWkt.java
@@ -31,7 +31,7 @@ import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.commons.internal.collections._Maps;
import org.apache.isis.commons.internal.exceptions._Exceptions;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects.EntityUtil;
+import org.apache.isis.core.metamodel.object.MmEntityUtil;
import org.apache.isis.core.runtime.context.IsisAppCommonContext;
import org.apache.isis.viewer.wicket.model.models.ModelAbstract;
@@ -145,7 +145,7 @@ extends ModelAbstract<ManagedObject> {
public final ManagedObject getObjectAndRefetch() {
//EntityUtil.assertAttachedWhenEntity()//guard
val entityOrViewmodel = super.getObject();
- return EntityUtil.computeIfDetached(entityOrViewmodel, this::reload);
+ return MmEntityUtil.computeIfDetached(entityOrViewmodel, this::reload);
}
@Override
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 7f812d5828..d34e9e99b8 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,7 +34,7 @@ import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.interactions.managed.nonscalar.DataRow;
import org.apache.isis.core.metamodel.interactions.managed.nonscalar.DataTableModel;
import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.object.ManagedObjects;
+import org.apache.isis.core.metamodel.object.MmUnwrapUtil;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.MixedIn;
import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
@@ -143,7 +143,7 @@ implements CollectionCountProvider {
values.add(null);
continue;
}
- final Object valueObj = ManagedObjects.UnwrapUtil.single(valueAdapter);
+ final Object valueObj = MmUnwrapUtil.single(valueAdapter);
if (valueObj == null) {
values.add(null);
continue;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
index 8a85327e66..e1d142e2a7 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
@@ -29,7 +29,7 @@ import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFactory;
import org.apache.isis.core.metamodel.object.ManagedObject;
import org.apache.isis.core.metamodel.object.ManagedObjects;
-import org.apache.isis.core.metamodel.object.ManagedObjects.EntityUtil;
+import org.apache.isis.core.metamodel.object.MmEntityUtil;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.model.models.ObjectAdapterModel;
@@ -65,7 +65,7 @@ extends PanelAbstract<ManagedObject, ObjectAdapterModel> {
}
protected ManagedObject getTargetAdapter() {
- val targetAdapter = EntityUtil.refetch(getModel().getObject());
+ val targetAdapter = MmEntityUtil.refetch(getModel().getObject());
return targetAdapter;
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java
index 2821465c8f..bb3c128a58 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java
@@ -34,7 +34,7 @@ import org.apache.isis.commons.functional.Either;
import org.apache.isis.commons.internal.debug._Debug;
import org.apache.isis.commons.internal.debug.xray.XrayUi;
import org.apache.isis.core.config.IsisConfiguration.Viewer.Wicket;
-import org.apache.isis.core.metamodel.object.ManagedObjects.EntityUtil;
+import org.apache.isis.core.metamodel.object.MmEntityUtil;
import org.apache.isis.core.runtime.context.IsisAppCommonContext;
import org.apache.isis.viewer.wicket.model.models.ActionModel;
import org.apache.isis.viewer.wicket.model.models.FormExecutor;
@@ -153,7 +153,7 @@ implements FormExecutor {
if(log.isDebugEnabled()) {
log.debug("about to redirect with {} after execution result {}",
- EntityUtil.getEntityState(resultAdapter),
+ MmEntityUtil.getEntityState(resultAdapter),
resultAdapter);
}