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/05 18:56:10 UTC
[isis] branch master updated: ISIS-2903: JDOEntityFacet: when requesting id for a detached pojo, persist it
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 07b8ba5 ISIS-2903: JDOEntityFacet: when requesting id for a detached pojo, persist it
07b8ba5 is described below
commit 07b8ba573478e7c822e1bbeadbc350a9c381a175
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Dec 5 19:56:00 2021 +0100
ISIS-2903: JDOEntityFacet: when requesting id for a detached pojo,
persist it
---
.../jdo/datanucleus/metamodel/facets/entity/JdoEntityFacet.java | 9 +++++++--
.../apache/isis/testdomain/viewers/jdo/wkt/TestAppJdoWkt.java | 3 ++-
.../isis/testdomain/viewers/jdo/wkt/InteractionTestJdoWkt.java | 3 +--
3 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacet.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacet.java
index 63c6315..e13ed72 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacet.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacet.java
@@ -104,8 +104,13 @@ implements EntityFacet {
pojo.getClass().getName());
}
- val persistenceManager = getPersistenceManager();
- val primaryKey = persistenceManager.getObjectId(pojo);
+ val pm = getPersistenceManager();
+ var primaryKey = pm.getObjectId(pojo);
+
+ if(primaryKey==null) {
+ pm.makePersistent(pojo);
+ primaryKey = pm.getObjectId(pojo);
+ }
if(primaryKey==null) {
throw _Exceptions.illegalArgument(
diff --git a/regressiontests/stable-viewers-jdo/src/main/java/org/apache/isis/testdomain/viewers/jdo/wkt/TestAppJdoWkt.java b/regressiontests/stable-viewers-jdo/src/main/java/org/apache/isis/testdomain/viewers/jdo/wkt/TestAppJdoWkt.java
index 7de82b4..ed7c407 100644
--- a/regressiontests/stable-viewers-jdo/src/main/java/org/apache/isis/testdomain/viewers/jdo/wkt/TestAppJdoWkt.java
+++ b/regressiontests/stable-viewers-jdo/src/main/java/org/apache/isis/testdomain/viewers/jdo/wkt/TestAppJdoWkt.java
@@ -32,6 +32,7 @@ import org.apache.isis.applib.annotation.HomePage;
import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.applib.annotation.ObjectSupport;
import org.apache.isis.applib.services.user.UserService;
+import org.apache.isis.commons.internal.debug.xray.XrayEnable;
import org.apache.isis.core.config.presets.IsisPresets;
import org.apache.isis.testdomain.conf.Configuration_usingJdo;
import org.apache.isis.testdomain.conf.Configuration_usingWicket;
@@ -50,7 +51,7 @@ import org.apache.isis.viewer.wicket.viewer.IsisModuleViewerWicketViewer;
// UI (Wicket Viewer)
IsisModuleViewerWicketViewer.class,
- //XrayEnable.class // for debugging only
+ XrayEnable.class // for debugging only
})
public class TestAppJdoWkt extends SpringBootServletInitializer {
diff --git a/regressiontests/stable-viewers-jdo/src/test/java/org/apache/isis/testdomain/viewers/jdo/wkt/InteractionTestJdoWkt.java b/regressiontests/stable-viewers-jdo/src/test/java/org/apache/isis/testdomain/viewers/jdo/wkt/InteractionTestJdoWkt.java
index c5e3d9d..9780aff 100644
--- a/regressiontests/stable-viewers-jdo/src/test/java/org/apache/isis/testdomain/viewers/jdo/wkt/InteractionTestJdoWkt.java
+++ b/regressiontests/stable-viewers-jdo/src/test/java/org/apache/isis/testdomain/viewers/jdo/wkt/InteractionTestJdoWkt.java
@@ -48,8 +48,7 @@ import lombok.val;
@SpringBootTest(
classes = {
Configuration_usingJdo.class,
- Configuration_usingWicket.class
- },
+ Configuration_usingWicket.class },
properties = {
})
@TestPropertySource({