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 2021/12/08 20:36:24 UTC
[isis] branch master updated: ISIS-2911: fixes prev. commit (NPE on nullable bookmark)
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new 91160fe ISIS-2911: fixes prev. commit (NPE on nullable bookmark)
91160fe is described below
commit 91160fea86c0de80141b527dde30698f9df5c140
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Dec 8 21:36:15 2021 +0100
ISIS-2911: fixes prev. commit (NPE on nullable bookmark)
---
.../facets/object/recreatable/RecreatableObjectFacetAbstract.java | 8 +++++---
.../RecreatableObjectFacetDeclarativeInitializingAbstract.java | 6 ++++--
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetAbstract.java
index fabc2d0..705992d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetAbstract.java
@@ -21,6 +21,8 @@ package org.apache.isis.core.metamodel.facets.object.recreatable;
import java.lang.reflect.Method;
import java.util.function.BiConsumer;
+import org.springframework.lang.Nullable;
+
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.core.metamodel.commons.ClassExtensions;
@@ -91,12 +93,12 @@ implements ViewModelFacet {
* {@link org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacet.RecreationMechanism#INSTANTIATES}
* (ignored otherwise).
*/
- protected Object doInstantiate(final Class<?> viewModelClass, final Bookmark bookmark) {
+ protected Object doInstantiate(final Class<?> viewModelClass, final @Nullable Bookmark bookmark) {
throw new IllegalStateException("doInstantiate() must be overridden if RecreationMechanism is INSTANTIATES");
}
@Override
- public final void initialize(final Object viewModelPojo, final Bookmark bookmark) {
+ public final void initialize(final Object viewModelPojo, final @Nullable Bookmark bookmark) {
if (getRecreationMechanism() == RecreationMechanism.INSTANTIATES) {
throw new IllegalStateException("This view model instantiates rather than initializes");
}
@@ -110,7 +112,7 @@ implements ViewModelFacet {
* {@link org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacet.RecreationMechanism#INITIALIZES}
* (ignored otherwise).
*/
- protected void doInitialize(final Object viewModelPojo, final Bookmark bookmark) {
+ protected void doInitialize(final Object viewModelPojo, final @Nullable Bookmark bookmark) {
throw new IllegalStateException("doInitialize() must be overridden if RecreationMechanism is INITIALIZE");
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetDeclarativeInitializingAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetDeclarativeInitializingAbstract.java
index 5042f1b..f735d03 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetDeclarativeInitializingAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetDeclarativeInitializingAbstract.java
@@ -18,6 +18,8 @@
*/
package org.apache.isis.core.metamodel.facets.object.recreatable;
+import org.springframework.lang.Nullable;
+
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.urlencoding.UrlEncodingService;
import org.apache.isis.commons.internal.memento._Mementos;
@@ -50,9 +52,9 @@ extends RecreatableObjectFacetAbstract {
@Override
protected void doInitialize(
final Object viewModelPojo,
- final Bookmark bookmark) {
+ final @Nullable Bookmark bookmark) {
- val memento = parseMemento(bookmark.getIdentifier());
+ val memento = parseMemento(bookmark!=null ? bookmark.getIdentifier() : null);
val mementoKeys = memento.keySet();
if(mementoKeys.isEmpty()) {