You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2019/10/24 20:56:48 UTC
[isis] 01/02: ISIS-2158: work towards deprecating ObjectAdapter
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch v2
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 2da81c8a5af9922ba405e4266eed7574e046f2df
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Oct 24 15:58:53 2019 +0200
ISIS-2158: work towards deprecating ObjectAdapter
---
.../isis/metamodel/adapter/ObjectAdapter.java | 1 +
.../isis/metamodel/adapter/oid/Oid_Marshaller.java | 1 -
.../facets/collections/modify/CollectionFacet.java | 16 +-
.../facets/value/image/ImageValueFacet.java | 10 +-
.../value/image/ImageValueSemanticsProvider.java | 12 +-
.../image/ImageValueSemanticsProviderAbstract.java | 4 +-
.../JavaAwtImageValueSemanticsProvider.java | 12 +-
.../apache/isis/metamodel/spec/ManagedObject.java | 55 +++++--
.../ImageValueSemanticsProviderAbstractTest.java | 12 +-
.../command/CommandDtoServiceInternalDefault.java | 2 +-
.../modules/h2console/WebModuleH2Console.java | 3 +-
.../isis/runtime/memento/ObjectAdapterMemento.java | 5 +-
.../memento/ObjectAdapterMementoCollection.java | 10 +-
.../ObjectAdapterMementoSupport_usingDefault.java | 16 +-
.../ObjectAdapterContext_MementoSupport.java | 7 +-
.../IsisWicketApplication_newPageFactory.java | 6 +
.../wicket/ConverterForObjectAdapterMemento.java | 2 +-
.../common/OnConcurrencyExceptionHandler.java | 5 +-
.../wicket/model/common/OnSelectionHandler.java | 6 +-
.../viewer/wicket/model/links/LinkAndLabel.java | 4 +-
.../wicket/model/models/ActionArgumentModel.java | 6 +-
.../viewer/wicket/model/models/ActionModel.java | 64 ++++----
.../wicket/model/models/EntityCollectionModel.java | 18 +-
.../viewer/wicket/model/models/EntityModel.java | 51 +++---
.../model/models/EntityModelForReference.java | 6 +-
.../wicket/model/models/ObjectAdapterModel.java | 6 +-
.../viewer/wicket/model/models/ScalarModel.java | 181 ++++++++++-----------
.../model/models/ScalarModelWithPending.java | 2 +-
.../viewer/wicket/model/models/ValueModel.java | 10 +-
.../models/whereami/WhereAmIModelDefault.java | 3 +-
.../actionresponse/ActionResultResponseType.java | 42 ++---
.../ui/components/actioninfo/ActionInfoPanel.java | 5 +-
.../entityactions/EntityActionLinkFactory.java | 14 +-
.../actionmenu/serviceactions/CssMenuItem.java | 5 +-
.../serviceactions/ServiceActionLinkFactory.java | 5 +-
.../actions/ActionFormExecutorStrategy.java | 9 +-
.../components/actions/ActionParametersForm.java | 9 +-
.../components/actions/ActionParametersPanel.java | 4 +-
.../collection/AssociatedWithActionsHelper.java | 8 +-
.../ui/components/collection/CollectionPanel.java | 7 +-
.../CollectionContentsAsAjaxTablePanel.java | 22 +--
.../CollectionContentsSortableDataProvider.java | 4 +-
.../ajaxtable/IsisAjaxFallbackDataTable.java | 7 +-
.../columns/ObjectAdapterPropertyColumn.java | 15 +-
.../columns/ObjectAdapterTitleColumn.java | 16 +-
.../columns/ObjectAdapterToggleboxColumn.java | 17 +-
.../entity/EntityComponentFactoryAbstract.java | 5 +-
.../entity/collection/EntityCollectionPanel.java | 5 +-
.../components/entity/fieldset/PropertyGroup.java | 8 +-
.../entity/header/EntityHeaderPanel.java | 5 +-
.../entity/icontitle/EntityIconAndTitlePanel.java | 18 +-
.../links/EntityLinksSelectorPanelFactory.java | 5 +-
.../ui/components/property/PropertyEditPanel.java | 5 +-
.../property/PropertyFormExecutorStrategy.java | 14 +-
.../PropertyEditPromptHeaderPanel.java | 5 +-
.../ui/components/scalars/ScalarPanelAbstract.java | 12 +-
.../components/scalars/ScalarPanelAbstract2.java | 21 ++-
.../scalars/ScalarPanelSelect2Abstract.java | 19 ++-
.../ScalarPanelTextFieldDatePickerAbstract.java | 12 +-
.../scalars/ScalarPanelTextFieldNumeric.java | 7 +-
.../ui/components/scalars/TextFieldValueModel.java | 6 +-
.../scalars/image/JavaAwtImagePanel.java | 4 +-
.../isisapplib/IsisBlobOrClobPanelAbstract.java | 4 +-
.../components/scalars/primitive/BooleanPanel.java | 5 +-
.../scalars/reference/EntityLinkSelect2Panel.java | 5 +-
.../scalars/reference/ReferencePanel.java | 32 ++--
.../valuechoices/ValueChoicesSelect2Panel.java | 8 +-
.../components/tree/IsisToWicketTreeAdapter.java | 9 +-
.../ui/components/tree/TreePanelFactories.java | 5 +-
.../ui/components/unknown/UnknownModelPanel.java | 11 +-
.../ui/components/value/StandaloneValuePanel.java | 5 +-
.../widgets/breadcrumbs/BreadcrumbPanel.java | 3 +-
.../entitysimplelink/EntityLinkSimplePanel.java | 9 +-
.../widgets/linkandlabel/ActionLink.java | 15 +-
.../linkandlabel/ActionLinkFactoryAbstract.java | 11 +-
.../ObjectAdapterMementoProviderAbstract.java | 5 +-
...derForReferenceParamOrPropertyAutoComplete.java | 6 +-
.../viewer/wicket/ui/pages/entity/EntityPage.java | 9 +-
.../wicket/ui/panels/FormExecutorDefault.java | 31 ++--
.../wicket/ui/panels/FormExecutorStrategy.java | 14 +-
.../wicket/ui/panels/PromptFormAbstract.java | 8 +-
81 files changed, 564 insertions(+), 507 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/ObjectAdapter.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/ObjectAdapter.java
index 55bb42e..c787c6b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/ObjectAdapter.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/ObjectAdapter.java
@@ -212,6 +212,7 @@ public interface ObjectAdapter extends ManagedObject {
public static boolean isVisible(
final ManagedObject adapter,
final InteractionInitiatedBy interactionInitiatedBy) {
+
if(adapter == null) {
// a choices list could include a null (eg example in ToDoItems#choices1Categorized()); want to show as "visible"
return true;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/oid/Oid_Marshaller.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/oid/Oid_Marshaller.java
index 1fe1f01..894ec2f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/oid/Oid_Marshaller.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/oid/Oid_Marshaller.java
@@ -25,7 +25,6 @@ import java.util.regex.Pattern;
import java.util.stream.Stream;
import org.apache.isis.applib.services.bookmark.Bookmark;
-import org.apache.isis.commons.internal.assertions._Assert;
import org.apache.isis.commons.internal.assertions._Ensure;
import org.apache.isis.commons.internal.base._Casts;
import org.apache.isis.commons.internal.base._Strings;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionFacet.java
index a157bb8..18434a6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/modify/CollectionFacet.java
@@ -82,27 +82,27 @@ public interface CollectionFacet extends Facet {
public static class Utils {
- public static CollectionFacet getCollectionFacetFromSpec(final ManagedObject objectRepresentingCollection) {
- final ObjectSpecification collectionSpec = objectRepresentingCollection.getSpecification();
+ public static CollectionFacet getCollectionFacetFromSpec(ManagedObject objectRepresentingCollection) {
+ val collectionSpec = objectRepresentingCollection.getSpecification();
return collectionSpec.getFacet(CollectionFacet.class);
}
- public static int size(final ManagedObject collection) {
- final CollectionFacet facet = getCollectionFacetFromSpec(collection);
- return facet.size(collection);
+ public static int size(ManagedObject collection) {
+ val collectionFacet = getCollectionFacetFromSpec(collection);
+ return collectionFacet.size(collection);
}
- public static <T extends ManagedObject> Stream<T> streamAdapters(final T collectionAdapter) {
+ public static <T extends ManagedObject> Stream<T> streamAdapters(T collectionAdapter) {
val collectionFacet = getCollectionFacetFromSpec(collectionAdapter);
return Utils.<T>downCast(collectionFacet.stream(collectionAdapter));
}
- public static <T extends ManagedObject> List<T> toAdapterList(final T collectionAdapter) {
+ public static <T extends ManagedObject> List<T> toAdapterList(T collectionAdapter) {
return streamAdapters(collectionAdapter)
.collect(Collectors.toList());
}
- private static <T extends ManagedObject> Stream<T> downCast(final Stream<ManagedObject> stream) {
+ private static <T extends ManagedObject> Stream<T> downCast(Stream<ManagedObject> stream) {
final Function<ManagedObject, T> uncheckedCast = _Casts::uncheckedCast;
return stream.map(uncheckedCast);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/image/ImageValueFacet.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/image/ImageValueFacet.java
index 370cf9d..fdaf828 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/image/ImageValueFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/image/ImageValueFacet.java
@@ -19,16 +19,16 @@
package org.apache.isis.metamodel.facets.value.image;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.Facet;
+import org.apache.isis.metamodel.spec.ManagedObject;
public interface ImageValueFacet extends Facet {
- ObjectAdapter createValue(java.awt.Image image);
+ ManagedObject createValue(java.awt.Image image);
- java.awt.Image getImage(ObjectAdapter object);
+ java.awt.Image getImage(ManagedObject object);
- int getHeight(ObjectAdapter object);
+ int getHeight(ManagedObject object);
- int getWidth(ObjectAdapter object);
+ int getWidth(ManagedObject object);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/image/ImageValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/image/ImageValueSemanticsProvider.java
index abcc93c..3a12eb7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/image/ImageValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/image/ImageValueSemanticsProvider.java
@@ -20,9 +20,9 @@
package org.apache.isis.metamodel.facets.value.image;
import org.apache.isis.applib.value.Image;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.facetapi.FacetHolder;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class ImageValueSemanticsProvider extends ImageValueSemanticsProviderAbstract<Image> {
@@ -32,16 +32,16 @@ public class ImageValueSemanticsProvider extends ImageValueSemanticsProviderAbst
}
@Override
- public int getHeight(final ObjectAdapter object) {
+ public int getHeight(final ManagedObject object) {
return image(object).getHeight();
}
- private Image image(final ObjectAdapter object) {
+ private Image image(final ManagedObject object) {
return (Image) object.getPojo();
}
@Override
- public java.awt.Image getImage(final ObjectAdapter object) {
+ public java.awt.Image getImage(final ManagedObject object) {
return createImage(image(object).getImage());
}
@@ -55,7 +55,7 @@ public class ImageValueSemanticsProvider extends ImageValueSemanticsProviderAbst
}
@Override
- public int getWidth(final ObjectAdapter object) {
+ public int getWidth(final ManagedObject object) {
return image(object).getWidth();
}
@@ -93,7 +93,7 @@ public class ImageValueSemanticsProvider extends ImageValueSemanticsProviderAbst
}
@Override
- public ObjectAdapter createValue(final java.awt.Image image) {
+ public ManagedObject createValue(final java.awt.Image image) {
return getObjectAdapterProvider().adapterFor(new Image(grabPixels(image)));
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/image/ImageValueSemanticsProviderAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/image/ImageValueSemanticsProviderAbstract.java
index c4e933b..ce0b86e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/image/ImageValueSemanticsProviderAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/image/ImageValueSemanticsProviderAbstract.java
@@ -33,7 +33,9 @@ import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.object.value.vsp.ValueSemanticsProviderAndFacetAbstract;
-public abstract class ImageValueSemanticsProviderAbstract<T> extends ValueSemanticsProviderAndFacetAbstract<T> implements ImageValueFacet {
+public abstract class ImageValueSemanticsProviderAbstract<T>
+extends ValueSemanticsProviderAndFacetAbstract<T>
+implements ImageValueFacet {
private static final int TYPICAL_LENGTH = 18;
private static final Object DEFAULT_VALUE = null; // no default
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/imageawt/JavaAwtImageValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/imageawt/JavaAwtImageValueSemanticsProvider.java
index 69a781c..b953281 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/imageawt/JavaAwtImageValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/value/imageawt/JavaAwtImageValueSemanticsProvider.java
@@ -21,9 +21,9 @@ package org.apache.isis.metamodel.facets.value.imageawt;
import java.awt.Image;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.value.image.ImageValueSemanticsProviderAbstract;
+import org.apache.isis.metamodel.spec.ManagedObject;
public class JavaAwtImageValueSemanticsProvider extends ImageValueSemanticsProviderAbstract<Image> {
@@ -32,16 +32,16 @@ public class JavaAwtImageValueSemanticsProvider extends ImageValueSemanticsProvi
}
@Override
- public int getHeight(final ObjectAdapter object) {
+ public int getHeight(final ManagedObject object) {
return image(object).getHeight(null);
}
- private Image image(final ObjectAdapter object) {
+ private Image image(final ManagedObject object) {
return (Image) object.getPojo();
}
@Override
- public Image getImage(final ObjectAdapter object) {
+ public Image getImage(final ManagedObject object) {
return image(object);
}
@@ -55,7 +55,7 @@ public class JavaAwtImageValueSemanticsProvider extends ImageValueSemanticsProvi
}
@Override
- public int getWidth(final ObjectAdapter object) {
+ public int getWidth(final ManagedObject object) {
return image(object).getWidth(null);
}
@@ -75,7 +75,7 @@ public class JavaAwtImageValueSemanticsProvider extends ImageValueSemanticsProvi
}
@Override
- public ObjectAdapter createValue(final Image image) {
+ public ManagedObject createValue(final Image image) {
return getObjectAdapterProvider().adapterFor(image);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/ManagedObject.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/ManagedObject.java
index 313fb44..1bc6d50 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/ManagedObject.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/ManagedObject.java
@@ -92,14 +92,14 @@ public interface ManagedObject {
return titleString(null);
}
- default String titleString(ObjectAdapter contextAdapterIfAny) {
+ default String titleString(ManagedObject contextAdapterIfAny) {
return TitleUtil.titleString(this, contextAdapterIfAny);
}
public static class TitleUtil {
- public static String titleString(ManagedObject managedObject, ObjectAdapter contextAdapterIfAny) {
+ public static String titleString(ManagedObject managedObject, ManagedObject contextAdapterIfAny) {
if (managedObject.getSpecification().isParentedOrFreeCollection()) {
final CollectionFacet facet = managedObject.getSpecification().getFacet(CollectionFacet.class);
return collectionTitleString(managedObject, facet);
@@ -108,7 +108,7 @@ public interface ManagedObject {
}
}
- private static String objectTitleString(ManagedObject managedObject, ObjectAdapter contextAdapterIfAny) {
+ private static String objectTitleString(ManagedObject managedObject, ManagedObject contextAdapterIfAny) {
if (managedObject.getPojo() instanceof String) {
return (String) managedObject.getPojo();
}
@@ -267,16 +267,6 @@ public interface ManagedObject {
}
@Deprecated
- static RootOid _rootOidIfAny(ManagedObject adapter) {
- // TODO Auto-generated method stub
- val oid = ManagedObject.promote(adapter).getOid();
- if(!(oid instanceof RootOid)) {
- return null;
- }
- return (RootOid) oid;
- }
-
- @Deprecated
static RootOid _collectionOidIfAny(ManagedObject adapter) {
// TODO Auto-generated method stub
val oid = ManagedObject.promote(adapter).getOid();
@@ -313,13 +303,48 @@ public interface ManagedObject {
static Oid _oid(ManagedObject adapter) {
if(adapter instanceof ObjectAdapter) {
- return Oids.copy(promote(adapter).getOid());
+ return Oids.copy(((ObjectAdapter)adapter).getOid());
}
return Oids.oidFactory.oidFor(adapter);
}
-
+ static RootOid _rootOidIfAny(ManagedObject adapter) {
+ val oid = _oid(adapter);
+ if(oid instanceof RootOid) {
+ return (RootOid) oid;
+ }
+ return null;
+ }
+
+ static boolean isEntity(ManagedObject adapter) {
+ if(adapter==null) {
+ return false;
+ }
+ return adapter.getSpecification().isEntity();
+ }
+
+ static boolean isValue(ManagedObject adapter) {
+ if(adapter==null) {
+ return false;
+ }
+ return adapter.getSpecification().isValue();
+ }
+
+ static boolean isBookmarkable(ManagedObject adapter) {
+ if(adapter==null) {
+ return false;
+ }
+ val spec = adapter.getSpecification();
+ if(spec.isManagedBean() || spec.isViewModel() || spec.isEntity()) {
+ // services and view models are bookmarkable
+ return true;
+ }
+ return false;
+// val state = persistenceSession.stateOf(pojo);
+// val isRepresentingPersistent = state.isAttached() || state.isDestroyed();
+// return isRepresentingPersistent;
+ }
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/ImageValueSemanticsProviderAbstractTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/ImageValueSemanticsProviderAbstractTest.java
index a477e9f..e5f5f35 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/ImageValueSemanticsProviderAbstractTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/ImageValueSemanticsProviderAbstractTest.java
@@ -28,9 +28,9 @@ import org.junit.Test;
import org.apache.isis.applib.services.inject.ServiceInjector;
import org.apache.isis.config.IsisConfigurationLegacy;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.value.image.ImageValueSemanticsProviderAbstract;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2;
import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
@@ -96,21 +96,21 @@ class TestImageSemanticsProvider extends ImageValueSemanticsProviderAbstract<int
}
@Override
- public int getHeight(final ObjectAdapter object) {
+ public int getHeight(final ManagedObject object) {
return 0;
}
@Override
- public Image getImage(final ObjectAdapter object) {
+ public Image getImage(final ManagedObject object) {
return null;
}
@Override
- public int getWidth(final ObjectAdapter object) {
+ public int getWidth(final ManagedObject object) {
return 0;
}
- public ObjectAdapter setImage(final ObjectAdapter object, final Image image) {
+ public ManagedObject setImage(final ManagedObject object, final Image image) {
return null;
}
@@ -120,7 +120,7 @@ class TestImageSemanticsProvider extends ImageValueSemanticsProviderAbstract<int
}
@Override
- public ObjectAdapter createValue(final Image image) {
+ public ManagedObject createValue(final Image image) {
return null;
}
}
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/command/CommandDtoServiceInternalDefault.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/command/CommandDtoServiceInternalDefault.java
index a328888..e93386a 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/command/CommandDtoServiceInternalDefault.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/command/CommandDtoServiceInternalDefault.java
@@ -110,7 +110,7 @@ public class CommandDtoServiceInternalDefault implements CommandDtoServiceIntern
dto.setTransactionId(transactionId);
for (val targetAdapter : targetAdapters) {
- final RootOid rootOid = (RootOid) ManagedObject.promote(targetAdapter).getOid();
+ final RootOid rootOid = (RootOid) ManagedObject._oid(targetAdapter);
final Bookmark bookmark = rootOid.asBookmark();
final OidsDto targets = CommandDtoUtils.targetsFor(dto);
targets.getOid().add(bookmark.toOidDto());
diff --git a/core/runtime-web/src/main/java/org/apache/isis/webapp/modules/h2console/WebModuleH2Console.java b/core/runtime-web/src/main/java/org/apache/isis/webapp/modules/h2console/WebModuleH2Console.java
index 5773dcc..8ab50cf 100644
--- a/core/runtime-web/src/main/java/org/apache/isis/webapp/modules/h2console/WebModuleH2Console.java
+++ b/core/runtime-web/src/main/java/org/apache/isis/webapp/modules/h2console/WebModuleH2Console.java
@@ -23,7 +23,6 @@ import javax.servlet.ServletContext;
import javax.servlet.ServletContextListener;
import javax.servlet.ServletException;
-import org.apache.isis.config.IsisConfiguration;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Service;
@@ -31,7 +30,7 @@ import org.apache.isis.applib.value.LocalResourcePath;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.context._Context;
import org.apache.isis.commons.internal.environment.IsisSystemEnvironment;
-import org.apache.isis.config.IsisConfigurationLegacy;
+import org.apache.isis.config.IsisConfiguration;
import org.apache.isis.webapp.modules.WebModule;
import org.apache.isis.webapp.modules.WebModuleContext;
diff --git a/core/runtime/src/main/java/org/apache/isis/runtime/memento/ObjectAdapterMemento.java b/core/runtime/src/main/java/org/apache/isis/runtime/memento/ObjectAdapterMemento.java
index 378965b..21dd132 100644
--- a/core/runtime/src/main/java/org/apache/isis/runtime/memento/ObjectAdapterMemento.java
+++ b/core/runtime/src/main/java/org/apache/isis/runtime/memento/ObjectAdapterMemento.java
@@ -35,6 +35,7 @@ import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.oid.RootOid;
import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecId;
+import org.apache.isis.metamodel.specloader.SpecificationLoader;
import org.apache.isis.runtime.memento.ObjectAdapterMementoDefault.RecreateStrategy;
import lombok.val;
@@ -68,9 +69,7 @@ public interface ObjectAdapterMemento extends Serializable {
ObjectSpecId getObjectSpecId();
- ObjectAdapter getObjectAdapter();
-
- void resetVersion();
+ ObjectAdapter getObjectAdapter(SpecificationLoader specificationLoader);
// -- FACTORIES
diff --git a/core/runtime/src/main/java/org/apache/isis/runtime/memento/ObjectAdapterMementoCollection.java b/core/runtime/src/main/java/org/apache/isis/runtime/memento/ObjectAdapterMementoCollection.java
index ade2b4f..6812613 100644
--- a/core/runtime/src/main/java/org/apache/isis/runtime/memento/ObjectAdapterMementoCollection.java
+++ b/core/runtime/src/main/java/org/apache/isis/runtime/memento/ObjectAdapterMementoCollection.java
@@ -29,6 +29,7 @@ import org.apache.isis.commons.internal.ioc.BeanSort;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.oid.RootOid;
import org.apache.isis.metamodel.spec.ObjectSpecId;
+import org.apache.isis.metamodel.specloader.SpecificationLoader;
import org.apache.isis.runtime.system.context.IsisContext;
import lombok.Getter;
@@ -49,16 +50,11 @@ final class ObjectAdapterMementoCollection implements ObjectAdapterMemento {
@Getter(onMethod = @__({@Override})) private final ObjectSpecId objectSpecId;
@Override
- public void resetVersion() {
- throw _Exceptions.notImplemented(); // please unwrap at call-site
- }
-
- @Override
- public ObjectAdapter getObjectAdapter() {
+ public ObjectAdapter getObjectAdapter(SpecificationLoader specificationLoader) {
//TODO[2112] we don't need the persistence layer to do that!
val listOfPojos = getContainer().stream()
- .map(ObjectAdapterMemento::getObjectAdapter)
+ .map(memento->memento.getObjectAdapter(specificationLoader))
.filter(_NullSafe::isPresent)
.map(ObjectAdapter::getPojo)
.filter(_NullSafe::isPresent)
diff --git a/core/runtime/src/main/java/org/apache/isis/runtime/memento/ObjectAdapterMementoSupport_usingDefault.java b/core/runtime/src/main/java/org/apache/isis/runtime/memento/ObjectAdapterMementoSupport_usingDefault.java
index aa7947a..68163be 100644
--- a/core/runtime/src/main/java/org/apache/isis/runtime/memento/ObjectAdapterMementoSupport_usingDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/runtime/memento/ObjectAdapterMementoSupport_usingDefault.java
@@ -53,7 +53,7 @@ implements ObjectAdapterMementoSupport {
@Override
public ObjectAdapterMemento mementoForRootOid(RootOid rootOid) {
val delegate = ObjectAdapterMementoDefault.createPersistent(rootOid, specificationLoader);
- return ObjectAdapterMementoDelegator.of(delegate, specificationLoader);
+ return ObjectAdapterMementoDelegator.of(delegate);
}
@Override
@@ -62,7 +62,7 @@ implements ObjectAdapterMementoSupport {
if(delegate==null) {
return null;
}
- return ObjectAdapterMementoDelegator.of(delegate, specificationLoader);
+ return ObjectAdapterMementoDelegator.of(delegate);
}
@Override
@@ -74,7 +74,7 @@ implements ObjectAdapterMementoSupport {
@Override
public ObjectAdapter reconstructObjectAdapter(ObjectAdapterMemento memento) {
- return memento.getObjectAdapter();
+ return memento.getObjectAdapter(specificationLoader);
}
@RequiredArgsConstructor(staticName = "of")
@@ -83,7 +83,6 @@ implements ObjectAdapterMementoSupport {
private static final long serialVersionUID = 1L;
private final ObjectAdapterMementoDefault delegate;
- private final transient SpecificationLoader specificationLoader;
@Override
public UUID getStoreKey() {
@@ -121,15 +120,10 @@ implements ObjectAdapterMementoSupport {
}
@Override
- public ObjectAdapter getObjectAdapter() {
+ public ObjectAdapter getObjectAdapter(SpecificationLoader specificationLoader) {
return delegate.getObjectAdapter(persistenceSession(), specificationLoader);
}
-
- @Override
- public void resetVersion() {
- delegate.resetVersion(persistenceSession(), specificationLoader);
- }
-
+
private PersistenceSession persistenceSession() {
return IsisContext.getPersistenceSession().get();
}
diff --git a/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/adaptermanager/ObjectAdapterContext_MementoSupport.java b/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/adaptermanager/ObjectAdapterContext_MementoSupport.java
index c98867b..4542178 100644
--- a/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/adaptermanager/ObjectAdapterContext_MementoSupport.java
+++ b/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/adaptermanager/ObjectAdapterContext_MementoSupport.java
@@ -211,11 +211,12 @@ class ObjectAdapterContext_MementoSupport implements MementoRecreateObjectSuppor
}
private void updateOneToManyAssociation(
- final ObjectAdapter objectAdapter,
- final OneToManyAssociation otma,
- final CollectionData collectionData) {
+ ManagedObject objectAdapter,
+ OneToManyAssociation otma,
+ CollectionData collectionData) {
val collection = otma.get(objectAdapter, InteractionInitiatedBy.FRAMEWORK);
+
final Set<ObjectAdapter> original = CollectionFacet.Utils.streamAdapters(ManagedObject.promote(collection))
.collect(Collectors.toCollection(LinkedHashSet::new));
final Set<ObjectAdapter> incoming = collectionData.streamElements()
diff --git a/core/viewer-wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication_newPageFactory.java b/core/viewer-wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication_newPageFactory.java
index 37c1759..8d0b193 100644
--- a/core/viewer-wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication_newPageFactory.java
+++ b/core/viewer-wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication_newPageFactory.java
@@ -24,6 +24,7 @@ import org.apache.wicket.request.component.IRequestablePage;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.isis.commons.internal.base._Casts;
+import org.apache.isis.viewer.wicket.model.common.PageParametersUtils;
import org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage;
import lombok.RequiredArgsConstructor;
@@ -66,6 +67,11 @@ class IsisWicketApplication_newPageFactory {
@Override
public <C extends IRequestablePage> C newPage(Class<C> pageClass) {
+
+ if(EntityPage.class.equals(pageClass)) {
+ return _Casts.uncheckedCast(new EntityPage(holder.getCommonContext(), PageParametersUtils.newPageParameters()));
+ }
+
return delegate.newPage(pageClass);
}
diff --git a/core/viewer-wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapterMemento.java b/core/viewer-wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapterMemento.java
index 9359bf6..a644270 100644
--- a/core/viewer-wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapterMemento.java
+++ b/core/viewer-wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapterMemento.java
@@ -66,7 +66,7 @@ public class ConverterForObjectAdapterMemento implements IConverter<ObjectAdapte
if (memento == null) {
return null;
}
- final Oid oid = memento.getObjectAdapter().getOid();
+ final Oid oid = memento.getObjectAdapter(commonContext.getSpecificationLoader()).getOid();
if (oid == null || oid.isValue()) {
// values
return memento.toString();
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/common/OnConcurrencyExceptionHandler.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/common/OnConcurrencyExceptionHandler.java
index 4c6f169..a99ae2d 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/common/OnConcurrencyExceptionHandler.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/common/OnConcurrencyExceptionHandler.java
@@ -24,8 +24,8 @@ import java.io.Serializable;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.version.ConcurrencyException;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* Decouples the handling of concurrency exceptions when a bulk action is invoked (between the toggle box column and the
@@ -34,7 +34,8 @@ import org.apache.isis.metamodel.adapter.version.ConcurrencyException;
public interface OnConcurrencyExceptionHandler extends Serializable {
void onConcurrencyException(
- Component context, ObjectAdapter selectedAdapter,
+ Component context,
+ ManagedObject selectedAdapter,
ConcurrencyException ex,
AjaxRequestTarget ajaxRequestTarget);
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/common/OnSelectionHandler.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/common/OnSelectionHandler.java
index 7075f97..cb08dc0 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/common/OnSelectionHandler.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/common/OnSelectionHandler.java
@@ -24,7 +24,7 @@ import java.io.Serializable;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
/**
* Decouples the selecting of items (by a toggle box column) from the invocation of bulk actions on those items (by
@@ -32,9 +32,7 @@ import org.apache.isis.metamodel.adapter.ObjectAdapter;
*/
public interface OnSelectionHandler extends Serializable {
- void onSelected(
- Component context, ObjectAdapter selectedAdapter,
- AjaxRequestTarget ajaxRequestTarget);
+ void onSelected(Component context, ManagedObject selectedAdapter, AjaxRequestTarget ajaxRequestTarget);
}
\ No newline at end of file
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
index 57a6b55..f8854d5 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
@@ -28,8 +28,8 @@ import org.apache.isis.applib.annotation.ActionLayout;
import org.apache.isis.applib.annotation.PromptStyle;
import org.apache.isis.applib.annotation.SemanticsOf;
import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaPosition;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
public class LinkAndLabel implements Serializable {
@@ -43,7 +43,7 @@ public class LinkAndLabel implements Serializable {
}
public static LinkAndLabel newLinkAndLabel(
- final ObjectAdapter objectAdapter,
+ final ManagedObject objectAdapter,
final ObjectAction objectAction,
final AbstractLink link,
final boolean blobOrClob) {
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionArgumentModel.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionArgumentModel.java
index 532ed26..2c43b83 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionArgumentModel.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionArgumentModel.java
@@ -20,14 +20,14 @@ package org.apache.isis.viewer.wicket.model.models;
import org.apache.wicket.model.IModel;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.mementos.ActionParameterMemento;
-public interface ActionArgumentModel extends IModel<ObjectAdapter> {
+public interface ActionArgumentModel extends IModel<ManagedObject> {
ActionParameterMemento getParameterMemento();
void reset();
- void setActionArgsHint(ObjectAdapter[] argumentsAsArray);
+ void setActionArgsHint(ManagedObject[] argumentsAsArray);
}
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
index ba5f7da..402b6b3 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
@@ -51,7 +51,6 @@ import org.apache.isis.applib.value.NamedWithMimeType;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.commons.internal.collections._Maps;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.oid.Oid;
import org.apache.isis.metamodel.adapter.oid.RootOid;
import org.apache.isis.metamodel.consent.Consent;
@@ -77,7 +76,7 @@ import org.apache.isis.webapp.context.IsisWebAppCommonContext;
import lombok.val;
-public class ActionModel extends BookmarkableModel<ObjectAdapter> implements FormExecutorContext {
+public class ActionModel extends BookmarkableModel<ManagedObject> implements FormExecutorContext {
private static final long serialVersionUID = 1L;
@@ -119,7 +118,7 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> implements For
*
* see {@link #ActionModel(PageParameters, SpecificationLoader)}
*/
- public static PageParameters createPageParameters(ObjectAdapter adapter, ObjectAction objectAction) {
+ public static PageParameters createPageParameters(ManagedObject adapter, ObjectAction objectAction) {
val pageParameters = PageParametersUtils.newPageParameters();
@@ -127,7 +126,7 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> implements For
// adapter.getOid().enString():
// adapter.getOid().enStringNoVersion();
- val oidStr = adapter.getOid().enStringNoVersion();
+ val oidStr = ManagedObject._oid(adapter).enStringNoVersion();
PageParameterNames.OBJECT_OID.addStringTo(pageParameters, oidStr);
@@ -192,14 +191,14 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> implements For
@Override
public PageParameters getPageParametersWithoutUiHints() {
- final ObjectAdapter adapter = getTargetAdapter();
+ val adapter = getTargetAdapter();
final ObjectAction objectAction = getAction();
final PageParameters pageParameters = createPageParameters(
adapter, objectAction);
// capture argument values
- final ObjectAdapter[] argumentsAsArray = getArgumentsAsArray();
- for(final ObjectAdapter argumentAdapter: argumentsAsArray) {
+ final ManagedObject[] argumentsAsArray = getArgumentsAsArray();
+ for(val argumentAdapter: argumentsAsArray) {
final String encodedArg = encodeArg(argumentAdapter);
PageParameterNames.ACTION_ARGS.addStringTo(pageParameters, encodedArg);
}
@@ -215,12 +214,12 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> implements For
@Override
public String getTitle() {
- final ObjectAdapter adapter = getTargetAdapter();
+ val adapter = getTargetAdapter();
final ObjectAction objectAction = getAction();
final StringBuilder buf = new StringBuilder();
- final ObjectAdapter[] argumentsAsArray = getArgumentsAsArray();
- for(final ObjectAdapter argumentAdapter: argumentsAsArray) {
+ final ManagedObject[] argumentsAsArray = getArgumentsAsArray();
+ for(val argumentAdapter: argumentsAsArray) {
if(buf.length() > 0) {
buf.append(",");
}
@@ -240,7 +239,7 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> implements For
//////////////////////////////////////////////////
- private static String titleOf(final ObjectAdapter argumentAdapter) {
+ private static String titleOf(ManagedObject argumentAdapter) {
return argumentAdapter!=null?argumentAdapter.titleString(null):"";
}
@@ -370,11 +369,11 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> implements For
}
private void setArgument(final int paramNum, final ObjectSpecification argSpec, final String encoded) {
- final ObjectAdapter argumentAdapter = decodeArg(argSpec, encoded);
+ val argumentAdapter = decodeArg(argSpec, encoded);
setArgument(paramNum, argumentAdapter);
}
- private String encodeArg(final ObjectAdapter adapter) {
+ private String encodeArg(ManagedObject adapter) {
if(adapter == null) {
return NULL_ARG;
}
@@ -385,10 +384,10 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> implements For
return encodeable.toEncodedString(adapter);
}
- return adapter.getOid().enStringNoVersion();
+ return ManagedObject._oid(adapter).enStringNoVersion();
}
- private ObjectAdapter decodeArg(final ObjectSpecification objSpec, final String encoded) {
+ private ManagedObject decodeArg(final ObjectSpecification objSpec, final String encoded) {
if(NULL_ARG.equals(encoded)) {
return null;
}
@@ -407,7 +406,8 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> implements For
}
}
- private void setArgument(final int paramNum, final ObjectAdapter argumentAdapter) {
+ private void setArgument(int paramNum, ManagedObject argumentAdapter) {
+
final ObjectAction action = actionMemento.getAction(getSpecificationLoader());
final ObjectActionParameter actionParam = action.getParameters().get(paramNum);
final ActionParameterMemento apm = new ActionParameterMemento(actionParam);
@@ -427,7 +427,7 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> implements For
return actionArgumentModel;
}
- public ObjectAdapter getTargetAdapter() {
+ public ManagedObject getTargetAdapter() {
return entityModel.load();
}
@@ -436,13 +436,13 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> implements For
}
@Override
- protected ObjectAdapter load() {
+ protected ManagedObject load() {
// from getObject()/reExecute
detach(); // force re-execute
// TODO: think we need another field to determine if args have been populated.
- final ObjectAdapter results = executeAction();
+ val results = executeAction();
return results;
}
@@ -454,10 +454,10 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> implements For
// for any other value for Where
public static final Where WHERE_FOR_ACTION_INVOCATION = Where.ANYWHERE;
- private ObjectAdapter executeAction() {
+ private ManagedObject executeAction() {
- final ObjectAdapter targetAdapter = getTargetAdapter();
- final ObjectAdapter[] arguments = getArgumentsAsArray();
+ val targetAdapter = getTargetAdapter();
+ final ManagedObject[] arguments = getArgumentsAsArray();
final ObjectAction action = getAction();
// if this action is a mixin, then it will fill in the details automatically.
@@ -487,7 +487,7 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> implements For
public String getReasonDisabledIfAny() {
- final ObjectAdapter targetAdapter = getTargetAdapter();
+ val targetAdapter = getTargetAdapter();
final ObjectAction objectAction = getAction();
final Consent usability =
@@ -502,8 +502,8 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> implements For
public boolean isVisible() {
- final ObjectAdapter targetAdapter = getTargetAdapter();
- final ObjectAction objectAction = getAction();
+ val targetAdapter = getTargetAdapter();
+ val objectAction = getAction();
final Consent visibility =
objectAction.isVisible(
@@ -515,8 +515,8 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> implements For
public String getReasonInvalidIfAny() {
- final ObjectAdapter targetAdapter = getTargetAdapter();
- final ObjectAdapter[] proposedArguments = getArgumentsAsArray();
+ val targetAdapter = getTargetAdapter();
+ final ManagedObject[] proposedArguments = getArgumentsAsArray();
final ObjectAction objectAction = getAction();
final Consent validity = objectAction.isProposedArgumentSetValid(targetAdapter, proposedArguments,
InteractionInitiatedBy.USER);
@@ -524,17 +524,17 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> implements For
}
@Override
- public void setObject(final ObjectAdapter object) {
+ public void setObject(final ManagedObject object) {
throw new UnsupportedOperationException("target adapter for ActionModel cannot be changed");
}
- public ObjectAdapter[] getArgumentsAsArray() {
+ public ManagedObject[] getArgumentsAsArray() {
if(this.arguments.size() < getAction().getParameterCount()) {
primeArgumentModels();
}
final ObjectAction objectAction = getAction();
- final ObjectAdapter[] arguments = new ObjectAdapter[objectAction.getParameterCount()];
+ final ManagedObject[] arguments = new ManagedObject[objectAction.getParameterCount()];
for (int i = 0; i < arguments.length; i++) {
final ActionArgumentModel actionArgumentModel = this.arguments.get(i);
arguments[i] = actionArgumentModel.getObject();
@@ -571,8 +571,8 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> implements For
* Previously there was exception handling code here also, but this has now been centralized
* within FormExecutorAbstract
*/
- public ObjectAdapter execute() {
- final ObjectAdapter resultAdapter = this.getObject();
+ public ManagedObject execute() {
+ final ManagedObject resultAdapter = this.getObject();
return resultAdapter;
}
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
index dc369f0..df5ad1a 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
@@ -25,7 +25,6 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
-import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -91,7 +90,7 @@ implements LinksProvider, UiHintContainer {
}
public static EntityCollectionModel createStandalone(
- ObjectAdapter collectionAsAdapter,
+ ManagedObject collectionAsAdapter,
ModelAbstract<?> model) {
// dynamically determine the spec of the elements
@@ -201,7 +200,7 @@ implements LinksProvider, UiHintContainer {
private Stream<ObjectAdapter> loadElementsOneByOne(final EntityCollectionModel model) {
return stream(model.mementoList)
- .map(ObjectAdapterMemento::getObjectAdapter)
+ .map(memento->memento.getObjectAdapter(model.getSpecificationLoader()))
.filter(_NullSafe::isPresent);
}
@@ -247,10 +246,11 @@ implements LinksProvider, UiHintContainer {
@Override
List<ObjectAdapter> load(EntityCollectionModel colModel) {
- final ObjectAdapter adapter = colModel.getParentObjectAdapterMemento().getObjectAdapter();
+ final ObjectAdapter adapter = colModel.getParentObjectAdapterMemento()
+ .getObjectAdapter(colModel.getSpecificationLoader());
- final OneToManyAssociation collection = colModel.collectionMemento.getCollection(
- colModel.getSpecificationLoader());
+ final OneToManyAssociation collection = colModel.collectionMemento
+ .getCollection(colModel.getSpecificationLoader());
final ManagedObject collectionAsAdapter = collection.get(adapter, InteractionInitiatedBy.USER);
@@ -514,16 +514,16 @@ implements LinksProvider, UiHintContainer {
return collectionMemento;
}
- private static Iterable<Object> asIterable(final ObjectAdapter resultAdapter) {
+ private static Iterable<Object> asIterable(final ManagedObject resultAdapter) {
return _Casts.uncheckedCast(resultAdapter.getPojo());
}
- private static Stream<Object> streamElementsOf(final ObjectAdapter resultAdapter) {
+ private static Stream<Object> streamElementsOf(final ManagedObject resultAdapter) {
return _NullSafe.stream(asIterable(resultAdapter));
}
- public void toggleSelectionOn(ObjectAdapter selectedAdapter) {
+ public void toggleSelectionOn(ManagedObject selectedAdapter) {
ObjectAdapterMemento selectedAsMemento = ObjectAdapterMemento
.ofAdapter(selectedAdapter, super.getMementoSupport());
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
index b6ab811..87952eb 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
@@ -55,13 +55,13 @@ import lombok.RequiredArgsConstructor;
import lombok.val;
/**
- * Backing model to represent a {@link ObjectAdapter}.
+ * Backing model to represent a {@link ManagedObject}.
*
* <p>
- * So that the model is {@link Serializable}, the {@link ObjectAdapter} is
+ * So that the model is {@link Serializable}, the {@link ManagedObject} is
* stored as a {@link ObjectAdapterMemento}.
*/
-public class EntityModel extends BookmarkableModel<ObjectAdapter>
+public class EntityModel extends BookmarkableModel<ManagedObject>
implements ObjectAdapterModel, UiHintContainer {
private static final long serialVersionUID = 1L;
@@ -72,14 +72,13 @@ implements ObjectAdapterModel, UiHintContainer {
* Factory method for creating {@link PageParameters} to represent an
* entity.
*/
- public static PageParameters createPageParameters(final ObjectAdapter adapter) {
+ public static PageParameters createPageParameters(ManagedObject adapter) {
- final PageParameters pageParameters = PageParametersUtils.newPageParameters();
+ val pageParameters = PageParametersUtils.newPageParameters();
+ val isEntity = ManagedObject.isEntity(adapter);
- final Boolean persistent = adapter != null && adapter.isRepresentingPersistent();
-
- if (persistent) {
- final String oidStr = adapter.getOid().enStringNoVersion();
+ if (isEntity) {
+ val oidStr = ManagedObject._oid(adapter).enStringNoVersion();
PageParameterNames.OBJECT_OID.addStringTo(pageParameters, oidStr);
} else {
// don't do anything; instead the page should be redirected back to
@@ -89,15 +88,7 @@ implements ObjectAdapterModel, UiHintContainer {
return pageParameters;
}
- @Deprecated //TODO [2033] remove
- public void resetVersion() {
- if(getObjectAdapterMemento() == null) {
- return;
- }
- getObjectAdapterMemento().resetVersion();
- }
-
- public enum RenderingHint {
+ public enum RenderingHint {
REGULAR(Where.OBJECT_FORMS),
PARENTED_PROPERTY_COLUMN(Where.PARENTED_TABLES),
PARENTED_TITLE_COLUMN(Where.PARENTED_TABLES),
@@ -344,21 +335,21 @@ implements ObjectAdapterModel, UiHintContainer {
* Callback from {@link #getObject()}.
*/
@Override
- public ObjectAdapter load() {
+ public ManagedObject load() {
if (adapterMemento == null) {
return null;
}
- final ObjectAdapter objectAdapter = adapterMemento.getObjectAdapter();
- return objectAdapter;
+ val adapter = adapterMemento.getObjectAdapter(getSpecificationLoader());
+ return adapter;
}
@Deprecated //removed with ISIS-2154
- public ObjectAdapter loadWithConcurrencyChecking() {
+ public ManagedObject loadWithConcurrencyChecking() {
return load();
}
@Override
- public void setObject(final ObjectAdapter adapter) {
+ public void setObject(ManagedObject adapter) {
super.setObject(adapter);
adapterMemento = ObjectAdapterMemento.ofAdapter(adapter, super.getMementoSupport());
}
@@ -366,7 +357,7 @@ implements ObjectAdapterModel, UiHintContainer {
public void setObjectMemento(final ObjectAdapterMemento memento) {
super.setObject(
memento != null
- ? memento.getObjectAdapter()
+ ? memento.getObjectAdapter(getSpecificationLoader())
: null);
adapterMemento = memento;
}
@@ -399,14 +390,14 @@ implements ObjectAdapterModel, UiHintContainer {
* {@link #getObject() entity}.
*/
public void resetPropertyModels() {
- adapterMemento.resetVersion();
+ //adapterMemento.resetVersion();
for (final PropertyMemento pm : propertyScalarModels.keySet()) {
OneToOneAssociation otoa = pm.getProperty(super.getSpecificationLoader());
val scalarModel = propertyScalarModels.get(pm);
val adapter = getObject();
val associatedAdapter =
otoa.get(adapter, InteractionInitiatedBy.USER);
- scalarModel.setObject(ManagedObject.promote(associatedAdapter));
+ scalarModel.setObject(associatedAdapter);
}
}
@@ -528,7 +519,7 @@ implements ObjectAdapterModel, UiHintContainer {
if (hasPending) {
return pending;
}
- final ObjectAdapter adapter = entityModel.getObject();
+ val adapter = entityModel.getObject();
return ObjectAdapterMemento.ofAdapter(adapter, entityModel.getMementoSupport());
}
@@ -546,11 +537,11 @@ implements ObjectAdapterModel, UiHintContainer {
private ObjectAdapter getPendingAdapter() {
final ObjectAdapterMemento memento = getObject();
return memento != null
- ? memento.getObjectAdapter()
+ ? memento.getObjectAdapter(entityModel.getSpecificationLoader())
: null;
}
- public ObjectAdapter getPendingElseCurrentAdapter() {
+ public ManagedObject getPendingElseCurrentAdapter() {
return hasPending ? getPendingAdapter() : entityModel.getObject();
}
@@ -565,7 +556,7 @@ implements ObjectAdapterModel, UiHintContainer {
}
- public ObjectAdapter getPendingElseCurrentAdapter() {
+ public ManagedObject getPendingElseCurrentAdapter() {
return pendingModel.getPendingElseCurrentAdapter();
}
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModelForReference.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModelForReference.java
index 2565f72..eb77373 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModelForReference.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModelForReference.java
@@ -21,7 +21,7 @@ package org.apache.isis.viewer.wicket.model.models;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.isis.applib.services.hint.HintStore;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.runtime.memento.ObjectAdapterMemento;
@@ -44,12 +44,12 @@ public class EntityModelForReference implements ObjectAdapterModel {
}
@Override
- public ObjectAdapter getObject() {
+ public ManagedObject getObject() {
return scalarModel.getPendingElseCurrentAdapter();
}
@Override
- public void setObject(final ObjectAdapter adapter) {
+ public void setObject(final ManagedObject adapter) {
// no-op
}
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ObjectAdapterModel.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ObjectAdapterModel.java
index ebe68b7..011fc1c 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ObjectAdapterModel.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ObjectAdapterModel.java
@@ -21,17 +21,17 @@ package org.apache.isis.viewer.wicket.model.models;
import org.apache.wicket.model.IModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.runtime.memento.ObjectAdapterMemento;
-public interface ObjectAdapterModel extends IModel<ObjectAdapter> {
+public interface ObjectAdapterModel extends IModel<ManagedObject> {
ObjectAdapterMemento getContextAdapterIfAny();
void setContextAdapterIfAny(ObjectAdapterMemento contextAdapterIfAny);
EntityModel.RenderingHint getRenderingHint();
- void setRenderingHint(final EntityModel.RenderingHint renderingHint);
+ void setRenderingHint(EntityModel.RenderingHint renderingHint);
PageParameters getPageParametersWithoutUiHints();
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
index fe2f169..5851a3c 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
@@ -58,7 +58,7 @@ import org.apache.isis.viewer.wicket.model.links.LinksProvider;
import org.apache.isis.viewer.wicket.model.mementos.ActionParameterMemento;
import org.apache.isis.viewer.wicket.model.mementos.PropertyMemento;
-import lombok.val;
+
/**
* Represents a scalar of an entity, either a {@link Kind#PROPERTY property} or
@@ -78,7 +78,8 @@ import lombok.val;
* common superclass for both EntityModel and ScalarModel.
* </p>
*/
-public class ScalarModel extends EntityModel implements LinksProvider, FormExecutorContext, ActionArgumentModel {
+public class ScalarModel extends EntityModel
+implements LinksProvider, FormExecutorContext, ActionArgumentModel {
private static final long serialVersionUID = 1L;
@@ -110,7 +111,7 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
@Override
public boolean whetherHidden(final ScalarModel scalarModel, final Where where) {
- final ObjectAdapter parentAdapter = scalarModel.getParentEntityModel().load();
+ final ManagedObject parentAdapter = scalarModel.getParentEntityModel().load();
final OneToOneAssociation property = scalarModel.getPropertyMemento().getProperty(scalarModel.getSpecificationLoader());
try {
final Consent visibility = property.isVisible(parentAdapter, InteractionInitiatedBy.USER, where);
@@ -122,7 +123,7 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
@Override
public String whetherDisabled(final ScalarModel scalarModel, final Where where) {
- final ObjectAdapter parentAdapter = scalarModel.getParentEntityModel().load();
+ final ManagedObject parentAdapter = scalarModel.getParentEntityModel().load();
final OneToOneAssociation property = scalarModel.getPropertyMemento().getProperty(scalarModel.getSpecificationLoader());
try {
final Consent usable = property.isUsable(parentAdapter, InteractionInitiatedBy.USER, where);
@@ -140,9 +141,9 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
parseableFacet = property.getSpecification().getFacet(ParseableFacet.class);
}
try {
- final ObjectAdapter parentAdapter = scalarModel.getParentEntityModel().load();
+ final ManagedObject parentAdapter = scalarModel.getParentEntityModel().load();
final ManagedObject currentValue = property.get(parentAdapter, InteractionInitiatedBy.USER);
- final ObjectAdapter proposedAdapter =
+ final ManagedObject proposedAdapter =
parseableFacet.parseTextEntry(currentValue, proposedPojoAsStr, InteractionInitiatedBy.USER);
final Consent valid = property.isAssociationValid(parentAdapter, proposedAdapter,
InteractionInitiatedBy.USER);
@@ -157,8 +158,8 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
}
@Override
- public String validate(final ScalarModel scalarModel, final ObjectAdapter proposedAdapter) {
- final ObjectAdapter parentAdapter = scalarModel.getParentEntityModel().load();
+ public String validate(final ScalarModel scalarModel, final ManagedObject proposedAdapter) {
+ final ManagedObject parentAdapter = scalarModel.getParentEntityModel().load();
final OneToOneAssociation property = scalarModel.getPropertyMemento().getProperty(scalarModel.getSpecificationLoader());
try {
final Consent valid = property.isAssociationValid(parentAdapter, proposedAdapter,
@@ -182,16 +183,16 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
}
@Override
- public ObjectAdapter getDefault(
+ public ManagedObject getDefault(
final ScalarModel scalarModel,
- final ObjectAdapter[] argsIfAvailable,
+ final ManagedObject[] argsIfAvailable,
final int paramNumUpdated,
final AuthenticationSession authenticationSession) {
final PropertyMemento propertyMemento = scalarModel.getPropertyMemento();
final OneToOneAssociation property = propertyMemento.getProperty(scalarModel.getSpecificationLoader());
- ObjectAdapter parentAdapter = scalarModel.getParentEntityModel().load();
- return ManagedObject.promote(property.getDefault(parentAdapter));
+ ManagedObject parentAdapter = scalarModel.getParentEntityModel().load();
+ return property.getDefault(parentAdapter);
}
@Override
@@ -202,14 +203,14 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
}
@Override
- public List<ObjectAdapter> getChoices(
+ public List<ManagedObject> getChoices(
final ScalarModel scalarModel,
- final ObjectAdapter[] argumentsIfAvailable,
+ final ManagedObject[] argumentsIfAvailable,
final AuthenticationSession authenticationSession) {
final PropertyMemento propertyMemento = scalarModel.getPropertyMemento();
final OneToOneAssociation property = propertyMemento.getProperty(scalarModel.getSpecificationLoader());
- ObjectAdapter parentAdapter = scalarModel.getParentEntityModel().load();
+ ManagedObject parentAdapter = scalarModel.getParentEntityModel().load();
final ManagedObject[] choices = property.getChoices(
parentAdapter,
InteractionInitiatedBy.USER);
@@ -225,14 +226,14 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
}
@Override
- public List<ObjectAdapter> getAutoComplete(
+ public List<ManagedObject> getAutoComplete(
final ScalarModel scalarModel,
final String searchArg,
final AuthenticationSession authenticationSession) {
final PropertyMemento propertyMemento = scalarModel.getPropertyMemento();
final OneToOneAssociation property = propertyMemento.getProperty(scalarModel.getSpecificationLoader());
- final ObjectAdapter parentAdapter =
+ final ManagedObject parentAdapter =
scalarModel.getParentEntityModel().load();
final ManagedObject[] choices =
property.getAutoComplete(
@@ -253,12 +254,6 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
}
}
-
- @Override
- public void resetVersion(ScalarModel scalarModel) {
- scalarModel.getParentEntityModel().resetVersion();
- }
-
@Override
public String getDescribedAs(final ScalarModel scalarModel) {
final PropertyMemento propertyMemento = scalarModel.getPropertyMemento();
@@ -308,13 +303,14 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
public void reset(ScalarModel scalarModel) {
final OneToOneAssociation property = scalarModel.propertyMemento.getProperty(scalarModel.getSpecificationLoader());
- final ObjectAdapter parentAdapter = scalarModel.getParentEntityModel().load();
+ //XXX lombok issue, no val
+ ManagedObject parentAdapter = scalarModel.getParentEntityModel().load();
setObjectFromPropertyIfVisible(scalarModel, property, parentAdapter);
}
@Override
- public ObjectAdapter load(final ScalarModel scalarModel) {
+ public ManagedObject load(final ScalarModel scalarModel) {
return scalarModel.loadFromSuper();
}
@@ -377,7 +373,8 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
final ObjectActionParameter parameter = scalarModel.getParameterMemento().getActionParameter(
scalarModel.getSpecificationLoader());
try {
- final ObjectAdapter parentAdapter = scalarModel.getParentEntityModel().load();
+ //XXX lombok issue, no val
+ ManagedObject parentAdapter = scalarModel.getParentEntityModel().load();
final String invalidReasonIfAny = parameter.isValid(parentAdapter, proposedPojoAsStr,
InteractionInitiatedBy.USER
);
@@ -388,11 +385,12 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
}
@Override
- public String validate(final ScalarModel scalarModel, final ObjectAdapter proposedAdapter) {
+ public String validate(final ScalarModel scalarModel, final ManagedObject proposedAdapter) {
final ObjectActionParameter parameter = scalarModel.getParameterMemento().getActionParameter(
scalarModel.getSpecificationLoader());
try {
- final ObjectAdapter parentAdapter = scalarModel.getParentEntityModel().load();
+ //XXX lombok issue, no val
+ ManagedObject parentAdapter = scalarModel.getParentEntityModel().load();
final String invalidReasonIfAny = parameter.isValid(parentAdapter, proposedAdapter.getPojo(),
InteractionInitiatedBy.USER
);
@@ -417,18 +415,18 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
}
@Override
- public ObjectAdapter getDefault(
+ public ManagedObject getDefault(
final ScalarModel scalarModel,
- final ObjectAdapter[] argsIfAvailable,
+ final ManagedObject[] argsIfAvailable,
final int paramNumUpdated,
final AuthenticationSession authenticationSession) {
final ActionParameterMemento parameterMemento = scalarModel.getParameterMemento();
final ObjectActionParameter actionParameter = parameterMemento.getActionParameter(scalarModel.getSpecificationLoader());
- final ObjectAdapter parentAdapter = scalarModel.getParentEntityModel().load();
- return ManagedObject.promote(actionParameter.getDefault(parentAdapter, argsIfAvailable, paramNumUpdated)
- );
+ //XXX lombok issue, no val
+ ManagedObject parentAdapter = scalarModel.getParentEntityModel().load();
+ return actionParameter.getDefault(parentAdapter, argsIfAvailable, paramNumUpdated);
}
@Override
@@ -438,14 +436,15 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
return actionParameter.hasChoices();
}
@Override
- public List<ObjectAdapter> getChoices(
+ public List<ManagedObject> getChoices(
final ScalarModel scalarModel,
- final ObjectAdapter[] argumentsIfAvailable,
+ final ManagedObject[] argumentsIfAvailable,
final AuthenticationSession authenticationSession) {
final ActionParameterMemento parameterMemento = scalarModel.getParameterMemento();
final ObjectActionParameter actionParameter = parameterMemento.getActionParameter(scalarModel.getSpecificationLoader());
- final ObjectAdapter parentAdapter = scalarModel.getParentEntityModel().load();
+ //XXX lombok issue, no val
+ ManagedObject parentAdapter = scalarModel.getParentEntityModel().load();
final ManagedObject[] choices =
actionParameter.getChoices(
@@ -461,15 +460,14 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
return actionParameter.hasAutoComplete();
}
@Override
- public List<ObjectAdapter> getAutoComplete(
+ public List<ManagedObject> getAutoComplete(
final ScalarModel scalarModel,
final String searchArg,
final AuthenticationSession authenticationSession) {
final ActionParameterMemento parameterMemento = scalarModel.getParameterMemento();
final ObjectActionParameter actionParameter = parameterMemento.getActionParameter(scalarModel.getSpecificationLoader());
- final ObjectAdapter parentAdapter =
- scalarModel.getParentEntityModel().load();
+ ManagedObject parentAdapter = scalarModel.getParentEntityModel().load();
final ManagedObject[] choices = actionParameter.getAutoComplete(
parentAdapter, searchArg,
InteractionInitiatedBy.USER);
@@ -489,10 +487,6 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
}
@Override
- public void resetVersion(ScalarModel scalarModel) {
- // no-op?
- }
- @Override
public String getDescribedAs(final ScalarModel scalarModel) {
final ActionParameterMemento parameterMemento = scalarModel.getParameterMemento();
final ObjectActionParameter actionParameter = parameterMemento.getActionParameter(scalarModel.getSpecificationLoader());
@@ -541,18 +535,18 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
public void reset(ScalarModel scalarModel) {
final ObjectActionParameter actionParameter = scalarModel.parameterMemento.getActionParameter(
scalarModel.getSpecificationLoader());
- final ObjectAdapter parentAdapter =
+ final ManagedObject parentAdapter =
scalarModel.getParentEntityModel().load();
final ManagedObject defaultAdapter = actionParameter.getDefault(parentAdapter, null, null);
- scalarModel.setObject(ManagedObject.promote(defaultAdapter));
+ scalarModel.setObject(defaultAdapter);
}
@Override
- public ObjectAdapter load(final ScalarModel scalarModel) {
+ public ManagedObject load(final ScalarModel scalarModel) {
final ActionParameterMemento parameterMemento = scalarModel.getParameterMemento();
final ObjectActionParameter actionParameter = parameterMemento
.getActionParameter(scalarModel.getSpecificationLoader());
- final ObjectAdapter objectAdapter = scalarModel.loadFromSuper();
+ final ManagedObject objectAdapter = scalarModel.loadFromSuper();
if(objectAdapter != null) {
return objectAdapter;
@@ -591,10 +585,9 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
};
- private static List<ObjectAdapter> choicesAsList(final ManagedObject[] choices) {
+ private static List<ManagedObject> choicesAsList(final ManagedObject[] choices) {
if (choices != null && choices.length > 0) {
return Stream.of(choices)
- .map(x->ManagedObject.promote(x))
.collect(Collectors.toList());
}
return Collections.emptyList();
@@ -612,7 +605,7 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
public abstract String parseAndValidate(ScalarModel scalarModel, String proposedPojoAsStr);
- public abstract String validate(ScalarModel scalarModel, ObjectAdapter proposedAdapter);
+ public abstract String validate(ScalarModel scalarModel, ManagedObject proposedAdapter);
public abstract String getCssClass(ScalarModel scalarModel);
@@ -626,28 +619,26 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
return required;
}
- public abstract ObjectAdapter getDefault(
+ public abstract ManagedObject getDefault(
final ScalarModel scalarModel,
- final ObjectAdapter[] argsIfAvailable,
+ final ManagedObject[] argsIfAvailable,
final int paramNumUpdated,
final AuthenticationSession authenticationSession);
public abstract boolean hasChoices(ScalarModel scalarModel);
- public abstract List<ObjectAdapter> getChoices(
+ public abstract List<ManagedObject> getChoices(
final ScalarModel scalarModel,
- final ObjectAdapter[] argumentsIfAvailable,
+ final ManagedObject[] argumentsIfAvailable,
final AuthenticationSession authenticationSession);
public abstract boolean hasAutoComplete(ScalarModel scalarModel);
- public abstract List<ObjectAdapter> getAutoComplete(
+ public abstract List<ManagedObject> getAutoComplete(
ScalarModel scalarModel,
String searchArg,
final AuthenticationSession authenticationSession);
public abstract int getAutoCompleteOrChoicesMinLength(ScalarModel scalarModel);
- public abstract void resetVersion(ScalarModel scalarModel);
-
public abstract String getDescribedAs(ScalarModel scalarModel);
public abstract Integer getLength(ScalarModel scalarModel);
@@ -660,7 +651,7 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
public abstract void init(ScalarModel scalarModel);
public abstract void reset(ScalarModel scalarModel);
- public abstract ObjectAdapter load(final ScalarModel scalarModel);
+ public abstract ManagedObject load(final ScalarModel scalarModel);
public abstract boolean isCollection(final ScalarModel scalarModel);
@@ -672,11 +663,11 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
private final EntityModel parentEntityModel;
@Override
- public ObjectAdapter load() {
+ public ManagedObject load() {
return kind.load(this);
}
- private ObjectAdapter loadFromSuper() {
+ private ManagedObject loadFromSuper() {
return super.load();
}
@@ -746,7 +737,7 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
private void getAndStore(final EntityModel parentEntityModel) {
final ObjectAdapterMemento parentAdapterMemento = parentEntityModel.getObjectAdapterMemento();
final OneToOneAssociation property = propertyMemento.getProperty(getSpecificationLoader());
- final ObjectAdapter parentAdapter = parentAdapterMemento.getObjectAdapter();
+ final ManagedObject parentAdapter = parentAdapterMemento.getObjectAdapter(getSpecificationLoader());
setObjectFromPropertyIfVisible(ScalarModel.this, property, parentAdapter);
}
@@ -754,16 +745,16 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
private static void setObjectFromPropertyIfVisible(
final ScalarModel scalarModel,
final OneToOneAssociation property,
- final ObjectAdapter parentAdapter) {
+ final ManagedObject parentAdapter) {
final Where where = scalarModel.getRenderingHint().asWhere();
final Consent visibility =
property.isVisible(parentAdapter, InteractionInitiatedBy.FRAMEWORK, where);
- final ObjectAdapter associatedAdapter;
+ final ManagedObject associatedAdapter;
if (visibility.isAllowed()) {
- associatedAdapter = ManagedObject.promote(property.get(parentAdapter, InteractionInitiatedBy.USER));
+ associatedAdapter = property.get(parentAdapter, InteractionInitiatedBy.USER);
} else {
associatedAdapter = null;
}
@@ -828,7 +819,7 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
}
public String getObjectAsString() {
- final ObjectAdapter adapter = getObject();
+ final ManagedObject adapter = getObject();
if (adapter == null) {
return null;
}
@@ -836,7 +827,7 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
}
@Override
- public void setObject(final ObjectAdapter adapter) {
+ public void setObject(ManagedObject adapter) {
if(adapter == null) {
super.setObject(null);
return;
@@ -849,7 +840,7 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
}
if(isCollection()) {
- val memento = ObjectAdapterMemento
+ ObjectAdapterMemento memento = ObjectAdapterMemento
.ofIterablePojos(pojo, getTypeOfSpecification().getSpecId(), super.getMementoSupport());
super.setObjectMemento(memento); // associated value
} else {
@@ -859,20 +850,20 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
public void setObjectAsString(final String enteredText) {
// parse text to get adapter
- final ParseableFacet parseableFacet = getTypeOfSpecification().getFacet(ParseableFacet.class);
+ ParseableFacet parseableFacet = getTypeOfSpecification().getFacet(ParseableFacet.class);
if (parseableFacet == null) {
throw new RuntimeException("unable to parse string for " + getTypeOfSpecification().getFullIdentifier());
}
- final ObjectAdapter adapter = parseableFacet.parseTextEntry(getObject(), enteredText,
+ ObjectAdapter adapter = parseableFacet.parseTextEntry(getObject(), enteredText,
InteractionInitiatedBy.USER);
setObject(adapter);
}
- public void setPendingAdapter(final ObjectAdapter objectAdapter) {
+ public void setPendingAdapter(final ManagedObject objectAdapter) {
if(isCollection()) {
- val pojo = objectAdapter.getPojo();
- val memento = ObjectAdapterMemento
+ Object pojo = objectAdapter.getPojo();
+ ObjectAdapterMemento memento = ObjectAdapterMemento
.ofIterablePojos(pojo, getTypeOfSpecification().getSpecId(), super.getMementoSupport());
setPending(memento);
} else {
@@ -890,7 +881,7 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
return kind.whetherDisabled(this, where);
}
- public String validate(final ObjectAdapter proposedAdapter) {
+ public String validate(final ManagedObject proposedAdapter) {
return kind.validate(this, proposedAdapter);
}
@@ -918,8 +909,8 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
return kind.hasChoices(this);
}
- public List<ObjectAdapter> getChoices(
- final ObjectAdapter[] argumentsIfAvailable,
+ public List<ManagedObject> getChoices(
+ final ManagedObject[] argumentsIfAvailable,
final AuthenticationSession authenticationSession) {
return kind.getChoices(this, argumentsIfAvailable, authenticationSession);
}
@@ -928,7 +919,7 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
return kind.hasAutoComplete(this);
}
- public List<ObjectAdapter> getAutoComplete(
+ public List<ManagedObject> getAutoComplete(
final String searchTerm,
final AuthenticationSession authenticationSession) {
return kind.getAutoComplete(this, searchTerm, authenticationSession);
@@ -1004,15 +995,15 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
@Override
public ArrayList<ObjectAdapterMemento> getMultiPending() {
- val pendingMemento = ScalarModel.this.getPending();
+ ObjectAdapterMemento pendingMemento = ScalarModel.this.getPending();
return ObjectAdapterMemento.unwrapList(pendingMemento)
.orElse(null);
}
@Override
public void setMultiPending(final ArrayList<ObjectAdapterMemento> pending) {
- val specId = getScalarModel().getTypeOfSpecification().getSpecId();
- val adapterMemento = ObjectAdapterMemento.wrapMementoList(pending, specId);
+ ObjectSpecId specId = getScalarModel().getTypeOfSpecification().getSpecId();
+ ObjectAdapterMemento adapterMemento = ObjectAdapterMemento.wrapMementoList(pending, specId);
ScalarModel.this.setPending(adapterMemento);
}
@@ -1052,13 +1043,11 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
}
public String getReasonInvalidIfAny() {
- final OneToOneAssociation property = getPropertyMemento().getProperty(getSpecificationLoader());
-
- final ObjectAdapter adapter = getParentEntityModel().load();
-
- final ObjectAdapter associate = getObject();
-
- final Consent validity = property.isAssociationValid(adapter, associate, InteractionInitiatedBy.USER);
+ //XXX lombok issue, no val
+ OneToOneAssociation property = getPropertyMemento().getProperty(getSpecificationLoader());
+ ManagedObject adapter = getParentEntityModel().load();
+ ManagedObject associate = getObject();
+ Consent validity = property.isAssociationValid(adapter, associate, InteractionInitiatedBy.USER);
return validity.isAllowed() ? null : validity.getReason();
}
@@ -1067,8 +1056,9 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
*
* @return adapter, which may be different from the original (if a {@link ViewModelFacet#isCloneable(Object) cloneable} view model, for example.
*/
- public ObjectAdapter applyValue(ObjectAdapter adapter) {
- final OneToOneAssociation property = getPropertyMemento().getProperty(getSpecificationLoader());
+ public ManagedObject applyValue(ManagedObject adapter) {
+ //XXX lombok issue, no val
+ OneToOneAssociation property = getPropertyMemento().getProperty(getSpecificationLoader());
//
// previously there was a guard here to only apply changes provided:
@@ -1097,8 +1087,8 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
// In any case, the only code that calls this method already does the check, so think this is safe
// to just remove.
-
- final ObjectAdapter associate = getObject();
+ //XXX lombok issue, no val
+ ManagedObject associate = getObject();
property.set(adapter, associate, InteractionInitiatedBy.USER);
final ViewModelFacet recreatableObjectFacet = adapter.getSpecification().getFacet(ViewModelFacet.class);
@@ -1106,7 +1096,8 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
final Object viewModel = adapter.getPojo();
final boolean cloneable = recreatableObjectFacet.isCloneable(viewModel);
if(cloneable) {
- val newViewModelPojo = recreatableObjectFacet.clone(viewModel);
+ //XXX lombok issue, no val
+ Object newViewModelPojo = recreatableObjectFacet.clone(viewModel);
adapter = super.getPojoToAdapter().apply(newViewModelPojo);
}
}
@@ -1199,7 +1190,7 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
}
final EntityModel parentEntityModel1 = this.getParentEntityModel();
- final ObjectAdapter parentAdapter = parentEntityModel1.load();
+ final ManagedObject parentAdapter = parentEntityModel1.load();
final OneToOneAssociation oneToOneAssociation =
this.getPropertyMemento().getProperty(this.getSpecificationLoader());
@@ -1241,10 +1232,10 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
/**
* transient because only temporary hint.
*/
- private transient ObjectAdapter[] actionArgsHint;
+ private transient ManagedObject[] actionArgsHint;
@Override
- public void setActionArgsHint(ObjectAdapter[] actionArgsHint) {
+ public void setActionArgsHint(ManagedObject[] actionArgsHint) {
this.actionArgsHint = actionArgsHint;
}
@@ -1252,7 +1243,7 @@ public class ScalarModel extends EntityModel implements LinksProvider, FormExecu
* The initial call of choicesXxx() for any given scalar argument needs the current values
* of all args (possibly as initialized through a defaultNXxx().
*/
- public ObjectAdapter[] getActionArgsHint() {
+ public ManagedObject[] getActionArgsHint() {
return actionArgsHint;
}
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithPending.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithPending.java
index 3155183..6239bbc 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithPending.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithPending.java
@@ -78,7 +78,7 @@ public interface ScalarModelWithPending extends Serializable {
if (ownerPending != null) {
log.debug("setting to pending: {}", ownerPending.toString());
ownerScalarModel.setObject(
- ownerPending.getObjectAdapter());
+ ownerPending.getObjectAdapter(ownerScalarModel.getSpecificationLoader()));
}
}
}
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ValueModel.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ValueModel.java
index 40c85a0..4b2bb78 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ValueModel.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ValueModel.java
@@ -19,7 +19,7 @@
package org.apache.isis.viewer.wicket.model.models;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.runtime.memento.ObjectAdapterMemento;
import org.apache.isis.webapp.context.IsisWebAppCommonContext;
@@ -27,20 +27,20 @@ import org.apache.isis.webapp.context.IsisWebAppCommonContext;
/**
* Represents a standalone value.
*/
-public class ValueModel extends ModelAbstract<ObjectAdapter> {
+public class ValueModel extends ModelAbstract<ManagedObject> {
private static final long serialVersionUID = 1L;
private final ObjectAdapterMemento adapterMemento;
- public ValueModel(IsisWebAppCommonContext commonContext, ObjectAdapter adapter) {
+ public ValueModel(IsisWebAppCommonContext commonContext, ManagedObject adapter) {
super(commonContext);
adapterMemento = ObjectAdapterMemento.ofAdapter(adapter, super.getMementoSupport());
}
@Override
- protected ObjectAdapter load() {
- return adapterMemento.getObjectAdapter();
+ protected ManagedObject load() {
+ return adapterMemento.getObjectAdapter(super.getSpecificationLoader());
}
// //////////////////////////////////////
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/whereami/WhereAmIModelDefault.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/whereami/WhereAmIModelDefault.java
index 86507dc..a5b39b3 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/whereami/WhereAmIModelDefault.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/whereami/WhereAmIModelDefault.java
@@ -23,7 +23,6 @@ import java.util.LinkedList;
import java.util.stream.Stream;
import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.util.pchain.ParentChain;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.webapp.context.IsisWebAppCommonContext;
@@ -52,7 +51,7 @@ class WhereAmIModelDefault implements WhereAmIModel {
overrideFromConfigIfNew(commonContext.getConfiguration());
- final ObjectAdapter adapter = startOfChain.getObject();
+ val adapter = startOfChain.getObject();
final Object startNode = adapter.getPojo();
ParentChain.of(commonContext.getSpecificationLoader()::loadSpecification)
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseType.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseType.java
index e16ce3b..5d50603 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseType.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseType.java
@@ -28,9 +28,9 @@ import org.apache.wicket.request.IRequestHandler;
import org.apache.isis.applib.value.Blob;
import org.apache.isis.applib.value.Clob;
import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.version.ConcurrencyException;
import org.apache.isis.metamodel.facets.object.value.ValueFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.viewer.wicket.model.models.ActionModel;
import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
@@ -47,21 +47,21 @@ import lombok.val;
public enum ActionResultResponseType {
OBJECT {
@Override
- public ActionResultResponse interpretResult(final ActionModel model, final AjaxRequestTarget target, final ObjectAdapter resultAdapter) {
+ public ActionResultResponse interpretResult(ActionModel model, AjaxRequestTarget target, ManagedObject resultAdapter) {
val commonContext = model.getCommonContext();
- final ObjectAdapter actualAdapter = determineActualAdapter(commonContext, resultAdapter); // intercepts collections
+ val actualAdapter = determineActualAdapter(commonContext, resultAdapter); // intercepts collections
return toEntityPage(model, actualAdapter, null);
}
@Override
- public ActionResultResponse interpretResult(final ActionModel model, final ObjectAdapter targetAdapter, final ConcurrencyException ex) {
+ public ActionResultResponse interpretResult(ActionModel model, ManagedObject targetAdapter, ConcurrencyException ex) {
final ActionResultResponse actionResultResponse = toEntityPage(model, targetAdapter, ex);
return actionResultResponse;
}
},
COLLECTION {
@Override
- public ActionResultResponse interpretResult(final ActionModel actionModel, final AjaxRequestTarget target, final ObjectAdapter resultAdapter) {
+ public ActionResultResponse interpretResult(ActionModel actionModel, AjaxRequestTarget target, ManagedObject resultAdapter) {
val collectionModel = EntityCollectionModel.createStandalone(resultAdapter, actionModel);
// take a copy of the actionModel, because the original can get mutated (specifically: its arguments cleared)
val actionModelCopy = actionModel.copy();
@@ -71,7 +71,7 @@ public enum ActionResultResponseType {
},
VALUE {
@Override
- public ActionResultResponse interpretResult(final ActionModel model, final AjaxRequestTarget target, final ObjectAdapter resultAdapter) {
+ public ActionResultResponse interpretResult(ActionModel model, AjaxRequestTarget target, ManagedObject resultAdapter) {
val commonContext = model.getCommonContext();
ValueModel valueModel = new ValueModel(commonContext, resultAdapter);
valueModel.setActionHint(model);
@@ -81,7 +81,7 @@ public enum ActionResultResponseType {
},
VALUE_CLOB {
@Override
- public ActionResultResponse interpretResult(final ActionModel model, final AjaxRequestTarget target, final ObjectAdapter resultAdapter) {
+ public ActionResultResponse interpretResult(ActionModel model, AjaxRequestTarget target, ManagedObject resultAdapter) {
final Object value = resultAdapter.getPojo();
IRequestHandler handler = ActionModel.downloadHandler(value);
return ActionResultResponse.withHandler(handler);
@@ -89,7 +89,7 @@ public enum ActionResultResponseType {
},
VALUE_BLOB {
@Override
- public ActionResultResponse interpretResult(final ActionModel model, final AjaxRequestTarget target, final ObjectAdapter resultAdapter) {
+ public ActionResultResponse interpretResult(ActionModel model, AjaxRequestTarget target, ManagedObject resultAdapter) {
final Object value = resultAdapter.getPojo();
IRequestHandler handler = ActionModel.downloadHandler(value);
return ActionResultResponse.withHandler(handler);
@@ -97,7 +97,7 @@ public enum ActionResultResponseType {
},
VALUE_URL_AJAX {
@Override
- public ActionResultResponse interpretResult(final ActionModel model, final AjaxRequestTarget target, final ObjectAdapter resultAdapter) {
+ public ActionResultResponse interpretResult(ActionModel model, AjaxRequestTarget target, ManagedObject resultAdapter) {
final URL url = (URL)resultAdapter.getPojo();
return ActionResultResponse.openUrlInBrowser(target, url);
}
@@ -105,7 +105,7 @@ public enum ActionResultResponseType {
},
VALUE_URL_NOAJAX {
@Override
- public ActionResultResponse interpretResult(final ActionModel model, final AjaxRequestTarget target, final ObjectAdapter resultAdapter) {
+ public ActionResultResponse interpretResult(ActionModel model, AjaxRequestTarget target, ManagedObject resultAdapter) {
// open URL server-side redirect
final Object value = resultAdapter.getPojo();
IRequestHandler handler = ActionModel.redirectHandler(value);
@@ -115,7 +115,7 @@ public enum ActionResultResponseType {
},
VOID {
@Override
- public ActionResultResponse interpretResult(final ActionModel model, final AjaxRequestTarget target, final ObjectAdapter resultAdapter) {
+ public ActionResultResponse interpretResult(ActionModel model, AjaxRequestTarget target, ManagedObject resultAdapter) {
val commonContext = model.getCommonContext();
final VoidModel voidModel = new VoidModel(commonContext);
voidModel.setActionHint(model);
@@ -123,18 +123,18 @@ public enum ActionResultResponseType {
}
};
- public abstract ActionResultResponse interpretResult(ActionModel model, final AjaxRequestTarget target, ObjectAdapter resultAdapter);
+ public abstract ActionResultResponse interpretResult(ActionModel model, AjaxRequestTarget target, ManagedObject resultAdapter);
/**
* Only overridden for {@link ActionResultResponseType#OBJECT object}
*/
- public ActionResultResponse interpretResult(ActionModel model, ObjectAdapter targetAdapter, ConcurrencyException ex) {
+ public ActionResultResponse interpretResult(ActionModel model, ManagedObject targetAdapter, ConcurrencyException ex) {
throw new UnsupportedOperationException("Cannot render concurrency exception for any result type other than OBJECT");
}
- private static ObjectAdapter determineActualAdapter(
+ private static ManagedObject determineActualAdapter(
IsisWebAppCommonContext commonContext,
- ObjectAdapter resultAdapter) {
+ ManagedObject resultAdapter) {
if (resultAdapter.getSpecification().isNotCollection()) {
return resultAdapter;
@@ -144,7 +144,7 @@ public enum ActionResultResponseType {
final Object pojo = pojoList.get(0);
//XXX lombok issue, cannot use val here
- final ObjectAdapter actualAdapter = commonContext.getPojoToAdapter().apply(pojo);
+ final ManagedObject actualAdapter = commonContext.getPojoToAdapter().apply(pojo);
return actualAdapter;
}
@@ -152,7 +152,7 @@ public enum ActionResultResponseType {
private static ActionResultResponse toEntityPage(
final ActionModel model,
- final ObjectAdapter actualAdapter,
+ final ManagedObject actualAdapter,
final ConcurrencyException exIfAny) {
// this will not preserve the URL (because pageParameters are not copied over)
@@ -168,14 +168,16 @@ public enum ActionResultResponseType {
public static ActionResultResponse determineAndInterpretResult(
final ActionModel model,
final AjaxRequestTarget targetIfAny,
- final ObjectAdapter resultAdapter) {
+ final ManagedObject resultAdapter) {
+
ActionResultResponseType arrt = determineFor(resultAdapter, targetIfAny);
return arrt.interpretResult(model, targetIfAny, resultAdapter);
}
private static ActionResultResponseType determineFor(
- final ObjectAdapter resultAdapter,
+ final ManagedObject resultAdapter,
final AjaxRequestTarget targetIfAny) {
+
if(resultAdapter == null) {
return ActionResultResponseType.VOID;
}
@@ -210,7 +212,7 @@ public enum ActionResultResponseType {
}
@SuppressWarnings("unchecked")
- private static List<Object> asList(final ObjectAdapter resultAdapter) {
+ private static List<Object> asList(final ManagedObject resultAdapter) {
final Collection<Object> coll = (Collection<Object>) resultAdapter.getPojo();
return coll instanceof List
? (List<Object>)coll
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actioninfo/ActionInfoPanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actioninfo/ActionInfoPanel.java
index 38c8a70..8263b60 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actioninfo/ActionInfoPanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actioninfo/ActionInfoPanel.java
@@ -21,11 +21,12 @@ package org.apache.isis.viewer.wicket.ui.components.actioninfo;
import org.apache.wicket.markup.html.basic.Label;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.viewer.wicket.model.models.ActionModel;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
+import lombok.val;
+
/**
* Renders a panel providing summary information about an action.
*/
@@ -39,7 +40,7 @@ public class ActionInfoPanel extends PanelAbstract<ActionModel> {
public ActionInfoPanel(final String id, final ActionModel actionModel) {
super(id, actionModel);
- final ObjectAdapter targetAdapter = getModel().getTargetAdapter();
+ val targetAdapter = getModel().getTargetAdapter();
final ObjectAction objectAction = getModel().getActionMemento().getAction(getModel().getSpecificationLoader());
// TODO: render instead as links (providing isn't a service; provide a
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java
index aea6582..b817bcf 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java
@@ -21,7 +21,7 @@ package org.apache.isis.viewer.wicket.ui.components.actionmenu.entityactions;
import org.apache.wicket.markup.html.link.AbstractLink;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
@@ -29,6 +29,8 @@ import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.model.models.ToggledMementosProvider;
import org.apache.isis.viewer.wicket.ui.components.widgets.linkandlabel.ActionLinkFactoryAbstract;
+import lombok.val;
+
public final class EntityActionLinkFactory extends ActionLinkFactoryAbstract {
private static final long serialVersionUID = 1L;
@@ -45,12 +47,14 @@ public final class EntityActionLinkFactory extends ActionLinkFactoryAbstract {
final String linkId,
final ToggledMementosProvider toggledMementosProviderIfAny) {
- final ObjectAdapter objectAdapter = this.targetEntityModel.load();
+ val objectAdapter = this.targetEntityModel.load();
+
- final boolean persistent = objectAdapter.isRepresentingPersistent();
- if (!persistent) {
+
+ val isBookmarkable = ManagedObject.isBookmarkable(objectAdapter);
+ if (!isBookmarkable) {
throw new IllegalArgumentException(String.format(
- "Object '%s' is not persistent.", objectAdapter.titleString(null)));
+ "Object '%s' is not persistent/bookmarkable.", objectAdapter.titleString(null)));
}
// previously we computed visibility and enablement here, but
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssMenuItem.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssMenuItem.java
index 07f365c..763fb52 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssMenuItem.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssMenuItem.java
@@ -32,7 +32,6 @@ import org.apache.wicket.model.Model;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.Consent;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet;
@@ -51,6 +50,8 @@ import org.apache.isis.viewer.wicket.ui.util.Components;
import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
import org.apache.isis.viewer.wicket.ui.util.Tooltips;
+import lombok.val;
+
class CssMenuItem implements Serializable {
private static final long serialVersionUID = 1L;
@@ -352,7 +353,7 @@ class CssMenuItem implements Serializable {
final boolean separator = serviceAndAction.separator;
final ServiceActionLinkFactory actionLinkFactory = serviceAndAction.linkAndLabelFactory;
- final ObjectAdapter serviceAdapter = targetEntityModel.load();
+ val serviceAdapter = targetEntityModel.load();
final ObjectSpecification serviceSpec = serviceAdapter.getSpecification();
if (serviceSpec.isHidden()) {
return null;
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionLinkFactory.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionLinkFactory.java
index b8f08e5..ce01cee 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionLinkFactory.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionLinkFactory.java
@@ -21,13 +21,14 @@ package org.apache.isis.viewer.wicket.ui.components.actionmenu.serviceactions;
import org.apache.wicket.markup.html.link.AbstractLink;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.model.models.ToggledMementosProvider;
import org.apache.isis.viewer.wicket.ui.components.widgets.linkandlabel.ActionLinkFactoryAbstract;
+import lombok.val;
+
class ServiceActionLinkFactory extends ActionLinkFactoryAbstract {
private static final long serialVersionUID = 1L;
@@ -42,7 +43,7 @@ class ServiceActionLinkFactory extends ActionLinkFactoryAbstract {
final String linkId,
final ToggledMementosProvider toggledMementosProviderIfAny) {
- ObjectAdapter objectAdapter = this.targetEntityModel.load();
+ val objectAdapter = this.targetEntityModel.load();
final AbstractLink link = newLink(linkId, objectAction, toggledMementosProviderIfAny);
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionFormExecutorStrategy.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionFormExecutorStrategy.java
index a047d80..b34e7a1 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionFormExecutorStrategy.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionFormExecutorStrategy.java
@@ -21,6 +21,7 @@ package org.apache.isis.viewer.wicket.ui.components.actions;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.ActionModel;
import org.apache.isis.viewer.wicket.model.models.ActionPrompt;
import org.apache.isis.viewer.wicket.ui.actionresponse.ActionResultResponse;
@@ -41,7 +42,7 @@ public class ActionFormExecutorStrategy implements FormExecutorStrategy<ActionMo
}
@Override
- public ObjectAdapter obtainTargetAdapter() {
+ public ManagedObject obtainTargetAdapter() {
return model.getTargetAdapter();
}
@@ -69,14 +70,12 @@ public class ActionFormExecutorStrategy implements FormExecutorStrategy<ActionMo
}
@Override
- public ObjectAdapter obtainResultAdapter() {
+ public ManagedObject obtainResultAdapter() {
return model.execute();
}
@Override
- public void redirectTo(
- final ObjectAdapter resultAdapter,
- final AjaxRequestTarget targetIfany) {
+ public void redirectTo(ManagedObject resultAdapter, AjaxRequestTarget targetIfany) {
ActionResultResponse resultResponse = ActionResultResponseType
.determineAndInterpretResult(model, targetIfany, resultAdapter);
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java
index 556fc0e..e7c60e7 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java
@@ -30,11 +30,9 @@ import org.apache.wicket.markup.repeater.RepeatingView;
import org.apache.isis.applib.annotation.SemanticsOf;
import org.apache.isis.applib.services.message.MessageService;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.version.ConcurrencyException;
import org.apache.isis.metamodel.consent.Consent;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
-import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.metamodel.spec.feature.ObjectActionParameter;
import org.apache.isis.viewer.wicket.model.hints.IsisActionCompletedEvent;
@@ -51,6 +49,7 @@ import org.apache.isis.viewer.wicket.ui.panels.PromptFormAbstract;
import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
import de.agilecoders.wicket.extensions.markup.html.bootstrap.confirmation.ConfirmationBehavior;
+import lombok.val;
class ActionParametersForm extends PromptFormAbstract<ActionModel> {
@@ -87,8 +86,8 @@ class ActionParametersForm extends PromptFormAbstract<ActionModel> {
paramPanels.add(paramPanel);
// TODO: maybe this logic should move instead to ScalarModel.Kind#whether{Hidden/Disabled}
- final ObjectAdapter targetAdapter = actionModel.getTargetAdapter();
- final ManagedObject realTargetAdapter = actionModel.getActionMemento().getAction(getSpecificationLoader())
+ val targetAdapter = actionModel.getTargetAdapter();
+ val realTargetAdapter = actionModel.getActionMemento().getAction(getSpecificationLoader())
.realTargetAdapter(targetAdapter);
final Consent consent = apm.getActionParameter(getSpecificationLoader())
.isVisible(realTargetAdapter, null, InteractionInitiatedBy.USER);
@@ -190,7 +189,7 @@ class ActionParametersForm extends PromptFormAbstract<ActionModel> {
// second attempt should succeed, because the Oid would have
// been updated in the attempt
- ObjectAdapter targetAdapter = getActionModel().getTargetAdapter();
+ val targetAdapter = getActionModel().getTargetAdapter();
// forward onto the target page with the concurrency exception
final EntityPage entityPage = new EntityPage(getActionModel().getCommonContext(), targetAdapter, ex);
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersPanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersPanel.java
index 70ee376..135b6e0 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersPanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersPanel.java
@@ -24,8 +24,8 @@ import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.Model;
import org.apache.isis.applib.services.message.MessageService;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.version.ConcurrencyException;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.ActionModel;
import org.apache.isis.viewer.wicket.model.models.ActionPrompt;
import org.apache.isis.viewer.wicket.ui.ComponentType;
@@ -97,7 +97,7 @@ public class ActionParametersPanel extends PanelAbstract<ActionModel> {
addOrReplace(header);
- ObjectAdapter targetAdapter = null;
+ ManagedObject targetAdapter = null;
try {
targetAdapter = actionModel.getTargetAdapter();
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/AssociatedWithActionsHelper.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/AssociatedWithActionsHelper.java
index 4bf9382..48662ef 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/AssociatedWithActionsHelper.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/AssociatedWithActionsHelper.java
@@ -25,17 +25,17 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.spec.ActionType;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.Contributed;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.metamodel.spec.feature.OneToManyAssociation;
import org.apache.isis.metamodel.specloader.SpecificationLoader;
-import org.apache.isis.runtime.memento.ObjectAdapterMemento;
import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
import org.apache.isis.webapp.context.IsisWebAppCommonContext;
+import lombok.val;
+
/**
* See also {@link BulkActionsHelper}.
*/
@@ -67,8 +67,8 @@ public class AssociatedWithActionsHelper implements Serializable {
}
private ObjectSpecification getObjectSpecification() {
- final ObjectAdapterMemento parentOam = collectionModel.getParentObjectAdapterMemento();
- final ObjectAdapter parentAdapter = parentOam.getObjectAdapter();
+ val parentMemento = collectionModel.getParentObjectAdapterMemento();
+ val parentAdapter = parentMemento.getObjectAdapter(collectionModel.getSpecificationLoader());
return parentAdapter.getSpecification();
}
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
index 498eabf..9d2867e 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
@@ -28,7 +28,7 @@ import org.apache.wicket.feedback.ComponentFeedbackMessageFilter;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.metamodel.spec.feature.OneToManyAssociation;
import org.apache.isis.runtime.memento.ObjectAdapterMemento;
@@ -47,6 +47,7 @@ import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract2;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
import de.agilecoders.wicket.core.markup.html.bootstrap.common.NotificationPanel;
+import lombok.val;
/**
* Panel for rendering entity collection; analogous to (any concrete subclass
@@ -75,7 +76,7 @@ implements CollectionSelectorProvider, BulkActionsProvider {
final OneToManyAssociation otma = collectionModel.getCollectionMemento().getCollection(collectionModel.getSpecificationLoader());
final EntityModel entityModel = collectionModel.getEntityModel();
- final ObjectAdapter adapter = entityModel.load();
+ val adapter = entityModel.load();
final List<ObjectAction> associatedActions =
ObjectAction.Util.findForAssociation(adapter, otma);
@@ -152,7 +153,7 @@ implements CollectionSelectorProvider, BulkActionsProvider {
@Override
public void onSelected(
final Component context,
- final ObjectAdapter selectedAdapter,
+ final ManagedObject selectedAdapter,
final AjaxRequestTarget ajaxRequestTarget) {
getModel().toggleSelectionOn(selectedAdapter);
}
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
index 7ccdeb2..8cf5225 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
@@ -46,6 +46,7 @@ import org.apache.isis.metamodel.facets.all.describedas.DescribedAsFacet;
import org.apache.isis.metamodel.facets.all.hide.HiddenFacet;
import org.apache.isis.metamodel.facets.all.named.NamedFacet;
import org.apache.isis.metamodel.facets.object.grid.GridFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.Contributed;
import org.apache.isis.metamodel.spec.feature.ObjectAssociation;
@@ -77,7 +78,7 @@ implements CollectionCountProvider {
private static final String ID_TABLE = "table";
- private IsisAjaxFallbackDataTable<ObjectAdapter,String> dataTable;
+ private IsisAjaxFallbackDataTable<ManagedObject, String> dataTable;
public CollectionContentsAsAjaxTablePanel(final String id, final EntityCollectionModel model) {
@@ -92,7 +93,7 @@ implements CollectionCountProvider {
private void buildGui() {
- final List<IColumn<ObjectAdapter,String>> columns = _Lists.newArrayList();
+ final List<IColumn<ManagedObject, String>> columns = _Lists.newArrayList();
// bulk actions
final BulkActionsProvider bulkActionsProvider = getBulkActionsProvider();
@@ -129,7 +130,7 @@ implements CollectionCountProvider {
@Override
public void onConcurrencyException(
final Component context,
- final ObjectAdapter selectedAdapter,
+ final ManagedObject selectedAdapter,
final ConcurrencyException ex,
final AjaxRequestTarget ajaxRequestTarget) {
@@ -163,16 +164,17 @@ implements CollectionCountProvider {
private void addTitleColumn(
- final List<IColumn<ObjectAdapter,String>> columns,
+ final List<IColumn<ManagedObject, String>> columns,
final ObjectAdapterMemento parentAdapterMementoIfAny,
final int maxTitleParented,
final int maxTitleStandalone) {
final int maxTitleLength = getModel().isParented()? maxTitleParented: maxTitleStandalone;
- columns.add(new ObjectAdapterTitleColumn(super.commonContext, parentAdapterMementoIfAny, maxTitleLength));
+ columns.add(new ObjectAdapterTitleColumn(
+ super.commonContext, parentAdapterMementoIfAny, maxTitleLength));
}
- private void addPropertyColumnsIfRequired(final List<IColumn<ObjectAdapter,String>> columns) {
+ private void addPropertyColumnsIfRequired(final List<IColumn<ManagedObject, String>> columns) {
final ObjectSpecification typeOfSpec = getModel().getTypeOfSpecification();
@@ -187,7 +189,7 @@ implements CollectionCountProvider {
// just enough to ask for the metadata.
// This will cause the current ObjectSpec to be updated as a side effect.
final EntityModel entityModel = getModel().getEntityModel();
- final ObjectAdapter objectAdapterIfAny = entityModel != null ? entityModel.getObject() : null;
+ final ManagedObject objectAdapterIfAny = entityModel != null ? entityModel.getObject() : null;
final Grid grid = gridFacet.getGrid(objectAdapterIfAny);
@@ -217,7 +219,7 @@ implements CollectionCountProvider {
final ObjectSpecification parentSpecIfAny =
getModel().isParented()
- ? getModel().getParentObjectAdapterMemento().getObjectAdapter().getSpecification()
+ ? getModel().getParentObjectAdapterMemento().getObjectAdapter(commonContext.getSpecificationLoader()).getSpecification()
: null;
final Predicate<ObjectAssociation> predicate = ObjectAssociation.Predicates.PROPERTIES
@@ -261,7 +263,7 @@ implements CollectionCountProvider {
for (final String propertyId : propertyIds) {
final ObjectAssociation property = propertyById.get(propertyId);
if(property != null) {
- final ColumnAbstract<ObjectAdapter> nopc = createObjectAdapterPropertyColumn(property);
+ final ColumnAbstract<ManagedObject> nopc = createObjectAdapterPropertyColumn(property);
columns.add(nopc);
}
}
@@ -275,7 +277,7 @@ implements CollectionCountProvider {
final ObjectAdapterMemento parentObjectAdapterMemento = getModel().getParentObjectAdapterMemento();
if(parentObjectAdapterMemento != null) {
- final ObjectAdapter parentObjectAdapter = parentObjectAdapterMemento.getObjectAdapter();
+ final ObjectAdapter parentObjectAdapter = parentObjectAdapterMemento.getObjectAdapter(commonContext.getSpecificationLoader());
final Object parent = parentObjectAdapter.getPojo();
final String collectionId = getModel().getCollectionMemento().getId();
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java
index d99e7fb..3b21cf5 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java
@@ -51,7 +51,7 @@ import lombok.val;
/**
* Part of the {@link AjaxFallbackDefaultDataTable} API.
*/
-public class CollectionContentsSortableDataProvider extends SortableDataProvider<ObjectAdapter,String> {
+public class CollectionContentsSortableDataProvider extends SortableDataProvider<ManagedObject, String> {
private static final long serialVersionUID = 1L;
@@ -62,7 +62,7 @@ public class CollectionContentsSortableDataProvider extends SortableDataProvider
}
@Override
- public IModel<ObjectAdapter> model(final ObjectAdapter adapter) {
+ public IModel<ManagedObject> model(ManagedObject adapter) {
return EntityModel.ofAdapter(model.getCommonContext(), adapter);
}
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxFallbackDataTable.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxFallbackDataTable.java
index 108292a..51f10ce 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxFallbackDataTable.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxFallbackDataTable.java
@@ -36,13 +36,14 @@ import org.apache.wicket.markup.repeater.OddEvenItem;
import org.apache.wicket.model.IModel;
import org.apache.wicket.util.lang.Generics;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.viewer.wicket.model.hints.UiHintContainer;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.ObjectAdapterToggleboxColumn;
import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
+import lombok.val;
+
public class IsisAjaxFallbackDataTable<T, S> extends DataTable<T, S> {
private static final long serialVersionUID = 1L;
@@ -97,13 +98,15 @@ public class IsisAjaxFallbackDataTable<T, S> extends DataTable<T, S> {
protected Item<T> newRowItem(final String id, final int index, final IModel<T> model)
{
return new OddEvenItem<T>(id, index, model) {
+ private static final long serialVersionUID = 1L;
+
@Override
protected void onComponentTag(ComponentTag tag) {
super.onComponentTag(tag);
if (model instanceof EntityModel) {
EntityModel entityModel = (EntityModel) model;
- final ObjectAdapter objectAdapter = entityModel.getObject();
+ val objectAdapter = entityModel.getObject();
final ObjectSpecification typeOfSpecification = entityModel.getTypeOfSpecification();
String cssClass = typeOfSpecification.getCssClass(objectAdapter);
CssClassAppender.appendCssClassTo(tag, cssClass);
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterPropertyColumn.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterPropertyColumn.java
index a02dca1..867c612 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterPropertyColumn.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterPropertyColumn.java
@@ -27,6 +27,7 @@ import org.apache.wicket.model.IModel;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.viewer.wicket.model.mementos.PropertyMemento;
import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
@@ -40,6 +41,8 @@ import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
import org.apache.isis.viewer.wicket.ui.util.Tooltips;
import org.apache.isis.webapp.context.IsisWebAppCommonContext;
+import lombok.val;
+
/**
* A {@link ColumnAbstract column} within a
* {@link CollectionContentsAsAjaxTablePanel} representing a single property of the
@@ -49,7 +52,7 @@ import org.apache.isis.webapp.context.IsisWebAppCommonContext;
* Looks up the {@link ComponentFactory} to render the property from the
* {@link ComponentFactoryRegistry}.
*/
-public final class ObjectAdapterPropertyColumn extends ColumnAbstract<ObjectAdapter> {
+public final class ObjectAdapterPropertyColumn extends ColumnAbstract<ManagedObject> {
private static final long serialVersionUID = 1L;
@@ -97,14 +100,18 @@ public final class ObjectAdapterPropertyColumn extends ColumnAbstract<ObjectAdap
}
@Override
- public void populateItem(final Item<ICellPopulator<ObjectAdapter>> cellItem, final String componentId, final IModel<ObjectAdapter> rowModel) {
+ public void populateItem(
+ final Item<ICellPopulator<ManagedObject>> cellItem,
+ final String componentId,
+ final IModel<ManagedObject> rowModel) {
+
final Component component = createComponent(componentId, rowModel);
cellItem.add(component);
}
- private Component createComponent(final String id, final IModel<ObjectAdapter> rowModel) {
+ private Component createComponent(final String id, final IModel<ManagedObject> rowModel) {
- final ObjectAdapter adapter = rowModel.getObject();
+ val adapter = rowModel.getObject();
final EntityModel entityModel = EntityModel.ofAdapter(super.getCommonContext(), adapter);
final OneToOneAssociation property = (OneToOneAssociation) adapter.getSpecification().getAssociation(propertyExpression);
final PropertyMemento pm = new PropertyMemento(property);
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterTitleColumn.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterTitleColumn.java
index 2338a64..3777e96 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterTitleColumn.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterTitleColumn.java
@@ -24,7 +24,7 @@ import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulato
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.runtime.memento.ObjectAdapterMemento;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.model.models.EntityModel.RenderingHint;
@@ -33,7 +33,9 @@ import org.apache.isis.viewer.wicket.ui.ComponentType;
import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
import org.apache.isis.webapp.context.IsisWebAppCommonContext;
-public class ObjectAdapterTitleColumn extends ColumnAbstract<ObjectAdapter> {
+import lombok.val;
+
+public class ObjectAdapterTitleColumn extends ColumnAbstract<ManagedObject> {
private static final long serialVersionUID = 1L;
private final ObjectAdapterMemento parentAdapterMementoIfAny;
@@ -55,14 +57,18 @@ public class ObjectAdapterTitleColumn extends ColumnAbstract<ObjectAdapter> {
}
@Override
- public void populateItem(final Item<ICellPopulator<ObjectAdapter>> cellItem, final String componentId, final IModel<ObjectAdapter> rowModel) {
+ public void populateItem(
+ final Item<ICellPopulator<ManagedObject>> cellItem,
+ final String componentId,
+ final IModel<ManagedObject> rowModel) {
+
final Component component = createComponent(componentId, rowModel);
cellItem.add(component);
cellItem.add(new CssClassAppender("title-column"));
}
- private Component createComponent(final String id, final IModel<ObjectAdapter> rowModel) {
- final ObjectAdapter adapter = rowModel.getObject();
+ private Component createComponent(final String id, final IModel<ManagedObject> rowModel) {
+ val adapter = rowModel.getObject();
final EntityModel model = EntityModel.ofAdapter(super.getCommonContext(), adapter);
model.setRenderingHint(parentAdapterMementoIfAny != null? RenderingHint.PARENTED_TITLE_COLUMN: RenderingHint.STANDALONE_TITLE_COLUMN);
model.setContextAdapterIfAny(parentAdapterMementoIfAny);
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterToggleboxColumn.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterToggleboxColumn.java
index 47f3656..422a48b 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterToggleboxColumn.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterToggleboxColumn.java
@@ -29,8 +29,8 @@ import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.version.ConcurrencyException;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.common.OnConcurrencyExceptionHandler;
import org.apache.isis.viewer.wicket.model.common.OnSelectionHandler;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
@@ -38,7 +38,9 @@ import org.apache.isis.viewer.wicket.ui.components.widgets.checkbox.ContainedTog
import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
import org.apache.isis.webapp.context.IsisWebAppCommonContext;
-public final class ObjectAdapterToggleboxColumn extends ColumnAbstract<ObjectAdapter> {
+import lombok.val;
+
+public final class ObjectAdapterToggleboxColumn extends ColumnAbstract<ManagedObject> {
private static final long serialVersionUID = 1L;
@@ -101,13 +103,16 @@ public final class ObjectAdapterToggleboxColumn extends ColumnAbstract<ObjectAda
private final List<ContainedToggleboxPanel> rowToggles = _Lists.newArrayList();
@Override
- public void populateItem(final Item<ICellPopulator<ObjectAdapter>> cellItem, final String componentId, final IModel<ObjectAdapter> rowModel) {
+ public void populateItem(
+ final Item<ICellPopulator<ManagedObject>> cellItem,
+ final String componentId,
+ final IModel<ManagedObject> rowModel) {
cellItem.add(new CssClassAppender("togglebox-column"));
final MarkupContainer row = cellItem.getParent().getParent();
row.setOutputMarkupId(true);
- final EntityModel entityModel = (EntityModel) rowModel;
+ val entityModel = (EntityModel) rowModel;
String concurrencyExceptionIfAny = entityModel.getAndClearConcurrencyExceptionIfAny();
if(concurrencyExceptionIfAny != null) {
row.add(new CssClassAppender("reloaded-after-concurrency-exception"));
@@ -117,8 +122,8 @@ public final class ObjectAdapterToggleboxColumn extends ColumnAbstract<ObjectAda
private static final long serialVersionUID = 1L;
@Override
public void onSubmit(AjaxRequestTarget target) {
- final EntityModel entityModel = (EntityModel) rowModel;
- ObjectAdapter selectedAdapter = null;
+ val entityModel = (EntityModel) rowModel;
+ ManagedObject selectedAdapter = null;
try {
selectedAdapter = entityModel.loadWithConcurrencyChecking();
if(onSelectionHandler != null) {
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityComponentFactoryAbstract.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityComponentFactoryAbstract.java
index 49a085c..187317d 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityComponentFactoryAbstract.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityComponentFactoryAbstract.java
@@ -22,13 +22,14 @@ package org.apache.isis.viewer.wicket.ui.components.entity;
import org.apache.wicket.Component;
import org.apache.wicket.model.IModel;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facets.object.value.ValueFacet;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.ui.ComponentFactoryAbstract;
import org.apache.isis.viewer.wicket.ui.ComponentType;
+import lombok.val;
+
/**
* Convenience adapter for a number of {@link ComponentFactoryAbstract component
* factory}s that where the created {@link Component} are backed by an
@@ -64,7 +65,7 @@ public abstract class EntityComponentFactoryAbstract extends ComponentFactoryAbs
// is therefore not called. resulting in a concurrency exception.
//
// Therefore, we do the same processing here instead.
- final ObjectAdapter adapter = entityModel.load();
+ val adapter = entityModel.load();
if (adapter == null) {
// is ok;
}
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java
index 9df5bd7..aeee0d7 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java
@@ -30,7 +30,6 @@ import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.Model;
import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.consent.Consent;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facets.all.named.NamedFacet;
@@ -51,6 +50,8 @@ import org.apache.isis.viewer.wicket.ui.util.Components;
import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
import org.apache.isis.viewer.wicket.ui.util.Tooltips;
+import lombok.val;
+
/**
* {@link PanelAbstract Panel} representing the properties of an entity, as per
* the provided {@link EntityModel}.
@@ -110,7 +111,7 @@ implements HasDynamicallyVisibleContent {
final OneToManyAssociation association = entityCollectionModel.getCollectionMemento().getCollection(
entityCollectionModel.getSpecificationLoader());
- final ObjectAdapter objectAdapter = getModel().getObject();
+ val objectAdapter = getModel().getObject();
final Consent visibility = association.isVisible(objectAdapter, InteractionInitiatedBy.USER, Where.OBJECT_FORMS);
if(visibility.isAllowed()) {
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/fieldset/PropertyGroup.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/fieldset/PropertyGroup.java
index 2ef880c..2864d69 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/fieldset/PropertyGroup.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/fieldset/PropertyGroup.java
@@ -36,8 +36,8 @@ import org.apache.isis.applib.layout.component.PropertyLayoutData;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facets.all.hide.HiddenFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.ObjectSpecificationException;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
@@ -154,13 +154,13 @@ public class PropertyGroup extends PanelAbstract<EntityModel> implements HasDyna
final List<PropertyLayoutData> properties = this.fieldSet.getProperties();
// changed to NO_CHECK because more complex BS3 layouts trip concurrency exception
// (haven't investigated as to why).
- final ObjectAdapter adapter = getModel().load();
+ val adapter = getModel().load();
return getObjectAssociations(properties, adapter);
}
private List<ObjectAssociation> getObjectAssociations(
final List<PropertyLayoutData> properties,
- final ObjectAdapter adapter) {
+ final ManagedObject adapter) {
//
// previously we filtered out any invisible properties.
@@ -217,7 +217,7 @@ public class PropertyGroup extends PanelAbstract<EntityModel> implements HasDyna
final Component component = getComponentFactoryRegistry()
.addOrReplaceComponent(container, ID_PROPERTY, ComponentType.SCALAR_NAME_AND_VALUE, scalarModel);
- final ObjectAdapter adapter = entityModel.load();
+ val adapter = entityModel.load();
final List<ObjectAction> associatedActions =
ObjectAction.Util.findForAssociation(adapter, otoa);
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.java
index 189dfd7..bda9526 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.java
@@ -23,7 +23,6 @@ import java.util.List;
import org.apache.wicket.Component;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
@@ -34,6 +33,8 @@ import org.apache.isis.viewer.wicket.ui.components.actionmenu.entityactions.Enti
import org.apache.isis.viewer.wicket.ui.components.actionmenu.entityactions.LinkAndLabelUtil;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
+import lombok.val;
+
/**
* {@link PanelAbstract Panel} representing the summary details (title, icon and
* actions) of an entity, as per the provided {@link EntityModel}.
@@ -77,7 +78,7 @@ public class EntityHeaderPanel extends PanelAbstract<EntityModel> {
private void buildEntityActionsGui() {
final EntityModel model = getModel();
- final ObjectAdapter adapter = model.getObject();
+ val adapter = model.getObject();
if (adapter != null) {
final List<ObjectAction> topLevelActions = ObjectAction.Util
.findTopLevel(adapter);
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
index 14ea90d..7d2f482 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
@@ -28,9 +28,9 @@ import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.request.resource.ResourceReference;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facets.members.cssclassfa.CssClassFaFacet;
import org.apache.isis.metamodel.facets.object.projection.ProjectionFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.runtime.memento.ObjectAdapterMemento;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.model.models.ObjectAdapterModel;
@@ -104,7 +104,7 @@ public class EntityIconAndTitlePanel extends PanelAbstract<ObjectAdapterModel> {
}
protected WebMarkupContainer addOrReplaceLinkWrapper(final ObjectAdapterModel entityModel) {
- final ObjectAdapter adapter = entityModel.getObject();
+ val adapter = entityModel.getObject();
final WebMarkupContainer entityLinkWrapper = new WebMarkupContainer(ID_ENTITY_LINK_WRAPPER);
@@ -113,7 +113,7 @@ public class EntityIconAndTitlePanel extends PanelAbstract<ObjectAdapterModel> {
return entityLinkWrapper;
}
- private AbstractLink createLinkWithIconAndTitle(final ObjectAdapter adapterIfAny) {
+ private AbstractLink createLinkWithIconAndTitle(final ManagedObject adapterIfAny) {
final AbstractLink link = createDynamicallyVisibleLink();
if(adapterIfAny != null) {
@@ -147,7 +147,7 @@ public class EntityIconAndTitlePanel extends PanelAbstract<ObjectAdapterModel> {
final ObjectAdapterModel entityModel = getModel();
- final ObjectAdapter targetAdapter = entityModel.getObject();
+ val targetAdapter = entityModel.getObject();
final ObjectAdapterModel redirectToModel;
if(targetAdapter != null) {
@@ -173,7 +173,7 @@ public class EntityIconAndTitlePanel extends PanelAbstract<ObjectAdapterModel> {
@Override
public boolean isVisible() {
- final ObjectAdapter targetAdapter = entityModel.getObject();
+ val targetAdapter = entityModel.getObject();
return targetAdapter != null;
}
};
@@ -192,7 +192,7 @@ public class EntityIconAndTitlePanel extends PanelAbstract<ObjectAdapterModel> {
private String determineTitle() {
ObjectAdapterModel model = getModel();
- final ObjectAdapter adapter = model.getObject();
+ val adapter = model.getObject();
return adapter != null ? adapter.titleString(getContextAdapterIfAny()) : "(no object)";
}
@@ -206,7 +206,7 @@ public class EntityIconAndTitlePanel extends PanelAbstract<ObjectAdapterModel> {
return titleString.length();
}
- protected Image newImage(final String id, final ObjectAdapter adapter) {
+ protected Image newImage(final String id, final ManagedObject adapter) {
final ResourceReference imageResource = imageCache.resourceReferenceFor(adapter);
final Image image = new Image(id, imageResource) {
@@ -219,11 +219,11 @@ public class EntityIconAndTitlePanel extends PanelAbstract<ObjectAdapterModel> {
return image;
}
- public ObjectAdapter getContextAdapterIfAny() {
+ public ManagedObject getContextAdapterIfAny() {
ObjectAdapterModel model = getModel();
ObjectAdapterMemento contextAdapterMementoIfAny = model.getContextAdapterIfAny();
return contextAdapterMementoIfAny != null
- ? contextAdapterMementoIfAny.getObjectAdapter()
+ ? contextAdapterMementoIfAny.getObjectAdapter(commonContext.getSpecificationLoader())
: null;
}
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/selector/links/EntityLinksSelectorPanelFactory.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/selector/links/EntityLinksSelectorPanelFactory.java
index f18b555..fa527be 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/selector/links/EntityLinksSelectorPanelFactory.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/selector/links/EntityLinksSelectorPanelFactory.java
@@ -24,7 +24,6 @@ import org.apache.wicket.model.IModel;
import org.apache.isis.applib.layout.grid.Grid;
import org.apache.isis.applib.layout.grid.bootstrap3.BS3Grid;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facets.object.grid.GridFacet;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
@@ -33,6 +32,8 @@ import org.apache.isis.viewer.wicket.ui.ComponentType;
import org.apache.isis.viewer.wicket.ui.components.entity.EntityComponentFactoryAbstract;
import org.apache.isis.viewer.wicket.ui.components.layout.bs3.BS3GridPanel;
+import lombok.val;
+
/**
* {@link ComponentFactory} for {@link EntityLinksSelectorPanel}.
*/
@@ -48,7 +49,7 @@ public class EntityLinksSelectorPanelFactory extends EntityComponentFactoryAbstr
public Component createComponent(final String id, final IModel<?> model) {
final EntityModel entityModel = (EntityModel) model;
- final ObjectAdapter objectAdapter = entityModel.getObject();
+ val objectAdapter = entityModel.getObject();
final ObjectSpecification specification = entityModel.getTypeOfSpecification();
final GridFacet facet = specification.getFacet(GridFacet.class);
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPanel.java
index bed5fab..b508ca4 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPanel.java
@@ -23,7 +23,6 @@ import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.Model;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.version.ConcurrencyException;
import org.apache.isis.metamodel.facets.all.named.NamedFacet;
import org.apache.isis.metamodel.spec.feature.OneToOneAssociation;
@@ -34,6 +33,8 @@ import org.apache.isis.viewer.wicket.ui.components.actions.ActionParametersPanel
import org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
+import lombok.val;
+
/**
* Corresponding component to prompt for action (parameters) is {@link ActionParametersPanel}.
*/
@@ -102,7 +103,7 @@ public class PropertyEditPanel extends PanelAbstract<ScalarModel> {
// should succeed, because the Oid would have
// been updated in the attempt
- ObjectAdapter targetAdapter = scalarModel.getParentEntityModel().load();
+ val targetAdapter = scalarModel.getParentEntityModel().load();
// page redirect/handling
final EntityPage entityPage = new EntityPage(super.getCommonContext(), targetAdapter, null);
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyFormExecutorStrategy.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyFormExecutorStrategy.java
index ee800fb..98aca63 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyFormExecutorStrategy.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyFormExecutorStrategy.java
@@ -21,11 +21,13 @@ package org.apache.isis.viewer.wicket.ui.components.property;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.request.cycle.RequestCycle;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage;
import org.apache.isis.viewer.wicket.ui.panels.FormExecutorStrategy;
+import lombok.val;
+
public class PropertyFormExecutorStrategy implements FormExecutorStrategy<ScalarModel> {
private final ScalarModel model;
@@ -41,7 +43,7 @@ public class PropertyFormExecutorStrategy implements FormExecutorStrategy<Scalar
@Override
- public ObjectAdapter obtainTargetAdapter() {
+ public ManagedObject obtainTargetAdapter() {
return model.getParentEntityModel().load();
}
@@ -57,10 +59,10 @@ public class PropertyFormExecutorStrategy implements FormExecutorStrategy<Scalar
}
@Override
- public ObjectAdapter obtainResultAdapter() {
- ObjectAdapter targetAdapter = obtainTargetAdapter();
+ public ManagedObject obtainResultAdapter() {
+ val targetAdapter = obtainTargetAdapter();
- final ObjectAdapter resultAdapter = this.model.applyValue(targetAdapter);
+ val resultAdapter = this.model.applyValue(targetAdapter);
if (resultAdapter != targetAdapter) {
this.model.getParentEntityModel().setObject(targetAdapter);
@@ -71,7 +73,7 @@ public class PropertyFormExecutorStrategy implements FormExecutorStrategy<Scalar
@Override
public void redirectTo(
- final ObjectAdapter resultAdapter,
+ final ManagedObject resultAdapter,
final AjaxRequestTarget target) {
final EntityPage entityPage = new EntityPage(model.getCommonContext(), resultAdapter, null);
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.java
index a8217ec..11779a1 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.java
@@ -21,7 +21,6 @@ package org.apache.isis.viewer.wicket.ui.components.propertyheader;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.IModel;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facets.all.named.NamedFacet;
import org.apache.isis.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
@@ -29,6 +28,8 @@ import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.ComponentType;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
+import lombok.val;
+
public class PropertyEditPromptHeaderPanel extends PanelAbstract<ScalarModel> {
private static final long serialVersionUID = 1L;
@@ -37,7 +38,7 @@ public class PropertyEditPromptHeaderPanel extends PanelAbstract<ScalarModel> {
public PropertyEditPromptHeaderPanel(String id, final ScalarModel model) {
super(id, model);
- ObjectAdapter targetAdapter = model.getParentEntityModel().load();
+ val targetAdapter = model.getParentEntityModel().load();
getComponentFactoryRegistry().addOrReplaceComponent(
this,
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
index c55db63..635ebcf 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
@@ -34,9 +34,9 @@ import org.apache.wicket.model.Model;
import org.apache.isis.applib.annotation.ActionLayout;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facets.members.cssclass.CssClassFacet;
import org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
import org.apache.isis.viewer.wicket.model.models.EntityModel.RenderingHint;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -45,6 +45,8 @@ import org.apache.isis.viewer.wicket.ui.components.scalars.TextFieldValueModel.S
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
+import lombok.val;
+
/**
* Adapter for {@link PanelAbstract panel}s that use a {@link ScalarModel} as
* their backing model.
@@ -58,7 +60,9 @@ import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
* It is however still used by some wicket addons (specifically, pdfjs).
* </p>
*/
-public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> implements ScalarModelProvider {
+public abstract class ScalarPanelAbstract
+extends PanelAbstract<ScalarModel>
+implements ScalarModelProvider {
private static final long serialVersionUID = 1L;
@@ -265,7 +269,7 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
ScalarModel model = getModel();
final CssClassFacet facet = model.getFacet(CssClassFacet.class);
if(facet != null) {
- final ObjectAdapter parentAdapter = model.getParentEntityModel().load();
+ val parentAdapter = model.getParentEntityModel().load();
final String cssClass = facet.cssClass(parentAdapter);
CssClassAppender.appendCssClassTo(this, cssClass);
}
@@ -367,7 +371,7 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
*
* @return true - indicates has been updated, so update dynamically via ajax
*/
- public boolean updateChoices(ObjectAdapter[] pendingArguments) {
+ public boolean updateChoices(ManagedObject[] pendingArguments) {
return false;
}
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
index f1494f4..3df2b68 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
@@ -43,7 +43,6 @@ import org.apache.isis.applib.services.metamodel.MetaModelService;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.commons.internal.ioc.BeanSort;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.version.ConcurrencyException;
import org.apache.isis.metamodel.consent.Consent;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
@@ -138,13 +137,13 @@ implements ScalarModelSubscriber2 {
final AjaxRequestTarget target) {
final ObjectAction action = actionModel.getActionMemento().getAction(getSpecificationLoader());
- final ObjectAdapter[] pendingArguments = actionModel.getArgumentsAsArray();
+ final ManagedObject[] pendingArguments = actionModel.getArgumentsAsArray();
// could almost certainly simplify this... (used by visibility and usability checks)
final ObjectActionParameter actionParameter = action.getParameters().get(paramNumToPossiblyUpdate);
- final ObjectAdapter targetAdapter = actionModel.getTargetAdapter();
- final ManagedObject realTargetAdapter = action.realTargetAdapter(targetAdapter);
+ val targetAdapter = actionModel.getTargetAdapter();
+ val realTargetAdapter = action.realTargetAdapter(targetAdapter);
// check visibility
final Consent visibilityConsent = actionParameter.isVisible(realTargetAdapter, pendingArguments, InteractionInitiatedBy.USER);
@@ -170,14 +169,14 @@ implements ScalarModelSubscriber2 {
// even if now invisible or unusable, we recalculate args and ensure compatible
// (else can hit complicated edge cases with stale data when next re-enable/make visible)
final ScalarModel model = getModel();
- ObjectAdapter defaultIfAny = model.getKind()
+ val defaultIfAny = model.getKind()
.getDefault(scalarModel, pendingArguments, paramNumUpdated,
commonContext.getAuthenticationSession());
final ActionParameterMemento apm = new ActionParameterMemento(actionParameter);
final ActionArgumentModel actionArgumentModel = actionModel.getArgumentModel(apm);
- final ObjectAdapter pendingArg = pendingArguments[paramNumToPossiblyUpdate];
+ val pendingArg = pendingArguments[paramNumToPossiblyUpdate];
if (defaultIfAny != null) {
scalarModel.setObject(defaultIfAny);
@@ -188,10 +187,10 @@ implements ScalarModelSubscriber2 {
if(pendingArg != null & scalarModel.hasChoices()) {
// make sure the object is one of the choices, else blank it out.
- final List<ObjectAdapter> choices = scalarModel
+ val choices = scalarModel
.getChoices(pendingArguments, commonContext.getAuthenticationSession());
- if(pendingArg.isValue()) {
+ if(ManagedObject.isValue(pendingArg)) {
// we have to do this if the ObjectAdapters are value type (eg a string)
// because we can end up with a different ObjectAdapter for the same underlying value
// (values have no intrinsic identity)
@@ -199,7 +198,7 @@ implements ScalarModelSubscriber2 {
// it might not be necessary to have this special casing; we could probably use this code
// even for reference types
final Object pendingValue = pendingArg.getPojo();
- final List<Object> choiceValues = ObjectAdapter.Util.unwrapPojoList(choices);
+ final List<Object> choiceValues = ManagedObject.unwrapPojoListElseEmpty(choices);
if(!choiceValues.contains(pendingValue)) {
scalarModel.setObject(null);
scalarModel.setPending(null);
@@ -315,7 +314,7 @@ implements ScalarModelSubscriber2 {
// there is similar code for invoking actions (ActionLink)
//
commonContext.getAuthenticationSession().getMessageBroker().addMessage(ex.getMessage());
- final ObjectAdapter parentAdapter = getModel().getParentEntityModel().load();
+ val parentAdapter = getModel().getParentEntityModel().load();
throw new RestartResponseException(new EntityPage(commonContext, parentAdapter));
}
@@ -526,7 +525,7 @@ implements ScalarModelSubscriber2 {
final CssClassFacet facet = model.getFacet(CssClassFacet.class);
if(facet != null) {
- final ObjectAdapter parentAdapter =
+ val parentAdapter =
model.getParentEntityModel().load();
final String cssClass = facet.cssClass(parentAdapter);
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelect2Abstract.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelect2Abstract.java
index 0d97717..54ad763 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelect2Abstract.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelect2Abstract.java
@@ -33,7 +33,7 @@ import org.apache.wicket.validation.ValidationError;
import org.wicketstuff.select2.ChoiceProvider;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.metamodel.spec.ObjectSpecId;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.runtime.memento.ObjectAdapterMemento;
import org.apache.isis.viewer.wicket.model.models.ActionModel;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -113,7 +113,7 @@ public abstract class ScalarPanelSelect2Abstract extends ScalarPanelAbstract2 {
/**
* sets up the choices, also ensuring that any currently held value is compatible.
*/
- private void setProviderAndCurrAndPending(final Select2 select2, ObjectAdapter[] argsIfAvailable) {
+ private void setProviderAndCurrAndPending(Select2 select2, ManagedObject[] argsIfAvailable) {
final ChoiceProvider<ObjectAdapterMemento> choiceProvider = buildChoiceProvider(argsIfAvailable);
@@ -129,12 +129,12 @@ public abstract class ScalarPanelSelect2Abstract extends ScalarPanelAbstract2 {
/**
* Mandatory hook (is called by {@link #setProviderAndCurrAndPending(Select2, ObjectAdapter[])})
*/
- protected abstract ChoiceProvider<ObjectAdapterMemento> buildChoiceProvider(final ObjectAdapter[] argsIfAvailable);
+ protected abstract ChoiceProvider<ObjectAdapterMemento> buildChoiceProvider(ManagedObject[] argsIfAvailable);
/**
* Mandatory hook (is called by {@link #setProviderAndCurrAndPending(Select2, ObjectAdapter[])})
*/
- protected abstract void syncIfNull(final Select2 select2, final List<ObjectAdapterMemento> choicesMementos);
+ protected abstract void syncIfNull(Select2 select2, List<ObjectAdapterMemento> choicesMementos);
// //////////////////////////////////////
@@ -179,7 +179,7 @@ public abstract class ScalarPanelSelect2Abstract extends ScalarPanelAbstract2 {
final int paramNumToPossiblyUpdate,
final AjaxRequestTarget target) {
- final ObjectAdapter[] argumentsAsArray = actionModel.getArgumentsAsArray();
+ final ManagedObject[] argumentsAsArray = actionModel.getArgumentsAsArray();
final Repaint repaint =
super.updateIfNecessary(actionModel, paramNumUpdated, paramNumToPossiblyUpdate, target);
@@ -195,7 +195,7 @@ public abstract class ScalarPanelSelect2Abstract extends ScalarPanelAbstract2 {
return repaint;
}
- private boolean updateChoices(ObjectAdapter[] argsIfAvailable) {
+ private boolean updateChoices(ManagedObject[] argsIfAvailable) {
if (select2 == null) {
return false;
}
@@ -235,19 +235,20 @@ public abstract class ScalarPanelSelect2Abstract extends ScalarPanelAbstract2 {
final ObjectAdapterMemento proposedValue;
if (proposedValueObj instanceof List) {
+ @SuppressWarnings("unchecked")
val proposedValueObjAsList = (List<ObjectAdapterMemento>) proposedValueObj;
if (proposedValueObjAsList.isEmpty()) {
return;
}
- final ObjectAdapterMemento oam = proposedValueObjAsList.get(0);
- final ObjectSpecId objectSpecId = oam.getObjectSpecId();
+ val memento = proposedValueObjAsList.get(0);
+ val objectSpecId = memento.getObjectSpecId();
proposedValue = ObjectAdapterMemento
.wrapMementoList(proposedValueObjAsList, objectSpecId);
} else {
proposedValue = (ObjectAdapterMemento) proposedValueObj;
}
- final ObjectAdapter proposedAdapter = proposedValue.getObjectAdapter();
+ val proposedAdapter = proposedValue.getObjectAdapter(scalarModel.getSpecificationLoader());
final String reasonIfAny = scalarModel.validate(proposedAdapter);
if (reasonIfAny != null) {
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
index 0a5e4d2..209b754 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
@@ -21,8 +21,6 @@ package org.apache.isis.viewer.wicket.ui.components.scalars;
import java.io.Serializable;
-import javax.inject.Inject;
-
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
import org.apache.wicket.markup.html.basic.Label;
@@ -32,14 +30,12 @@ import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.util.convert.IConverter;
-import org.apache.isis.applib.services.i18n.LocaleProvider;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facets.objectvalue.renderedadjusted.RenderedAdjustedFacet;
-import org.apache.isis.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettings;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.components.scalars.datepicker.TextFieldWithDateTimePicker;
+import lombok.val;
+
/**
* Panel for rendering scalars representing dates, along with a date picker.
*/
@@ -111,8 +107,8 @@ extends ScalarPanelTextFieldAbstract<T> {
private static final long serialVersionUID = 1L;
@Override public String getObject() {
- ObjectAdapter object = scalarModel.getObject();
- final T value = object != null ? (T) object.getPojo() : null;
+ val adapter = scalarModel.getObject();
+ final T value = adapter != null ? (T) adapter.getPojo() : null;
final String str =
value != null
? converter.convertToString(value, getLocaleProvider().getLocale())
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
index fe3a48c..dda1b29 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
@@ -28,9 +28,10 @@ import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.util.convert.IConverter;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
+import lombok.val;
+
/**
* Panel for rendering numeric scalars.
*/
@@ -77,8 +78,8 @@ public abstract class ScalarPanelTextFieldNumeric<T extends Serializable> extend
private static final long serialVersionUID = 1L;
@Override public String getObject() {
- ObjectAdapter object = scalarModel.getObject();
- final T value = object != null ? (T) object.getPojo() : null;
+ val adapter = scalarModel.getObject();
+ final T value = adapter != null ? (T) adapter.getPojo() : null;
final String str =
value != null
? converter.convertToString(value, getLocaleProvider().getLocale())
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/TextFieldValueModel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/TextFieldValueModel.java
index 86a1df9..10b7146 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/TextFieldValueModel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/TextFieldValueModel.java
@@ -23,7 +23,7 @@ import java.io.Serializable;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.model.Model;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import lombok.val;
@@ -49,12 +49,12 @@ public class TextFieldValueModel<T extends Serializable> extends Model<T> {
@Override
public T getObject() {
final ScalarModel model = scalarModelProvider.getModel();
- final ObjectAdapter objectAdapter = model.getObject();
+ val objectAdapter = model.getObject();
return asT(objectAdapter);
}
@SuppressWarnings("unchecked")
- private T asT(final ObjectAdapter objectAdapter) {
+ private T asT(ManagedObject objectAdapter) {
return (T) (objectAdapter != null? objectAdapter.getPojo(): null);
}
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/image/JavaAwtImagePanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/image/JavaAwtImagePanel.java
index 10b8bc9..31bcd35 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/image/JavaAwtImagePanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/image/JavaAwtImagePanel.java
@@ -26,8 +26,8 @@ import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.image.Image;
import org.apache.wicket.markup.html.image.resource.RenderedDynamicImageResource;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facets.value.image.ImageValueFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
@@ -52,7 +52,7 @@ public class JavaAwtImagePanel extends PanelAbstract<ScalarModel> {
addOrReplace(scalarName);
final ImageValueFacet imageValueFacet = getModel().getTypeOfSpecification().getFacet(ImageValueFacet.class);
- final ObjectAdapter adapter = getModel().getObject();
+ final ManagedObject adapter = getModel().getObject();
if (adapter != null) {
final java.awt.Image imageValue = imageValueFacet.getImage(adapter);
final RenderedDynamicImageResource imageResource = new RenderedDynamicImageResource(
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
index 3f4058d..6ae3f7a 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
@@ -143,7 +143,7 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
private Image asWicketImage(String id) {
- final ObjectAdapter adapter = getModel().getObject();
+ val adapter = getModel().getObject();
if(adapter == null) {
return null;
}
@@ -251,7 +251,7 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
@SuppressWarnings("unchecked")
private T getBlobOrClob(final ScalarModel model) {
- ObjectAdapter adapter = model.getObject();
+ val adapter = model.getObject();
return adapter != null? (T) adapter.getPojo(): null;
}
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
index 7406249..034b70a 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
@@ -29,7 +29,6 @@ import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.isis.applib.annotation.LabelPosition;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facets.objectvalue.labelat.LabelAtFacet;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.runtime.persistence.adapter.PojoAdapter;
@@ -118,7 +117,7 @@ public class BooleanPanel extends ScalarPanelAbstract2 {
@Override public String getObject() {
final ScalarModel model = getModel();
- final ObjectAdapter adapter = model.getObject();
+ val adapter = model.getObject();
final Boolean bool = adapter != null ? (Boolean) adapter.getPojo() : null;
return bool == null? "(not set)" : bool ? "Yes" : "No";
}
@@ -135,7 +134,7 @@ public class BooleanPanel extends ScalarPanelAbstract2 {
@Override
public Boolean getObject() {
final ScalarModel model = getModel();
- final ObjectAdapter adapter = model.getObject();
+ val adapter = model.getObject();
return adapter != null? (Boolean) adapter.getPojo(): null;
}
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/EntityLinkSelect2Panel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/EntityLinkSelect2Panel.java
index d40b9c3..a832fb8 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/EntityLinkSelect2Panel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/EntityLinkSelect2Panel.java
@@ -23,10 +23,13 @@ import org.apache.wicket.markup.html.form.FormComponentPanel;
import org.wicketstuff.select2.Select2MultiChoice;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.ui.components.widgets.formcomponent.CancelHintRequired;
import org.apache.isis.viewer.wicket.ui.components.widgets.formcomponent.FormComponentPanelAbstract;
-class EntityLinkSelect2Panel extends FormComponentPanelAbstract<ObjectAdapter> implements CancelHintRequired {
+class EntityLinkSelect2Panel
+extends FormComponentPanelAbstract<ManagedObject>
+implements CancelHintRequired {
private static final long serialVersionUID = 1L;
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
index 41834aa..5c839d4 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
@@ -36,6 +36,7 @@ import org.wicketstuff.select2.Settings;
import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facets.object.autocomplete.AutoCompleteFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.runtime.memento.ObjectAdapterMemento;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
@@ -161,17 +162,18 @@ public class ReferencePanel extends ScalarPanelSelect2Abstract {
@Override
protected IModel<String> obtainInlinePromptModel() {
final IModel<ObjectAdapterMemento> model = select2.getModel();
+
return new IModel<String>() {
private static final long serialVersionUID = 1L;
@Override
public String getObject() {
- final ObjectAdapterMemento oam = model.getObject();
- if(oam == null) {
+ val memento = model.getObject();
+ if(memento == null) {
return null;
}
- ObjectAdapter objectAdapter = oam.getObjectAdapter();
- return objectAdapter != null ? objectAdapter.titleString(null) : null;
+ val adapter = memento.getObjectAdapter(getSpecificationLoader());
+ return adapter != null ? adapter.titleString(null) : null;
}
@Override
@@ -212,7 +214,7 @@ public class ReferencePanel extends ScalarPanelSelect2Abstract {
protected void onInitializeWhenDisabled(final String disableReason) {
super.onInitializeWhenDisabled(disableReason);
syncWithInput();
- final EntityModel entityLinkModel = (EntityModel) entityLink.getModel();
+ val entityLinkModel = (EntityModel) entityLink.getModel();
entityLinkModel.toViewMode();
entityLink.setEnabled(false);
Tooltips.addTooltip(entityLink, disableReason);
@@ -244,7 +246,7 @@ public class ReferencePanel extends ScalarPanelSelect2Abstract {
// called from onInitialize*
// (was previous called by EntityLinkSelect2Panel in onBeforeRender, this responsibility now moved)
private void syncWithInput() {
- final ObjectAdapter adapter = getModel().getPendingElseCurrentAdapter();
+ val adapter = getModel().getPendingElseCurrentAdapter();
// syncLinkWithInput
final MarkupContainer componentForRegular = (MarkupContainer) getComponentForRegular();
@@ -337,7 +339,7 @@ public class ReferencePanel extends ScalarPanelSelect2Abstract {
// //////////////////////////////////////
@Override
- protected ChoiceProvider<ObjectAdapterMemento> buildChoiceProvider(final ObjectAdapter[] argsIfAvailable) {
+ protected ChoiceProvider<ObjectAdapterMemento> buildChoiceProvider(ManagedObject[] argsIfAvailable) {
if (getModel().hasChoices()) {
List<ObjectAdapterMemento> choiceMementos = obtainChoiceMementos(argsIfAvailable);
@@ -352,11 +354,11 @@ public class ReferencePanel extends ScalarPanelSelect2Abstract {
}
// called by setProviderAndCurrAndPending
- private List<ObjectAdapterMemento> obtainChoiceMementos(final ObjectAdapter[] argsIfAvailable) {
+ private List<ObjectAdapterMemento> obtainChoiceMementos(ManagedObject[] argsIfAvailable) {
val commonContext = super.getCommonContext();
- val choices = _Lists.<ObjectAdapter>newArrayList();
+ val choices = _Lists.<ManagedObject>newArrayList();
if(getModel().hasChoices()) {
choices.addAll(getModel().getChoices(argsIfAvailable, commonContext.getAuthenticationSession()));
}
@@ -391,7 +393,7 @@ public class ReferencePanel extends ScalarPanelSelect2Abstract {
// called by EntityLinkSelect2Panel
String getInput() {
- final ObjectAdapter pendingElseCurrentAdapter = getModel().getPendingElseCurrentAdapter();
+ val pendingElseCurrentAdapter = getModel().getPendingElseCurrentAdapter();
return pendingElseCurrentAdapter != null? pendingElseCurrentAdapter.titleString(null): "(no object)";
}
@@ -402,18 +404,18 @@ public class ReferencePanel extends ScalarPanelSelect2Abstract {
if(isEditableWithEitherAutoCompleteOrChoices()) {
// flush changes to pending
- ObjectAdapterMemento convertedInput =
- select2.getConvertedInput();
+ ObjectAdapterMemento convertedInput = select2.getConvertedInput();
getModel().setPending(convertedInput);
if(select2 != null) {
select2.getModel().setObject(convertedInput);
}
- final ObjectAdapter adapter = convertedInput!=null
- ? convertedInput.getObjectAdapter()
+ val adapter = convertedInput!=null
+ ? convertedInput.getObjectAdapter(super.getSpecificationLoader())
:null;
- getModel().setObject(adapter);
+
+ getModel().setObject(adapter);
}
final ObjectAdapter pendingAdapter = getModel().getPendingAdapter();
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
index fb6cf8e..d935d5d 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
@@ -33,7 +33,7 @@ import org.wicketstuff.select2.ChoiceProvider;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.runtime.memento.ObjectAdapterMemento;
import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettings;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -76,11 +76,11 @@ public class ValueChoicesSelect2Panel extends ScalarPanelSelect2Abstract {
}
- private List<ObjectAdapterMemento> getChoiceMementos(final ObjectAdapter[] argumentsIfAvailable) {
+ private List<ObjectAdapterMemento> getChoiceMementos(final ManagedObject[] argumentsIfAvailable) {
val commonContext = super.getCommonContext();
- final List<ObjectAdapter> choices =
+ val choices =
scalarModel.getChoices(argumentsIfAvailable, commonContext.getAuthenticationSession());
return _Lists.map(choices, commonContext::mementoFor);
@@ -167,7 +167,7 @@ public class ValueChoicesSelect2Panel extends ScalarPanelSelect2Abstract {
// in corresponding code in ReferencePanelFactory, these is a branch for different types of providers
// (choice vs autoComplete). Here though - because values don't currently support autoComplete - no branch is required
@Override
- protected ChoiceProvider<ObjectAdapterMemento> buildChoiceProvider(final ObjectAdapter[] argsIfAvailable) {
+ protected ChoiceProvider<ObjectAdapterMemento> buildChoiceProvider(ManagedObject[] argsIfAvailable) {
final List<ObjectAdapterMemento> choicesMementos = getChoiceMementos(argsIfAvailable);
return new ObjectAdapterMementoProviderForValueChoices(scalarModel, choicesMementos);
}
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/IsisToWicketTreeAdapter.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/IsisToWicketTreeAdapter.java
index ccd8954..a0d4fb6 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/IsisToWicketTreeAdapter.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/IsisToWicketTreeAdapter.java
@@ -48,6 +48,7 @@ import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.commons.internal.functions._Functions;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.oid.RootOid;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.runtime.system.context.IsisContext;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.model.models.ModelAbstract;
@@ -359,7 +360,7 @@ class IsisToWicketTreeAdapter {
* @return Wicket's ITreeProvider
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
- private static ITreeProvider<TreeModel> toITreeProvider(ModelAbstract<ObjectAdapter> model) {
+ private static ITreeProvider<TreeModel> toITreeProvider(ModelAbstract<ManagedObject> model) {
val commonContext = model.getCommonContext();
val treeNode = (TreeNode) model.getObject().getPojo();
@@ -389,7 +390,7 @@ class IsisToWicketTreeAdapter {
public LoadableDetachableTreeModel(TreeModel tModel) {
super(tModel);
this.treePath = tModel.getTreePath();
- this.id = (RootOid) tModel.getObject().getOid();
+ this.id = (RootOid) ManagedObject._oid(tModel.getObject());
this.hashCode = Objects.hash(id.hashCode(), treePath.hashCode());
this.commonContext = tModel.getCommonContext();
}
@@ -448,7 +449,9 @@ class IsisToWicketTreeAdapter {
* @return Wicket's model for collapse/expand state
*/
@SuppressWarnings({ "rawtypes" })
- private static TreeExpansionModel toIModelRepresentingCollapseExpandState(ModelAbstract<ObjectAdapter> model) {
+ private static TreeExpansionModel toIModelRepresentingCollapseExpandState(
+ ModelAbstract<ManagedObject> model) {
+
val treeNode = (TreeNode) model.getObject().getPojo();
val treeState = treeNode.getTreeState();
val commonContext = model.getCommonContext();
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/TreePanelFactories.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/TreePanelFactories.java
index 98e995e..e147faa 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/TreePanelFactories.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/TreePanelFactories.java
@@ -22,7 +22,6 @@ package org.apache.isis.viewer.wicket.ui.components.tree;
import org.apache.wicket.Component;
import org.apache.wicket.model.IModel;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.model.models.ValueModel;
import org.apache.isis.viewer.wicket.ui.ComponentFactory;
@@ -30,6 +29,8 @@ import org.apache.isis.viewer.wicket.ui.ComponentFactoryAbstract;
import org.apache.isis.viewer.wicket.ui.ComponentType;
import org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupPanel;
+import lombok.val;
+
/**
* {@link ComponentFactory} for {@link MarkupPanel}.
*/
@@ -82,7 +83,7 @@ public class TreePanelFactories {
}
final ValueModel valueModel = (ValueModel) model;
- final ObjectAdapter adapter = valueModel.getObject();
+ val adapter = valueModel.getObject();
if(adapter==null || adapter.getPojo()==null) {
return ApplicationAdvice.DOES_NOT_APPLY;
}
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/unknown/UnknownModelPanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/unknown/UnknownModelPanel.java
index 47c6145..204e022 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/unknown/UnknownModelPanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/unknown/UnknownModelPanel.java
@@ -23,10 +23,12 @@ import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
+import lombok.val;
+
public class UnknownModelPanel extends PanelAbstract<IModel<?>> {
private static final long serialVersionUID = 1L;
@@ -55,13 +57,14 @@ public class UnknownModelPanel extends PanelAbstract<IModel<?>> {
buf.append(model.getClass().getSimpleName()).append(" ");
if(model instanceof EntityModel) {
EntityModel entityModel = (EntityModel) model;
- ObjectAdapter objectAdapter = entityModel.getObject();
+ val objectAdapter = entityModel.getObject();
if(objectAdapter != null) {
- if(objectAdapter.getOid().isValue()) {
+
+ if(ManagedObject.isValue(objectAdapter)) {
//FIXME[ISIS-1976] should be properly intercepted by another Panel and not fall through to the unknowns
buf.append("FIXME[ISIS-1976] VALUE '" + objectAdapter.getPojo()+"'");
} else {
- buf.append("??? objectAdapter oid: " + objectAdapter.getOid());
+ buf.append("??? objectAdapter oid: " + ManagedObject._oid(objectAdapter));
}
} else {
buf.append("??? objectAdapter is NULL");
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/value/StandaloneValuePanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/value/StandaloneValuePanel.java
index 63a65f3..53ff861 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/value/StandaloneValuePanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/value/StandaloneValuePanel.java
@@ -21,11 +21,12 @@ package org.apache.isis.viewer.wicket.ui.components.value;
import org.apache.wicket.markup.html.basic.Label;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.viewer.wicket.model.models.ValueModel;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract2;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
+import lombok.val;
+
/**
* Panel for rendering any value types that do not have their own custom
* {@link ScalarPanelAbstract2 panel} to render them.
@@ -37,7 +38,7 @@ public class StandaloneValuePanel extends PanelAbstract<ValueModel> {
public StandaloneValuePanel(final String id, final ValueModel valueModel) {
super(id, valueModel);
- final ObjectAdapter objectAdapter = getModel().getObject();
+ val objectAdapter = getModel().getObject();
final String label = objectAdapter.titleString(null);
add(new Label(ID_STANDALONE_VALUE, label));
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
index 655c349..da5341c 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
@@ -42,7 +42,6 @@ import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.ui.errors.JGrowlUtil;
import org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
-import org.apache.isis.viewer.wicket.ui.panels.PanelBase;
import lombok.val;
@@ -74,7 +73,7 @@ public class BreadcrumbPanel extends PanelAbstract<IModel<Void>> {
}
private String titleFor(final EntityModel model) {
- return model.getObjectAdapterMemento().getObjectAdapter().titleString(null);
+ return model.getObjectAdapterMemento().getObjectAdapter(commonContext.getSpecificationLoader()).titleString(null);
}
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitysimplelink/EntityLinkSimplePanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitysimplelink/EntityLinkSimplePanel.java
index 310d5f2..4ce0584 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitysimplelink/EntityLinkSimplePanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitysimplelink/EntityLinkSimplePanel.java
@@ -24,17 +24,22 @@ import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.FormComponentPanel;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.ui.ComponentFactory;
import org.apache.isis.viewer.wicket.ui.ComponentType;
import org.apache.isis.viewer.wicket.ui.components.widgets.formcomponent.CancelHintRequired;
import org.apache.isis.viewer.wicket.ui.components.widgets.formcomponent.FormComponentPanelAbstract;
+import lombok.val;
+
/**
* {@link FormComponentPanel} representing a reference to an entity: a link and
* (optionally) an autocomplete field.
*/
-public class EntityLinkSimplePanel extends FormComponentPanelAbstract<ObjectAdapter> implements CancelHintRequired {
+public class EntityLinkSimplePanel
+extends FormComponentPanelAbstract<ManagedObject>
+implements CancelHintRequired {
private static final long serialVersionUID = 1L;
@@ -62,7 +67,7 @@ public class EntityLinkSimplePanel extends FormComponentPanelAbstract<ObjectAdap
}
private void syncWithInput() {
- final ObjectAdapter adapter = getEntityModel().getObject(); // getPendingElseCurrentAdapter();
+ val adapter = getEntityModel().getObject(); // getPendingElseCurrentAdapter();
if (adapter != null) {
final EntityModel entityModelForLink = getEntityModel();
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLink.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLink.java
index 55643cb..a42414b 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLink.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLink.java
@@ -33,8 +33,8 @@ import org.apache.wicket.util.time.Duration;
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.applib.value.LocalResourcePath;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.version.ConcurrencyException;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.feature.ObjectAction;
import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettings;
import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettingsAccessor;
@@ -45,8 +45,9 @@ import org.apache.isis.webapp.context.IsisWebAppCommonContext;
import de.agilecoders.wicket.core.markup.html.bootstrap.button.Buttons;
import lombok.Getter;
+import lombok.val;
-public abstract class ActionLink extends AjaxLink<ObjectAdapter> implements IAjaxIndicatorAware {
+public abstract class ActionLink extends AjaxLink<ManagedObject> implements IAjaxIndicatorAware {
private static final long serialVersionUID = 1L;
@@ -219,8 +220,8 @@ public abstract class ActionLink extends AjaxLink<ObjectAdapter> implements IAja
@Override
protected IRequestHandler getRequestHandler() {
- ObjectAdapter resultAdapter = actionModel.execute();
- final Object value = resultAdapter.getPojo();
+ val resultAdapter = actionModel.execute();
+ val value = resultAdapter.getPojo();
return ActionModel.redirectHandler(value);
}
};
@@ -238,10 +239,10 @@ public abstract class ActionLink extends AjaxLink<ObjectAdapter> implements IAja
@Override
protected IRequestHandler getRequestHandler() {
- final ObjectAdapter resultAdapter = actionModel.execute();
- final Object value = resultAdapter!=null ? resultAdapter.getPojo() : null;
+ val resultAdapter = actionModel.execute();
+ val value = resultAdapter!=null ? resultAdapter.getPojo() : null;
- final IRequestHandler handler = ActionModel.downloadHandler(value);
+ val handler = ActionModel.downloadHandler(value);
//ISIS-1619, prevent clients from caching the response content
return isIdempotentOrCachable(actionModel)
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLinkFactoryAbstract.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLinkFactoryAbstract.java
index 498b24f..795e3d8 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLinkFactoryAbstract.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLinkFactoryAbstract.java
@@ -36,7 +36,6 @@ import org.apache.isis.applib.layout.grid.bootstrap3.BS3Grid;
import org.apache.isis.applib.services.registry.ServiceRegistry;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.facets.object.grid.GridFacet;
import org.apache.isis.metamodel.postprocessors.param.ActionParameterDefaultsFacetFromAssociatedCollection;
import org.apache.isis.metamodel.spec.ManagedObject;
@@ -109,11 +108,11 @@ public abstract class ActionLinkFactoryAbstract implements ActionLinkFactory {
toggledMementosProviderIfAny.getToggles();
final List<Object> selectedPojos = _Lists.transform(selectedMementos, stream->stream
- .map((@Nullable final ObjectAdapterMemento input) -> {
- if(input == null) {
+ .map((@Nullable final ObjectAdapterMemento memento) -> {
+ if(memento == null) {
return null;
}
- final ObjectAdapter objectAdapter = input.getObjectAdapter();
+ val objectAdapter = memento.getObjectAdapter(commonContext.getSpecificationLoader());
return objectAdapter != null ? objectAdapter.getPojo() : null;
})
.filter(_NullSafe::isPresent)
@@ -261,7 +260,7 @@ public abstract class ActionLinkFactoryAbstract implements ActionLinkFactory {
// (One way this can occur is if an event subscriber has a defect and throws an exception; in which case
// the EventBus' exception handler will automatically veto. This results in a growl message rather than
// an error page, but is probably 'good enough').
- final ObjectAdapter targetAdapter = actionModel.getTargetAdapter();
+ val targetAdapter = actionModel.getTargetAdapter();
final EntityPage entityPage = new EntityPage(getCommonContext(), targetAdapter, null);
@@ -293,7 +292,7 @@ public abstract class ActionLinkFactoryAbstract implements ActionLinkFactory {
}
protected LinkAndLabel newLinkAndLabel(
- final ObjectAdapter objectAdapter,
+ final ManagedObject objectAdapter,
final ObjectAction objectAction,
final AbstractLink link) {
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderAbstract.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderAbstract.java
index 2afe8a2..cc3836b 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderAbstract.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderAbstract.java
@@ -38,6 +38,7 @@ import org.apache.isis.viewer.wicket.ui.components.scalars.IsisConverterLocator;
import org.apache.isis.webapp.context.IsisWebAppCommonContext;
import lombok.Getter;
+import lombok.val;
public abstract class ObjectAdapterMementoProviderAbstract extends ChoiceProvider<ObjectAdapterMemento> {
@@ -63,7 +64,7 @@ public abstract class ObjectAdapterMementoProviderAbstract extends ChoiceProvide
return NULL_DISPLAY_TEXT;
}
- final ObjectAdapter objectAdapter = choice.getObjectAdapter();
+ val objectAdapter = choice.getObjectAdapter(commonContext.getSpecificationLoader());
final IConverter<Object> converter = findConverter(objectAdapter);
return converter != null
? converter.convertToString(objectAdapter.getPojo(), getLocale())
@@ -122,7 +123,7 @@ public abstract class ObjectAdapterMementoProviderAbstract extends ChoiceProvide
matches.addAll(choicesMementos);
} else {
for (ObjectAdapterMemento candidate : choicesMementos) {
- ObjectAdapter objectAdapter = candidate.getObjectAdapter();
+ val objectAdapter = candidate.getObjectAdapter(commonContext.getSpecificationLoader());
String title = objectAdapter.titleString(objectAdapter);
if (title.toLowerCase().contains(term.toLowerCase())) {
matches.add(candidate);
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderForReferenceParamOrPropertyAutoComplete.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderForReferenceParamOrPropertyAutoComplete.java
index 59e9a3c..13b417e 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderForReferenceParamOrPropertyAutoComplete.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderForReferenceParamOrPropertyAutoComplete.java
@@ -43,8 +43,8 @@ import java.util.stream.Collectors;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.oid.RootOid;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.runtime.memento.ObjectAdapterMemento;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -64,9 +64,9 @@ extends ObjectAdapterMementoProviderAbstract {
val commonContext = super.getCommonContext();
- val autoCompleteChoices = _Lists.<ObjectAdapter>newArrayList();
+ val autoCompleteChoices = _Lists.<ManagedObject>newArrayList();
if (getScalarModel().hasAutoComplete()) {
- final List<ObjectAdapter> autoCompleteAdapters =
+ val autoCompleteAdapters =
getScalarModel().getAutoComplete(term, commonContext.getAuthenticationSession());
autoCompleteChoices.addAll(autoCompleteAdapters);
}
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
index b2782bb..7775a95 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
@@ -37,6 +37,7 @@ import org.apache.isis.metamodel.adapter.version.ConcurrencyException;
import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.metamodel.facets.members.cssclass.CssClassFacet;
import org.apache.isis.metamodel.facets.object.grid.GridFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.ObjectMember;
import org.apache.isis.viewer.wicket.model.common.PageParametersUtils;
@@ -102,7 +103,7 @@ public class EntityPage extends PageAbstract {
this(pageParameters, entityModel, null);
}
- public EntityPage(IsisWebAppCommonContext commonContext, ObjectAdapter adapter) {
+ public EntityPage(IsisWebAppCommonContext commonContext, ManagedObject adapter) {
this(commonContext, adapter, null);
}
@@ -112,7 +113,7 @@ public class EntityPage extends PageAbstract {
*/
public EntityPage(
IsisWebAppCommonContext commonContext,
- ObjectAdapter adapter,
+ ManagedObject adapter,
ConcurrencyException exIfAny) {
this(PageParametersUtils.newPageParameters(), newEntityModel(commonContext, adapter, exIfAny));
@@ -120,7 +121,7 @@ public class EntityPage extends PageAbstract {
private static EntityModel newEntityModel(
IsisWebAppCommonContext commonContext,
- ObjectAdapter adapter,
+ ManagedObject adapter,
ConcurrencyException exIfAny) {
val entityModel = EntityModel.ofAdapter(commonContext, adapter);
@@ -162,7 +163,7 @@ public class EntityPage extends PageAbstract {
}
private void buildPage() {
- final ObjectAdapter objectAdapter;
+ final ManagedObject objectAdapter;
try {
// check object still exists
objectAdapter = model.getObject();
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java
index 2f16484..ae79ba1 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java
@@ -44,10 +44,10 @@ import org.apache.isis.applib.services.message.MessageService;
import org.apache.isis.applib.services.registry.ServiceRegistry;
import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.version.ConcurrencyException;
import org.apache.isis.metamodel.facets.actions.redirect.RedirectFacet;
import org.apache.isis.metamodel.facets.properties.renderunchanged.UnchangingFacet;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.specloader.SpecificationLoader;
import org.apache.isis.runtime.memento.ObjectAdapterMemento;
import org.apache.isis.runtime.system.session.IsisRequestCycle;
@@ -70,7 +70,7 @@ import lombok.val;
import lombok.extern.log4j.Log4j2;
@Log4j2
-public final class FormExecutorDefault<M extends BookmarkableModel<ObjectAdapter> & ParentEntityModelProvider>
+public final class FormExecutorDefault<M extends BookmarkableModel<ManagedObject> & ParentEntityModelProvider>
implements FormExecutor {
private static final long serialVersionUID = 1L;
@@ -102,7 +102,7 @@ implements FormExecutor {
final boolean withinPrompt) {
Command command = null;
- ObjectAdapter targetAdapter = null;
+ ManagedObject targetAdapter = null;
final EntityModel targetEntityModel = model.getParentEntityModel();
@@ -142,15 +142,14 @@ implements FormExecutor {
//
// (The DB exception might actually be thrown by the flush() that follows.
//
- final ObjectAdapter resultAdapter = obtainResultAdapter();
+ val resultAdapter = obtainResultAdapter();
// flush any queued changes; any concurrency or violation exceptions will actually be thrown here
IsisRequestCycle.onResultAdapterObtained();
// update target, since version updated (concurrency checks)
- targetEntityModel.resetVersion();
targetAdapter = targetEntityModel.load();
- if(!targetAdapter.isDestroyed()) {
+ if(!ManagedObject._isDestroyed(targetAdapter)) {
targetEntityModel.resetPropertyModels();
}
@@ -179,7 +178,7 @@ implements FormExecutor {
targetEntityModel.setObject(resultAdapter);
targetAdapter = targetEntityModel.load();
}
- if(!targetAdapter.isDestroyed()) {
+ if(!ManagedObject._isDestroyed(targetAdapter)) {
targetEntityModel.resetPropertyModels();
}
@@ -256,8 +255,8 @@ implements FormExecutor {
}
private boolean shouldRedirect(
- final ObjectAdapter targetAdapter,
- final ObjectAdapter resultAdapter,
+ final ManagedObject targetAdapter,
+ final ManagedObject resultAdapter,
final RedirectFacet redirectFacet) {
if(redirectFacet == null) {
@@ -283,8 +282,8 @@ implements FormExecutor {
}
private boolean differs(
- final ObjectAdapter targetAdapter,
- final ObjectAdapter resultAdapter) {
+ final ManagedObject targetAdapter,
+ final ManagedObject resultAdapter) {
final ObjectAdapterMemento targetOam = getCommonContext().mementoFor(targetAdapter);
final ObjectAdapterMemento resultOam = getCommonContext().mementoFor(resultAdapter);
@@ -348,12 +347,12 @@ implements FormExecutor {
}
private void forwardOnConcurrencyException(
- final ObjectAdapter targetAdapter,
+ final ManagedObject targetAdapter,
final ConcurrencyException ex) {
// this will not preserve the URL (because pageParameters are not copied over)
// but trying to preserve them seems to cause the 302 redirect to be swallowed somehow
- final EntityPage entityPage = new EntityPage(model.getCommonContext() , targetAdapter, ex);
+ val entityPage = new EntityPage(model.getCommonContext() , targetAdapter, ex);
// force any changes in state etc to happen now prior to the redirect;
// in the case of an object being returned, this should cause our page mementos
@@ -536,7 +535,7 @@ implements FormExecutor {
///////////////////////////////////////////////////////////////////////////////
- private ObjectAdapter obtainTargetAdapter() {
+ private ManagedObject obtainTargetAdapter() {
return formExecutorStrategy.obtainTargetAdapter();
}
@@ -548,12 +547,12 @@ implements FormExecutor {
formExecutorStrategy.onExecuteAndProcessResults(target);
}
- private ObjectAdapter obtainResultAdapter() {
+ private ManagedObject obtainResultAdapter() {
return formExecutorStrategy.obtainResultAdapter();
}
private void redirectTo(
- final ObjectAdapter resultAdapter,
+ final ManagedObject resultAdapter,
final AjaxRequestTarget target) {
formExecutorStrategy.redirectTo(resultAdapter, target);
}
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorStrategy.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorStrategy.java
index 52d03c1..0c460ff 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorStrategy.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorStrategy.java
@@ -20,24 +20,22 @@ package org.apache.isis.viewer.wicket.ui.panels;
import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.BookmarkableModel;
import org.apache.isis.viewer.wicket.model.models.ParentEntityModelProvider;
-public interface FormExecutorStrategy<M extends BookmarkableModel<ObjectAdapter> & ParentEntityModelProvider> {
+public interface FormExecutorStrategy<M extends BookmarkableModel<ManagedObject> & ParentEntityModelProvider> {
M getModel();
- ObjectAdapter obtainTargetAdapter();
+ ManagedObject obtainTargetAdapter();
String getReasonInvalidIfAny();
- void onExecuteAndProcessResults(final AjaxRequestTarget target);
+ void onExecuteAndProcessResults(AjaxRequestTarget target);
- ObjectAdapter obtainResultAdapter();
+ ManagedObject obtainResultAdapter();
- void redirectTo(
- final ObjectAdapter resultAdapter,
- final AjaxRequestTarget target);
+ void redirectTo(ManagedObject resultAdapter, AjaxRequestTarget target);
}
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java
index ebee5b0..d9cd804 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java
@@ -40,7 +40,7 @@ import org.apache.wicket.util.string.AppendingStringBuffer;
import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.commons.internal.exceptions._Exceptions.FluentException;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.hints.UiHintContainer;
import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettings;
import org.apache.isis.viewer.wicket.model.models.ActionPromptProvider;
@@ -55,11 +55,11 @@ import org.apache.isis.viewer.wicket.ui.errors.JGrowlBehaviour;
import org.apache.isis.viewer.wicket.ui.pages.PageAbstract;
import org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage;
-public abstract class PromptFormAbstract<T extends BookmarkableModel<ObjectAdapter>
+public abstract class PromptFormAbstract<T extends BookmarkableModel<ManagedObject>
& ParentEntityModelProvider
-& IModel<ObjectAdapter>
+& IModel<ManagedObject>
& FormExecutorContext>
-extends FormAbstract<ObjectAdapter>
+extends FormAbstract<ManagedObject>
implements ScalarModelSubscriber2 {
private static final long serialVersionUID = 1L;