You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2022/08/04 16:22:10 UTC
[isis] 11/15: ISIS-3110: removes circular dependency
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch ISIS-3110
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 59a3986bee3ef10bf19bee305f533c19929e9bd6
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Aug 4 10:23:02 2022 +0100
ISIS-3110: removes circular dependency
---
.../datanucleus/IsisModulePersistenceJdoDatanucleus.java | 14 +++-----------
.../datanucleus/changetracking/JdoLifecycleListener.java | 7 -------
.../isis/testdomain/persistence/jpa/JpaJaxbTest.java | 2 ++
3 files changed, 5 insertions(+), 18 deletions(-)
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.java
index d9ad45994c..81460561d2 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.java
@@ -18,7 +18,6 @@
*/
package org.apache.isis.persistence.jdo.datanucleus;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.List;
@@ -41,7 +40,6 @@ import org.springframework.context.annotation.Primary;
import org.springframework.dao.support.PersistenceExceptionTranslator;
import org.springframework.transaction.interceptor.TransactionInterceptor;
-import org.apache.isis.applib.services.eventbus.EventBusService;
import org.apache.isis.applib.services.iactnlayer.InteractionService;
import org.apache.isis.commons.internal.assertions._Assert;
import org.apache.isis.commons.internal.base._NullSafe;
@@ -158,16 +156,12 @@ public class IsisModulePersistenceJdoDatanucleus {
final IsisConfiguration isisConfiguration,
final DataSource dataSource,
final MetaModelContext metaModelContext,
- final InteractionService interactionService,
final ObjectLifecyclePublisher objectLifecyclePublisher,
- final Provider<EntityChangeTracker> entityChangeTrackerProvider,
final IsisBeanTypeRegistry beanTypeRegistry,
final DatanucleusSettings dnSettings) {
_Assert.assertNotNull(dataSource, "a datasource is required");
- final Set<String> classNamesNotEnhanced = new LinkedHashSet<>();
-
autoCreateSchemas(dataSource, isisConfiguration);
val lpmfBean = new LocalPersistenceManagerFactoryBean() {
@@ -176,14 +170,14 @@ public class IsisModulePersistenceJdoDatanucleus {
val pu = createDefaultPersistenceUnit(beanTypeRegistry);
val pmf = new JDOPersistenceManagerFactory(pu, props);
pmf.setConnectionFactory(dataSource);
- integrateWithApplicationLayer(metaModelContext, entityChangeTrackerProvider, objectLifecyclePublisher, interactionService, pmf);
+ integrateWithApplicationLayer(metaModelContext, objectLifecyclePublisher, pmf);
return pmf;
}
@Override
protected PersistenceManagerFactory newPersistenceManagerFactory(final String name) {
val pmf = super.newPersistenceManagerFactory(name);
pmf.setConnectionFactory(dataSource); //might be too late, anyway, not sure if this is ever called
- integrateWithApplicationLayer(metaModelContext, entityChangeTrackerProvider, objectLifecyclePublisher, interactionService, pmf);
+ integrateWithApplicationLayer(metaModelContext, objectLifecyclePublisher, pmf);
return pmf;
}
};
@@ -333,15 +327,13 @@ public class IsisModulePersistenceJdoDatanucleus {
private static void integrateWithApplicationLayer(
final MetaModelContext metaModelContext,
- final Provider<EntityChangeTracker> entityChangeTrackerProvider,
final ObjectLifecyclePublisher objectLifecyclePublisher,
- final InteractionService interactionService,
final PersistenceManagerFactory pmf) {
// install JDO specific entity change listeners ...
val jdoLifecycleListener =
- new JdoLifecycleListener(metaModelContext, entityChangeTrackerProvider, objectLifecyclePublisher, interactionService);
+ new JdoLifecycleListener(metaModelContext, objectLifecyclePublisher);
pmf.addInstanceLifecycleListener(jdoLifecycleListener, (Class[]) null);
}
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/changetracking/JdoLifecycleListener.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/changetracking/JdoLifecycleListener.java
index 5eafecd564..43f1c480e1 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/changetracking/JdoLifecycleListener.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/changetracking/JdoLifecycleListener.java
@@ -65,9 +65,7 @@ implements AttachLifecycleListener, ClearLifecycleListener, CreateLifecycleListe
DetachLifecycleListener, DirtyLifecycleListener, LoadLifecycleListener, StoreLifecycleListener {
private final @NonNull MetaModelContext metaModelContext;
- private final @NonNull Provider<EntityChangeTracker> entityChangeTrackerProvider;
private final @NonNull ObjectLifecyclePublisher objectLifecyclePublisher;
- private final @NonNull InteractionService interactionService;
// -- CALLBACKS
@@ -207,10 +205,5 @@ DetachLifecycleListener, DirtyLifecycleListener, LoadLifecycleListener, StoreLif
return _Utils.adaptEntityAndInjectServices(metaModelContext, pojo, bookmarking);
}
- // -- DEPENDENCIES
-
- private EntityChangeTracker entityChangeTracker() {
- return interactionService.isInInteraction() ? entityChangeTrackerProvider.get() : EntityChangeTracker.NOOP;
- }
}
diff --git a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/JpaJaxbTest.java b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/JpaJaxbTest.java
index 206f59c44a..d96060b8e2 100644
--- a/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/JpaJaxbTest.java
+++ b/regressiontests/stable-persistence-jpa/src/test/java/org/apache/isis/testdomain/persistence/jpa/JpaJaxbTest.java
@@ -24,6 +24,8 @@ import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.TestPropertySource;
+import org.apache.isis.applib.annotation.InteractionScope;
+import org.apache.isis.applib.services.iactnlayer.InteractionService;
import org.apache.isis.applib.services.jaxb.JaxbService;
import org.apache.isis.core.config.presets.IsisPresets;
import org.apache.isis.testdomain.RegressionTestAbstract;