You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2020/05/15 05:27:37 UTC
[isis] 02/02: ISIS-2340: some model hierarchy cleanup
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit ebef5029b87ecb8ff10b95312aa3140e6e3f8820
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri May 15 07:27:19 2020 +0200
ISIS-2340: some model hierarchy cleanup
---
.../pdfjs/ui/components/PdfJsViewerPanel.java | 2 +-
.../viewer/wicket/model/models/ActionModel.java | 12 +-
.../wicket/model/models/BookmarkedPagesModel.java | 13 +-
.../wicket/model/models/EntityCollectionModel.java | 6 +-
.../viewer/wicket/model/models/EntityModel.java | 132 +--------------------
.../model/models/HintPageParameterSerializer.java | 30 +----
.../wicket/model/models/ManagedObjectModel.java | 73 +++++++-----
.../viewer/wicket/model/models/ScalarModel.java | 11 +-
.../model/models/ScalarModelWithMultiPending.java | 4 +-
.../model/models/ScalarModelWithPending.java | 2 +-
.../entityactions/EntityActionLinkFactory.java | 2 +-
.../ui/components/collection/CollectionPanel.java | 2 +-
.../selector/CollectionSelectorHelper.java | 9 +-
.../selector/CollectionSelectorPanel.java | 4 +-
.../columns/ObjectAdapterToggleboxColumn.java | 2 +-
.../entity/EntityComponentFactoryAbstract.java | 2 +-
.../components/entity/fieldset/PropertyGroup.java | 4 +-
.../components/layout/bs3/tabs/TabGroupPanel.java | 4 +-
.../PropertyEditPromptHeaderPanel.java | 2 +-
.../ui/components/scalars/ScalarPanelAbstract.java | 2 +-
.../components/scalars/ScalarPanelAbstract2.java | 2 +-
.../valuechoices/ValueChoicesSelect2Panel.java | 2 +-
.../widgets/breadcrumbs/BreadcrumbModel.java | 2 +-
.../widgets/breadcrumbs/BreadcrumbPanel.java | 4 +-
.../wicket/ui/panels/FormExecutorDefault.java | 4 +-
25 files changed, 99 insertions(+), 233 deletions(-)
diff --git a/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanel.java b/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanel.java
index 9860305..14d7ce5 100644
--- a/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanel.java
+++ b/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanel.java
@@ -208,7 +208,7 @@ class PdfJsViewerPanel extends ScalarPanelAbstract<ScalarPropertyModel> implemen
val model = getModel();
val propertyId = model.getIdentifier();
- val bookmark = model.getParentUiModel().getObjectAdapterMemento().asBookmarkIfSupported();
+ val bookmark = model.getParentUiModel().asBookmarkIfSupported();
val objectType = bookmark.getObjectType();
val identifier = bookmark.getIdentifier();
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
index d7ca6a7..193473a 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
@@ -123,12 +123,12 @@ implements FormUiModel, FormExecutorContext, BookmarkableModel<ManagedObject> {
@Override
public EntityModel getParentUiModel() {
- return entityModel;
+ return ownerModel;
}
// -- HELPERS
- private final EntityModel entityModel;
+ private final EntityModel ownerModel;
private final ActionMemento actionMemento;
// lazy in support of serialization of this class
@@ -140,14 +140,14 @@ implements FormUiModel, FormExecutorContext, BookmarkableModel<ManagedObject> {
}
private ActionArgumentCache createActionArgumentCache() {
return new ActionArgumentCache(
- entityModel,
+ ownerModel,
actionMemento,
getMetaModel());
}
private ActionModel(EntityModel entityModel, ActionMemento actionMemento) {
super(entityModel.getCommonContext());
- this.entityModel = entityModel;
+ this.ownerModel = entityModel;
this.actionMemento = actionMemento;
}
@@ -156,14 +156,14 @@ implements FormUiModel, FormExecutorContext, BookmarkableModel<ManagedObject> {
*/
private ActionModel(ActionModel actionModel) {
super(actionModel.getCommonContext());
- this.entityModel = actionModel.entityModel;
+ this.ownerModel = actionModel.ownerModel;
this.actionMemento = actionModel.actionMemento;
this.argCache = actionModel.argCache().copy();
}
@Override
public ManagedObject getOwner() {
- return entityModel.load();
+ return ownerModel.load();
}
@Override
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java
index 0f6af9e..2c2c7d7 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java
@@ -30,6 +30,8 @@ import org.apache.isis.core.commons.internal.collections._Lists;
import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.webapp.context.IsisWebAppCommonContext;
+import lombok.val;
+
public class BookmarkedPagesModel extends ModelAbstract<List<BookmarkTreeNode>> {
@@ -128,15 +130,8 @@ public class BookmarkedPagesModel extends ModelAbstract<List<BookmarkTreeNode>>
}
public void remove(EntityModel entityModel) {
- BookmarkTreeNode rootNode = null;
- for (BookmarkTreeNode eachNode : rootNodes) {
- if(eachNode.getOidNoVerStr().equals((entityModel).getObjectAdapterMemento().toString())) {
- rootNode = eachNode;
- }
- }
- if(rootNode != null) {
- rootNodes.remove(rootNode);
- }
+ val str = entityModel.oidStringIfSupported();
+ rootNodes.removeIf(node->node.getOidNoVerStr().equals(str));
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
index 6230008..d281e23 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
@@ -358,7 +358,7 @@ implements LinksProvider, UiHintContainer {
private static OneToManyAssociation collectionFor(EntityModel entityModel) {
- final ObjectMemento parentObjectAdapterMemento = entityModel.getObjectAdapterMemento();
+ final ObjectMemento parentObjectAdapterMemento = entityModel.memento();
final CollectionLayoutData collectionLayoutData = entityModel.getCollectionLayoutData();
final SpecificationLoader specificationLoader = entityModel.getSpecificationLoader();
@@ -456,13 +456,15 @@ implements LinksProvider, UiHintContainer {
/**
* Populated only if {@link Variant#PARENTED}.
*/
+ @Deprecated // don't expose this implementation detail
public ObjectMemento getParentObjectAdapterMemento() {
- return entityModel != null? entityModel.getObjectAdapterMemento(): null;
+ return entityModel != null? entityModel.memento(): null;
}
/**
* Populated only if {@link Variant#PARENTED}.
*/
+ @Deprecated // don't expose this implementation detail
public CollectionMemento getCollectionMemento() {
return collectionMemento;
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
index 75e9da6..20a0a09 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
@@ -21,7 +21,6 @@ package org.apache.isis.viewer.wicket.model.models;
import java.io.Serializable;
import java.util.Map;
-import java.util.Optional;
import java.util.stream.Collectors;
import javax.annotation.Nullable;
@@ -97,7 +96,6 @@ implements ObjectAdapterModel, UiHintContainer, ObjectUiModel, BookmarkableModel
private final Map<PropertyMemento, ScalarModel> propertyScalarModels;
- private ObjectMemento adapterMemento;
private ObjectMemento contextAdapterIfAny;
private Mode mode;
@@ -166,8 +164,7 @@ implements ObjectAdapterModel, UiHintContainer, ObjectUiModel, BookmarkableModel
Mode mode,
RenderingHint renderingHint) {
- super(requires(commonContext, "commonContext"));
- this.adapterMemento = adapterMemento;
+ super(requires(commonContext, "commonContext"), adapterMemento);
this.pendingModel = new PendingModel(this);
this.propertyScalarModels = propertyScalarModels!=null ? propertyScalarModels : _Maps.<PropertyMemento, ScalarModel>newHashMap();
this.mode = mode;
@@ -213,7 +210,7 @@ implements ObjectAdapterModel, UiHintContainer, ObjectUiModel, BookmarkableModel
public String getHint(final Component component, final String keyName) {
final ComponentHintKey componentHintKey = ComponentHintKey.create(super.getCommonContext(), component, keyName);
if(componentHintKey != null) {
- return componentHintKey.get(getObjectAdapterMemento().asHintingBookmarkIfSupported());
+ return componentHintKey.get(super.asHintingBookmarkIfSupported());
}
return null;
}
@@ -221,7 +218,7 @@ implements ObjectAdapterModel, UiHintContainer, ObjectUiModel, BookmarkableModel
@Override
public void setHint(Component component, String keyName, String hintValue) {
ComponentHintKey componentHintKey = ComponentHintKey.create(super.getCommonContext(), component, keyName);
- componentHintKey.set(this.getObjectAdapterMemento().asHintingBookmarkIfSupported(), hintValue);
+ componentHintKey.set(super.asHintingBookmarkIfSupported(), hintValue);
}
@Override
@@ -236,87 +233,6 @@ implements ObjectAdapterModel, UiHintContainer, ObjectUiModel, BookmarkableModel
}
@Override
- public boolean hasAsRootPolicy() {
- return hasBookmarkPolicy(BookmarkPolicy.AS_ROOT);
- }
-
- public boolean hasAsChildPolicy() {
- return hasBookmarkPolicy(BookmarkPolicy.AS_CHILD);
- }
-
- private boolean hasBookmarkPolicy(final BookmarkPolicy policy) {
- final BookmarkPolicyFacet facet = getBookmarkPolicyFacetIfAny();
- return facet != null && facet.value() == policy;
- }
-
- private BookmarkPolicyFacet getBookmarkPolicyFacetIfAny() {
- final ObjectSpecId specId = getObjectAdapterMemento().getObjectSpecId();
- final ObjectSpecification objectSpec = super.getSpecificationLoader().lookupBySpecIdElseLoad(specId);
- return objectSpec.getFacet(BookmarkPolicyFacet.class);
- }
-
-
-
- // //////////////////////////////////////////////////////////
- // ObjectAdapterMemento, typeOfSpecification
- // //////////////////////////////////////////////////////////
-
- public ObjectMemento getObjectAdapterMemento() {
- return adapterMemento;
- }
-
- /**
- * Overridable for submodels (eg {@link ScalarModel}) that know the type of
- * the adapter without there being one.
- */
- @Override
- public ObjectSpecification getTypeOfSpecification() {
- return getTypeOfSpecificationId()
- .map(this::getSpecificationFor)
- .orElse(null);
- }
-
- /**
- * @implNote free of side-effects, used for serialization
- */
- public Optional<ObjectSpecId> getTypeOfSpecificationId() {
- return Optional.ofNullable(adapterMemento)
- .map(ObjectMemento::getObjectSpecId);
- }
-
- private ObjectSpecification getSpecificationFor(ObjectSpecId objectSpecId) {
- return super.getSpecificationLoader().lookupBySpecIdElseLoad(objectSpecId);
- }
-
- // //////////////////////////////////////////////////////////
- // loadObject, load, setObject
- // //////////////////////////////////////////////////////////
-
- /**
- * Callback from {@link #getObject()}.
- */
- @Override
- public ManagedObject load() {
- if (adapterMemento == null) {
- return null;
- }
- val adapter = super.getCommonContext().reconstructObject(adapterMemento);
- return adapter;
- }
-
- @Override
- public void setObject(ManagedObject adapter) {
- super.setObject(adapter);
- adapterMemento = super.getMementoService().mementoForObject(adapter);
- }
-
- public void setObjectMemento(final ObjectMemento adapterMemento) {
- val adapter = super.getCommonContext().reconstructObject(adapterMemento);
- super.setObject(adapter);
- this.adapterMemento = adapterMemento;
- }
-
- @Override
public ManagedObject getManagedObject() {
return getObject();
}
@@ -461,8 +377,8 @@ implements ObjectAdapterModel, UiHintContainer, ObjectUiModel, BookmarkableModel
return pending;
}
- if(entityModel.getObjectAdapterMemento()!=null) {
- return entityModel.getObjectAdapterMemento();
+ if(entityModel.memento()!=null) {
+ return entityModel.memento();
}
//XXX [a.huber] as I don't understand the big picture here, given newly introduced branch above,
@@ -546,42 +462,4 @@ implements ObjectAdapterModel, UiHintContainer, ObjectUiModel, BookmarkableModel
}
- // //////////////////////////////////////////////////////////
- // equals, hashCode
- // //////////////////////////////////////////////////////////
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((adapterMemento == null) ? 0 : adapterMemento.hashCode());
- return result;
- }
-
- /**
- * In order that <tt>IsisAjaxFallbackDataTable</tt> can use a
- * <tt>ReuseIfModelsEqualStrategy</tt> to preserve any concurrency exception
- * information in original model.
- */
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- EntityModel other = (EntityModel) obj;
- if (adapterMemento == null) {
- if (other.adapterMemento != null)
- return false;
- } else if (!adapterMemento.equals(other.adapterMemento))
- return false;
- return true;
-
- }
-
-
-
-
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/HintPageParameterSerializer.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/HintPageParameterSerializer.java
index e4e5281..6610283 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/HintPageParameterSerializer.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/HintPageParameterSerializer.java
@@ -42,7 +42,7 @@ class HintPageParameterSerializer implements Serializable {
final EntityModel entityModel) {
val hintStore = entityModel.getCommonContext().lookupServiceElseFail(HintStore.class);
- val objectAdapterMemento = entityModel.getObjectAdapterMemento();
+ val objectAdapterMemento = entityModel.memento();
hintStoreToPageParameters(pageParameters, objectAdapterMemento, hintStore);
}
@@ -61,32 +61,4 @@ class HintPageParameterSerializer implements Serializable {
}
}
-//XXX not used
-// private static void updateHintStoreUNUSED(
-// final PageParameters pageParameters,
-// final ObjectAdapterMemento objectAdapterMemento,
-// final HintStore hintStore) {
-//
-// if(objectAdapterMemento == null) {
-// return;
-// }
-// Set<String> namedKeys = pageParameters.getNamedKeys();
-// if (namedKeys.contains("no-hints")) {
-// hintStore.removeAll(objectAdapterMemento.asHintingBookmarkIfSupported());
-// return;
-// }
-// List<ComponentHintKey> newComponentHintKeys = _Lists.newArrayList();
-// for (String namedKey : namedKeys) {
-// if (namedKey.startsWith(PREFIX)) {
-// String value = pageParameters.get(namedKey).toString(null);
-// String key = namedKey.substring(5);
-// final ComponentHintKey componentHintKey = ComponentHintKey.create(key);
-// newComponentHintKeys.add(componentHintKey);
-// final Bookmark bookmark = objectAdapterMemento.asHintingBookmarkIfSupported();
-// componentHintKey.set(bookmark, value);
-// }
-// }
-// }
-
-
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ManagedObjectModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ManagedObjectModel.java
index 2b6cb54..6926687 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ManagedObjectModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ManagedObjectModel.java
@@ -26,6 +26,7 @@ import javax.annotation.Nullable;
import org.apache.isis.applib.annotation.BookmarkPolicy;
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.core.commons.internal.base._Casts;
+import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ObjectSpecId;
@@ -91,32 +92,48 @@ extends ModelAbstract<ManagedObject> {
}
}
- public Bookmark asHintingBookmarkIfSupported() {
+ public final Bookmark asHintingBookmarkIfSupported() {
return memento!=null
? memento.asHintingBookmarkIfSupported()
: null;
}
- public Bookmark asBookmarkIfSupported() {
+ public final Bookmark asBookmarkIfSupported() {
return memento!=null
? memento.asBookmarkIfSupported()
: null;
}
- public String oidStringIfSupported() {
+ public final String oidStringIfSupported() {
return memento!=null
? memento.toString()
: null;
}
/**
- * @implNote free of side-effects, used for serialization
+ * free of side-effects, used for serialization
+ * @implNote overriding this must be consistent with {@link #getTypeOfSpecificationId()}
*/
public Optional<ObjectSpecId> getTypeOfSpecificationId() {
return Optional.ofNullable(memento)
.map(ObjectMemento::getObjectSpecId);
}
+ private transient ObjectSpecification objectSpec;
+ /**
+ * @implNote can be overridden by sub-models (eg {@link ScalarModel}) that know the type of
+ * the adapter without there being one. Overriding this must be consistent
+ * with {@link #getTypeOfSpecificationId()}
+ */
+ public ObjectSpecification getTypeOfSpecification() {
+ if(objectSpec==null) {
+ val specId = getTypeOfSpecificationId().orElse(null);
+ objectSpec = super.getSpecificationLoader().lookupBySpecIdElseLoad(specId);
+ }
+ return objectSpec;
+ }
+
+
public boolean hasAsRootPolicy() {
return hasBookmarkPolicy(BookmarkPolicy.AS_ROOT);
}
@@ -126,26 +143,33 @@ extends ModelAbstract<ManagedObject> {
}
private boolean hasBookmarkPolicy(final BookmarkPolicy policy) {
- final BookmarkPolicyFacet facet = getBookmarkPolicyFacetIfAny();
- return facet != null && facet.value() == policy;
+ return lookupFacet(BookmarkPolicyFacet.class)
+ .map(facet->facet.value() == policy)
+ .orElse(false);
}
- private BookmarkPolicyFacet getBookmarkPolicyFacetIfAny() {
- final ObjectSpecId specId = getTypeOfSpecificationId().orElse(null);
- final ObjectSpecification objectSpec = super.getSpecificationLoader().lookupBySpecIdElseLoad(specId);
- return objectSpec.getFacet(BookmarkPolicyFacet.class);
+ private <T extends Facet> Optional<T> lookupFacet(Class<T> facetClass) {
+ return Optional.ofNullable(getTypeOfSpecification())
+ .map(objectSpec->objectSpec.getFacet(facetClass));
}
+ // -- CONTRACT
- private transient ObjectSpecification objectSpec;
- public ObjectSpecification getTypeOfSpecification() {
- if(objectSpec==null) {
- val specId = getTypeOfSpecificationId().orElse(null);
- objectSpec = super.getSpecificationLoader().lookupBySpecIdElseLoad(specId);
+ @Override
+ public final int hashCode() {
+ return Objects.hashCode(memento);
+ }
+
+ @Override
+ public final boolean equals(Object obj) {
+ if(obj instanceof ManagedObjectModel) {
+ val other = (ManagedObjectModel) obj;
+ return Objects.equals(this.memento, other.memento);
}
- return objectSpec;
+ return false;
}
+ // -- DEPRECATIONS
@Deprecated //TODO do not expose this implementation detail
public ObjectMemento memento() {
@@ -154,22 +178,11 @@ extends ModelAbstract<ManagedObject> {
@Deprecated //TODO do not expose this implementation detail
public void memento(ObjectMemento memento) {
+ val manageObject = super.getCommonContext().reconstructObject(memento);
+ super.setObject(manageObject);
this.memento = memento;
- }
-
-
- @Override
- public int hashCode() {
- return Objects.hashCode(memento);
+ this.objectSpec = null; // invalidate
}
- @Override
- public boolean equals(Object obj) {
- if(obj instanceof ManagedObjectModel) {
- val other = (ManagedObjectModel) obj;
- return Objects.equals(this.memento, other.memento);
- }
- return false;
- }
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
index f3d9475..6d0274e 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
@@ -21,6 +21,7 @@ package org.apache.isis.viewer.wicket.model.models;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.Optional;
import org.apache.isis.applib.annotation.PromptStyle;
import org.apache.isis.applib.annotation.Where;
@@ -140,7 +141,7 @@ implements ScalarUiModel, LinksProvider, FormExecutorContext {
/**
* Overrides superclass' implementation, because a {@link ScalarModel} can
* know the {@link ObjectSpecification of} the {@link ManagedObject adapter}
- * without there necessarily being any adapter being
+ * without there necessarily having any adapter
* {@link #setObject(ManagedObject) set}.
*/
@Override
@@ -148,6 +149,12 @@ implements ScalarUiModel, LinksProvider, FormExecutorContext {
return getScalarTypeSpec();
}
+ @Override
+ public Optional<ObjectSpecId> getTypeOfSpecificationId() {
+ return Optional.of(getScalarTypeSpec().getSpecId());
+ }
+
+
public boolean isScalarTypeAnyOf(final Class<?>... requiredClass) {
final String fullName = getTypeOfSpecification().getFullIdentifier();
return _NullSafe.stream(requiredClass)
@@ -186,7 +193,7 @@ implements ScalarUiModel, LinksProvider, FormExecutorContext {
val memento = super.getMementoService()
.mementoForPojos(_Casts.uncheckedCast(pojo), getTypeOfSpecification().getSpecId());
- super.setObjectMemento(memento); // associated value
+ super.memento(memento); // associated value
} else {
super.setObject(adapter); // associated value
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithMultiPending.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithMultiPending.java
index 495fb04..2f4ac90 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithMultiPending.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithMultiPending.java
@@ -64,7 +64,7 @@ public interface ScalarModelWithMultiPending extends Serializable {
log.debug("pending is null");
val scalarModel = owner.getScalarModel();
- val objectAdapterMemento = scalarModel.getObjectAdapterMemento();
+ val objectAdapterMemento = scalarModel.memento();
return ObjectMemento.unwrapList(objectAdapterMemento)
.orElse(null);
}
@@ -83,7 +83,7 @@ public interface ScalarModelWithMultiPending extends Serializable {
if (ownerPending != null) {
log.debug("setting to pending: {}", ownerPending.toString());
final ObjectSpecId objectSpecId = ownerScalarModel.getTypeOfSpecification().getSpecId();
- ownerScalarModel.setObjectMemento(
+ ownerScalarModel.memento(
ObjectMemento.wrapMementoList(adapterMemento, objectSpecId));
}
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithPending.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithPending.java
index 2e1b001..686d785 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithPending.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithPending.java
@@ -59,7 +59,7 @@ public interface ScalarModelWithPending extends Serializable {
}
log.debug("pending is null");
- final ObjectMemento objectAdapterMemento = owner.getScalarModel().getObjectAdapterMemento();
+ final ObjectMemento objectAdapterMemento = owner.getScalarModel().memento();
owner.setPending(objectAdapterMemento);
return objectAdapterMemento;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java
index ad00d04..385f790 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java
@@ -46,7 +46,7 @@ public final class EntityActionLinkFactory extends LinkAndLabelFactoryAbstract {
final ObjectAction objectAction,
final String named) {
- val objectAdapter = this.targetEntityModel.load();
+ val objectAdapter = this.targetEntityModel.getManagedObject();
val isIdentifiable = ManagedObject.isIdentifiable(objectAdapter);
if (!isIdentifiable) {
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
index 03d8b41..25e0ebe 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
@@ -79,7 +79,7 @@ implements CollectionSelectorProvider, BulkActionsProvider {
final OneToManyAssociation otma = collectionModel.getCollectionMemento().getCollection(collectionModel.getSpecificationLoader());
final EntityModel entityModel = collectionModel.getEntityModel();
- val adapter = entityModel.load();
+ val adapter = entityModel.getManagedObject();
final List<ObjectAction> associatedActions =
ObjectAction.Util.findForAssociation(adapter, otma);
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
index 85efe13..b363a2b 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
@@ -65,7 +65,9 @@ public class CollectionSelectorHelper implements Serializable {
final ComponentHintKey componentHintKey) {
this.model = model;
this.componentFactories = locateComponentFactories(componentFactoryRegistry);
- this.componentHintKey = componentHintKey != null ? componentHintKey : ComponentHintKey.noop();
+ this.componentHintKey = componentHintKey != null
+ ? componentHintKey
+ : ComponentHintKey.noop();
}
private List<ComponentFactory> locateComponentFactories(ComponentFactoryRegistry componentFactoryRegistry) {
@@ -146,8 +148,7 @@ public class CollectionSelectorHelper implements Serializable {
private Bookmark bookmarkHintIfAny() {
final EntityModel entityModel = this.model.getEntityModel();
return entityModel != null
- ? entityModel.getObjectAdapterMemento().asHintingBookmarkIfSupported()
- : null;
+ ? entityModel.asHintingBookmarkIfSupported(): null;
}
private static List<ComponentFactory> ordered(List<ComponentFactory> componentFactories) {
@@ -231,7 +232,7 @@ public class CollectionSelectorHelper implements Serializable {
final String fallback;
fallback = entityCollectionModel.isParented()
? CollectionContentsHiddenPanelFactory.NAME
- : CollectionContentsAsAjaxTablePanelFactory.NAME;
+ : CollectionContentsAsAjaxTablePanelFactory.NAME;
componentFactory = doFind(fallback);
if(componentFactory == null) {
throw new IllegalStateException(String.format(
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorPanel.java
index 37a21d6..609cf8b 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorPanel.java
@@ -151,8 +151,8 @@ public class CollectionSelectorPanel extends PanelAbstract<EntityCollectionModel
final EntityCollectionModel entityCollectionModel = CollectionSelectorPanel.this.getModel();
final EntityModel entityModel = entityCollectionModel.getEntityModel();
return entityModel != null
- ? entityModel.getObjectAdapterMemento().asHintingBookmarkIfSupported()
- : null;
+ ? entityModel.asHintingBookmarkIfSupported()
+ : null;
}
@Override
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterToggleboxColumn.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterToggleboxColumn.java
index a4440c1..4804cd1 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterToggleboxColumn.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterToggleboxColumn.java
@@ -110,7 +110,7 @@ public final class ObjectAdapterToggleboxColumn extends ColumnAbstract<ManagedOb
public void onSubmit(AjaxRequestTarget target) {
val entityModel = (EntityModel) rowModel;
- val selectedAdapter = entityModel.load();
+ val selectedAdapter = entityModel.getManagedObject();
if(onSelectionHandler != null) {
onSelectionHandler.onSelected(this, selectedAdapter, target);
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityComponentFactoryAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityComponentFactoryAbstract.java
index ebb59cd..8850bb7 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityComponentFactoryAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityComponentFactoryAbstract.java
@@ -65,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.
- val adapter = entityModel.load();
+ val adapter = entityModel.getManagedObject();
if (adapter == null) {
// is ok;
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/fieldset/PropertyGroup.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/fieldset/PropertyGroup.java
index 5642c5a..551021b 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/fieldset/PropertyGroup.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/fieldset/PropertyGroup.java
@@ -150,7 +150,7 @@ 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).
- val adapter = getModel().load();
+ val adapter = getModel().getManagedObject();
return getObjectAssociations(properties, adapter);
}
@@ -204,7 +204,7 @@ public class PropertyGroup extends PanelAbstract<EntityModel> implements HasDyna
final Component component = getComponentFactoryRegistry()
.addOrReplaceComponent(container, ID_PROPERTY, ComponentType.SCALAR_NAME_AND_VALUE, scalarModel);
- val adapter = entityModel.load();
+ val adapter = entityModel.getManagedObject();
final List<ObjectAction> associatedActions =
ObjectAction.Util.findForAssociation(adapter, otoa);
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/tabs/TabGroupPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/tabs/TabGroupPanel.java
index 695ab24..4d3a55f 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/tabs/TabGroupPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/tabs/TabGroupPanel.java
@@ -99,13 +99,13 @@ implements HasDynamicallyVisibleContent {
@Override
public TabbedPanel<ITab> setSelectedTab(final int index) {
- selectedTabHintKey.set(entityModel.getObjectAdapterMemento().asHintingBookmarkIfSupported(), ""+index);
+ selectedTabHintKey.set(entityModel.asHintingBookmarkIfSupported(), ""+index);
return super.setSelectedTab(index);
}
private void setSelectedTabFromSessionIfAny(
final AjaxBootstrapTabbedPanel<ITab> ajaxBootstrapTabbedPanel) {
- final String selectedTabStr = selectedTabHintKey.get(entityModel.getObjectAdapterMemento().asHintingBookmarkIfSupported());
+ final String selectedTabStr = selectedTabHintKey.get(entityModel.asHintingBookmarkIfSupported());
final Integer tabIndex = parse(selectedTabStr);
if (tabIndex != null) {
final int numTabs = ajaxBootstrapTabbedPanel.getTabs().size();
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.java
index 3042a93..eabae87 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.java
@@ -37,7 +37,7 @@ public class PropertyEditPromptHeaderPanel extends PanelAbstract<ScalarPropertyM
public PropertyEditPromptHeaderPanel(String id, final ScalarPropertyModel model) {
super(id, model);
- val targetAdapter = model.getParentUiModel().load();
+ val targetAdapter = model.getParentUiModel().getManagedObject();
getComponentFactoryRegistry().addOrReplaceComponent(
this,
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
index 1408c23..a8b8b06 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
@@ -269,7 +269,7 @@ implements ScalarModelProvider {
ScalarModel model = getModel();
final CssClassFacet facet = model.getFacet(CssClassFacet.class);
if(facet != null) {
- val parentAdapter = model.getParentUiModel().load();
+ val parentAdapter = model.getParentUiModel().getManagedObject();
final String cssClass = facet.cssClass(parentAdapter);
CssClassAppender.appendCssClassTo(this, cssClass);
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
index e1372b8..637d899 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
@@ -460,7 +460,7 @@ implements ScalarModelSubscriber2 {
if(facet != null) {
val parentAdapter =
- model.getParentUiModel().load();
+ model.getParentUiModel().getManagedObject();
final String cssClass = facet.cssClass(parentAdapter);
CssClassAppender.appendCssClassTo(this, cssClass);
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
index 2d3c63f..5196042 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
@@ -169,7 +169,7 @@ public class ValueChoicesSelect2Panel extends ScalarPanelSelect2Abstract {
@Override
protected void syncIfNull(final Select2 select2) {
- final ObjectMemento curr = getModel().getObjectAdapterMemento();
+ final ObjectMemento curr = getModel().memento();
if(curr == null) {
select2.getModel().setObject(null);
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java
index 5b0a012..10631d3 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java
@@ -166,7 +166,7 @@ public class BreadcrumbModel implements Serializable {
}
protected Bookmark toBookmark(final EntityModel entityModel) {
- return entityModel.getObjectAdapterMemento().asBookmarkIfSupported();
+ return entityModel.asBookmarkIfSupported();
}
protected EntityModel toEntityModel(final Bookmark bookmark) {
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
index 62925b1..e31f1ae 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
@@ -74,9 +74,7 @@ public class BreadcrumbPanel extends PanelAbstract<IModel<Void>> {
}
private String titleFor(final EntityModel model) {
- return getCommonContext()
- .reconstructObject(model.getObjectAdapterMemento())
- .titleString(null);
+ return model.getManagedObject().titleString(null);
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java
index a78e541..c70bd0b 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java
@@ -155,7 +155,7 @@ implements FormExecutor {
}
// update target, since version updated (concurrency checks)
- targetAdapter = targetEntityModel.load();
+ targetAdapter = targetEntityModel.getManagedObject();
if(!ManagedObject._isDestroyed(targetAdapter)) {
targetEntityModel.resetPropertyModels();
}
@@ -183,7 +183,7 @@ implements FormExecutor {
// the OID might have changed if a view model.
if (resultAdapter != null && targetAdapter != resultAdapter) {
targetEntityModel.setObject(resultAdapter);
- targetAdapter = targetEntityModel.load();
+ targetAdapter = targetEntityModel.getManagedObject();
}
if(!ManagedObject._isDestroyed(targetAdapter)) {
targetEntityModel.resetPropertyModels();