You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/06/13 07:32:07 UTC
[isis] branch master updated: ISIS-3049: fixes NPE on ApplicationNamespace VM creation
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 11a5f5f302 ISIS-3049: fixes NPE on ApplicationNamespace VM creation
11a5f5f302 is described below
commit 11a5f5f302237a9ee2e8ad4934d600c1cccf8631
Author: andi-huber <ah...@apache.org>
AuthorDate: Mon Jun 13 09:31:58 2022 +0200
ISIS-3049: fixes NPE on ApplicationNamespace VM creation
---
.../services/appfeatui/ApplicationFeatureViewModel.java | 11 +++++++++--
.../isis/applib/services/appfeatui/ApplicationNamespace.java | 6 ++----
2 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/appfeatui/ApplicationFeatureViewModel.java b/api/applib/src/main/java/org/apache/isis/applib/services/appfeatui/ApplicationFeatureViewModel.java
index 4497c703d1..77a74212ed 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/appfeatui/ApplicationFeatureViewModel.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/appfeatui/ApplicationFeatureViewModel.java
@@ -51,6 +51,7 @@ import org.apache.isis.applib.util.Equality;
import org.apache.isis.applib.util.Hashing;
import org.apache.isis.applib.util.ObjectContracts;
import org.apache.isis.applib.util.ToString;
+import org.apache.isis.commons.internal.assertions._Assert;
import org.apache.isis.commons.internal.base._Casts;
import org.apache.isis.commons.internal.collections._Lists;
@@ -84,9 +85,15 @@ public abstract class ApplicationFeatureViewModel implements ViewModel {
final ApplicationFeatureId featureId,
final ApplicationFeatureRepository applicationFeatureRepository,
final FactoryService factoryService) {
- final Class<? extends ApplicationFeatureViewModel> cls =
+ final Class<? extends ApplicationFeatureViewModel> vmClass =
viewModelClassFor(featureId, applicationFeatureRepository);
- return factoryService.viewModel(cls,
+
+ if(featureId.getSort().isNamespace()) {
+ _Assert.assertEquals(vmClass, ApplicationNamespace.class);
+ return factoryService.viewModel(new ApplicationNamespace(featureId));
+ }
+
+ return factoryService.viewModel(vmClass,
Bookmark.forLogicalTypeNameAndIdentifier(
featureId.getLogicalTypeName(),
featureId.asEncodedString()));
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/appfeatui/ApplicationNamespace.java b/api/applib/src/main/java/org/apache/isis/applib/services/appfeatui/ApplicationNamespace.java
index f31befcdc6..db917388b0 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/appfeatui/ApplicationNamespace.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/appfeatui/ApplicationNamespace.java
@@ -48,7 +48,7 @@ public class ApplicationNamespace extends ApplicationFeatureViewModel {
public static abstract class CollectionDomainEvent<T> extends ApplicationFeatureViewModel.CollectionDomainEvent<ApplicationNamespace, T> {}
- // -- constructors
+ // -- CONSTRUCTORS
public ApplicationNamespace() { }
public ApplicationNamespace(final ApplicationFeatureId featureId) {
@@ -58,9 +58,7 @@ public class ApplicationNamespace extends ApplicationFeatureViewModel {
super(memento);
}
-
-
- // -- contents (collection, for namespaces only)
+ // -- CONTENTS (collection, for namespaces only)
@Collection(
domainEvent = Contents.DomainEvent.class