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/01/02 07:56:50 UTC
[isis] branch 2033-Spring_Data_Integration updated: ISIS-2033:
house keeping
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch 2033-Spring_Data_Integration
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/2033-Spring_Data_Integration by this push:
new 7557c24 ISIS-2033: house keeping
7557c24 is described below
commit 7557c2443b8e2ef63fba1d73d33ea3c3908b95f8
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sat Jan 2 08:56:34 2021 +0100
ISIS-2033: house keeping
---
.../interaction/session/InteractionSession.java | 4 +--
.../ApplicationLayerAwareTransactionManager.java | 2 ++
.../jdo/applib/services/IsisJdoSupport.java | 2 +-
.../mixins/Persistable_downloadJdoMetadata.java | 2 +-
.../integration/jdosupport/IsisJdoSupportDN5.java | 33 +++++++++-------------
.../lifecycles/JdoPersistenceLifecycleService.java | 1 -
.../services/LightweightJdoSupport.java | 20 ++++++-------
.../jdo/metamodel/menu/JdoMetamodelMenu.java | 2 +-
.../util/interaction/InteractionBoundaryProbe.java | 2 +-
.../JdoSpringTransactionScopeListenerTest.java | 16 ++++++-----
.../applib/teardown/TeardownFixtureAbstract.java | 6 ++--
.../ajaxtable/PrototypingMessageProvider.java | 4 +--
12 files changed, 45 insertions(+), 49 deletions(-)
diff --git a/core/interaction/src/main/java/org/apache/isis/core/interaction/session/InteractionSession.java b/core/interaction/src/main/java/org/apache/isis/core/interaction/session/InteractionSession.java
index d44e7e8..391b2f2 100644
--- a/core/interaction/src/main/java/org/apache/isis/core/interaction/session/InteractionSession.java
+++ b/core/interaction/src/main/java/org/apache/isis/core/interaction/session/InteractionSession.java
@@ -51,7 +51,7 @@ import lombok.Setter;
*/
public class InteractionSession {
- @Getter private final long lifecycleStartedAtSystemNanos;
+ @Getter private final long startedAtSystemNanos;
/**
* The {@link MessageBroker} that holds messages for this session.
@@ -67,7 +67,7 @@ public class InteractionSession {
@NonNull final MetaModelContext mmc) {
this.metaModelContext = mmc;
- this.lifecycleStartedAtSystemNanos = System.nanoTime(); // used to measure time periods, so not using ClockService here
+ this.startedAtSystemNanos = System.nanoTime(); // used to measure time periods, so not using ClockService here
this.interaction = new IsisInteraction(UUID.randomUUID());
}
diff --git a/core/transaction/src/main/java/org/apache/isis/core/transaction/manager/ApplicationLayerAwareTransactionManager.java b/core/transaction/src/main/java/org/apache/isis/core/transaction/manager/ApplicationLayerAwareTransactionManager.java
index b1d4b15..f155d82 100644
--- a/core/transaction/src/main/java/org/apache/isis/core/transaction/manager/ApplicationLayerAwareTransactionManager.java
+++ b/core/transaction/src/main/java/org/apache/isis/core/transaction/manager/ApplicationLayerAwareTransactionManager.java
@@ -41,6 +41,8 @@ implements PlatformTransactionManager {
@Override
public TransactionStatus getTransaction(TransactionDefinition definition) throws TransactionException {
val txStatus = txManager.getTransaction(definition);
+
+ // don't post events when participating in existing transaction
if(txStatus.isNewTransaction()) {
eventBusService.post(new TransactionBeginEvent(txStatus));
}
diff --git a/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/services/IsisJdoSupport.java b/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/services/IsisJdoSupport.java
index 3a6ff62..09a7f8f 100644
--- a/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/services/IsisJdoSupport.java
+++ b/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/services/IsisJdoSupport.java
@@ -63,7 +63,7 @@ public interface IsisJdoSupport {
void ensureLoaded(Collection<?> collectionOfDomainObjects);
@Programmatic
- PersistenceManager getJdoPersistenceManager();
+ PersistenceManager getPersistenceManager();
@Programmatic
List<Map<String, Object>> executeSql(String sql);
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_downloadJdoMetadata.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_downloadJdoMetadata.java
index f639e88..2fb5218 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_downloadJdoMetadata.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_downloadJdoMetadata.java
@@ -77,7 +77,7 @@ public class Persistable_downloadJdoMetadata {
}
private PersistenceManagerFactory getPersistenceManagerFactory() {
- return jdoSupport.getJdoPersistenceManager().getPersistenceManagerFactory();
+ return jdoSupport.getPersistenceManager().getPersistenceManagerFactory();
}
}
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/jdosupport/IsisJdoSupportDN5.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/jdosupport/IsisJdoSupportDN5.java
index 8de82ad..c1db806 100644
--- a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/jdosupport/IsisJdoSupportDN5.java
+++ b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/jdosupport/IsisJdoSupportDN5.java
@@ -47,11 +47,10 @@ import org.apache.isis.applib.FatalException;
import org.apache.isis.applib.annotation.OrderPrecedence;
import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.commons.internal.collections._Maps;
-import org.apache.isis.core.interaction.session.InteractionTracker;
import org.apache.isis.core.metamodel.adapter.oid.ObjectPersistenceException;
import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.persistence.jdo.applib.services.IsisJdoSupport_v3_2;
-import org.apache.isis.persistence.jdo.integration.persistence.JdoPersistenceSession;
+import org.apache.isis.persistence.jdo.spring.integration.TransactionAwarePersistenceManagerFactoryProxy;
import lombok.val;
@@ -67,10 +66,15 @@ import lombok.val;
@Qualifier("DN5")
public class IsisJdoSupportDN5 implements IsisJdoSupport_v3_2 {
- @Inject private InteractionTracker isisInteractionTracker;
+ @Inject private TransactionAwarePersistenceManagerFactoryProxy pmf;
@Inject private MetaModelContext mmc;
@Override
+ public PersistenceManager getPersistenceManager() {
+ return pmf.getPersistenceManager();
+ }
+
+ @Override
public <T> T refresh(final T domainObject) {
val objectManager = mmc.getObjectManager();
val adapter = mmc.getObjectManager().adapt(domainObject);
@@ -80,7 +84,7 @@ public class IsisJdoSupportDN5 implements IsisJdoSupport_v3_2 {
@Override
public void ensureLoaded(final Collection<?> domainObjects) {
- getPersistenceSession().getPersistenceManager().retrieveAll(domainObjects);
+ getPersistenceManager().retrieveAll(domainObjects);
}
// //////////////////////////////////////
@@ -88,7 +92,7 @@ public class IsisJdoSupportDN5 implements IsisJdoSupport_v3_2 {
@Override
public List<Map<String, Object>> executeSql(final String sql) {
- final JDOConnection dataStoreConnection = getJdoPersistenceManager().getDataStoreConnection();
+ final JDOConnection dataStoreConnection = getPersistenceManager().getDataStoreConnection();
try {
final Object connectionObj = dataStoreConnection.getNativeConnection();
if(!(connectionObj instanceof java.sql.Connection)) {
@@ -104,7 +108,7 @@ public class IsisJdoSupportDN5 implements IsisJdoSupport_v3_2 {
@Override
public Integer executeUpdate(final String sql) {
- final JDOConnection dataStoreConnection = getJdoPersistenceManager().getDataStoreConnection();
+ final JDOConnection dataStoreConnection = getPersistenceManager().getDataStoreConnection();
try {
final Object connectionObj = dataStoreConnection.getNativeConnection();
if(!(connectionObj instanceof java.sql.Connection)) {
@@ -158,11 +162,11 @@ public class IsisJdoSupportDN5 implements IsisJdoSupport_v3_2 {
@Override
public void deleteAll(final Class<?>... pcClasses) {
for (final Class<?> pcClass : pcClasses) {
- final Extent<?> extent = getJdoPersistenceManager().getExtent(pcClass);
+ final Extent<?> extent = getPersistenceManager().getExtent(pcClass);
final List<Object> instances = stream(extent).collect(Collectors.toList());
try {
- getJdoPersistenceManager().deletePersistentAll(instances);
+ getPersistenceManager().deletePersistentAll(instances);
} catch (final Exception ex) {
throw new FatalException(ex);
}
@@ -194,7 +198,7 @@ public class IsisJdoSupportDN5 implements IsisJdoSupport_v3_2 {
@Override
public <T> JDOQLTypedQuery<T> newTypesafeQuery(Class<T> cls) {
- return getJdoPersistenceManager().newJDOQLTypedQuery(cls);
+ return getPersistenceManager().newJDOQLTypedQuery(cls);
}
private static <T> List<T> executeListAndClose(final JDOQLTypedQuery<T> query) {
@@ -216,16 +220,5 @@ public class IsisJdoSupportDN5 implements IsisJdoSupport_v3_2 {
}
}
- // //////////////////////////////////////
-
- protected JdoPersistenceSession getPersistenceSession() {
- return isisInteractionTracker.currentInteractionSession()
- .map(interaction->interaction.getAttribute(JdoPersistenceSession.class))
- .orElse(null);
- }
- @Override
- public PersistenceManager getJdoPersistenceManager() {
- return getPersistenceSession().getPersistenceManager();
- }
}
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/lifecycles/JdoPersistenceLifecycleService.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/lifecycles/JdoPersistenceLifecycleService.java
index 3dd6880..9d21492 100644
--- a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/lifecycles/JdoPersistenceLifecycleService.java
+++ b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/lifecycles/JdoPersistenceLifecycleService.java
@@ -56,7 +56,6 @@ import lombok.extern.log4j.Log4j2;
public class JdoPersistenceLifecycleService {
@Inject MetaModelContext metaModelContext;
- //@Inject LocalPersistenceManagerFactoryBean localPmfBean;
@Inject TransactionAwarePersistenceManagerFactoryProxy txAwarePmfProxy;
@Named("jdo-platform-transaction-manager")
diff --git a/persistence/jdo/lightweight/src/main/java/org/apache/isis/persistence/jdo/lightweight/services/LightweightJdoSupport.java b/persistence/jdo/lightweight/src/main/java/org/apache/isis/persistence/jdo/lightweight/services/LightweightJdoSupport.java
index c79c29f..ecc1f9f 100644
--- a/persistence/jdo/lightweight/src/main/java/org/apache/isis/persistence/jdo/lightweight/services/LightweightJdoSupport.java
+++ b/persistence/jdo/lightweight/src/main/java/org/apache/isis/persistence/jdo/lightweight/services/LightweightJdoSupport.java
@@ -1,5 +1,7 @@
package org.apache.isis.persistence.jdo.lightweight.services;
+import static org.apache.isis.commons.internal.base._NullSafe.stream;
+
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
@@ -26,8 +28,6 @@ import org.apache.isis.commons.internal.collections._Maps;
import org.apache.isis.core.metamodel.adapter.oid.ObjectPersistenceException;
import org.apache.isis.persistence.jdo.applib.services.IsisJdoSupport_v3_2;
-import static org.apache.isis.commons.internal.base._NullSafe.stream;
-
@Service
@Named("isisJdoLightweight.LightweightJdoSupport")
public class LightweightJdoSupport implements IsisJdoSupport_v3_2 {
@@ -37,14 +37,14 @@ public class LightweightJdoSupport implements IsisJdoSupport_v3_2 {
@Override
public <T> T refresh(final T domainObject) {
- getJdoPersistenceManager().refresh(domainObject);
+ getPersistenceManager().refresh(domainObject);
return domainObject;
}
@Override
public void ensureLoaded(final Collection<?> domainObjects) {
- getJdoPersistenceManager().retrieveAll(domainObjects);
+ getPersistenceManager().retrieveAll(domainObjects);
}
// //////////////////////////////////////
@@ -52,7 +52,7 @@ public class LightweightJdoSupport implements IsisJdoSupport_v3_2 {
@Override
public List<Map<String, Object>> executeSql(final String sql) {
- final JDOConnection dataStoreConnection = getJdoPersistenceManager().getDataStoreConnection();
+ final JDOConnection dataStoreConnection = getPersistenceManager().getDataStoreConnection();
try {
final Object connectionObj = dataStoreConnection.getNativeConnection();
if(!(connectionObj instanceof java.sql.Connection)) {
@@ -68,7 +68,7 @@ public class LightweightJdoSupport implements IsisJdoSupport_v3_2 {
@Override
public Integer executeUpdate(final String sql) {
- final JDOConnection dataStoreConnection = getJdoPersistenceManager().getDataStoreConnection();
+ final JDOConnection dataStoreConnection = getPersistenceManager().getDataStoreConnection();
try {
final Object connectionObj = dataStoreConnection.getNativeConnection();
if(!(connectionObj instanceof java.sql.Connection)) {
@@ -122,11 +122,11 @@ public class LightweightJdoSupport implements IsisJdoSupport_v3_2 {
@Override
public void deleteAll(final Class<?>... pcClasses) {
for (final Class<?> pcClass : pcClasses) {
- final Extent<?> extent = getJdoPersistenceManager().getExtent(pcClass);
+ final Extent<?> extent = getPersistenceManager().getExtent(pcClass);
final List<Object> instances = stream(extent).collect(Collectors.toList());
try {
- getJdoPersistenceManager().deletePersistentAll(instances);
+ getPersistenceManager().deletePersistentAll(instances);
} catch (final Exception ex) {
throw new FatalException(ex);
}
@@ -158,7 +158,7 @@ public class LightweightJdoSupport implements IsisJdoSupport_v3_2 {
@Override
public <T> JDOQLTypedQuery<T> newTypesafeQuery(Class<T> cls) {
- return getJdoPersistenceManager().newJDOQLTypedQuery(cls);
+ return getPersistenceManager().newJDOQLTypedQuery(cls);
}
private static <T> List<T> executeListAndClose(final JDOQLTypedQuery<T> query) {
@@ -183,7 +183,7 @@ public class LightweightJdoSupport implements IsisJdoSupport_v3_2 {
// //////////////////////////////////////
@Override
- public PersistenceManager getJdoPersistenceManager() {
+ public PersistenceManager getPersistenceManager() {
return pmf.getPersistenceManager();
}
diff --git a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/menu/JdoMetamodelMenu.java b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/menu/JdoMetamodelMenu.java
index 1a48fcc..bceeb37 100644
--- a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/menu/JdoMetamodelMenu.java
+++ b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/menu/JdoMetamodelMenu.java
@@ -97,7 +97,7 @@ public class JdoMetamodelMenu {
}
private PersistenceManagerFactory getPersistenceManagerFactory() {
- return jdoSupport.getJdoPersistenceManager().getPersistenceManagerFactory();
+ return jdoSupport.getPersistenceManager().getPersistenceManagerFactory();
}
}
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/interaction/InteractionBoundaryProbe.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/interaction/InteractionBoundaryProbe.java
index a19f465..a7d1432 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/interaction/InteractionBoundaryProbe.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/interaction/InteractionBoundaryProbe.java
@@ -76,7 +76,7 @@ public class InteractionBoundaryProbe {
/** TRANSACTION END BOUNDARY */
@EventListener(TransactionEndingEvent.class)
- public void onPreCommit(TransactionEndingEvent event) {
+ public void onTransactionEnding(TransactionEndingEvent event) {
kvStoreForTesting.incrementCounter(InteractionBoundaryProbe.class, "txEnding");
}
diff --git a/regressiontests/stable/src/test/java/org/apache/isis/testdomain/transactions/jdo/spring/JdoSpringTransactionScopeListenerTest.java b/regressiontests/stable/src/test/java/org/apache/isis/testdomain/transactions/jdo/spring/JdoSpringTransactionScopeListenerTest.java
index 845db60..9457775 100644
--- a/regressiontests/stable/src/test/java/org/apache/isis/testdomain/transactions/jdo/spring/JdoSpringTransactionScopeListenerTest.java
+++ b/regressiontests/stable/src/test/java/org/apache/isis/testdomain/transactions/jdo/spring/JdoSpringTransactionScopeListenerTest.java
@@ -26,7 +26,6 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.TestPropertySource;
-import org.springframework.transaction.annotation.Transactional;
import org.apache.isis.applib.services.registry.ServiceRegistry;
import org.apache.isis.applib.services.repository.RepositoryService;
@@ -50,7 +49,7 @@ import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScripts;
"logging.level.org.apache.isis.core.interaction.scope.IsisInteractionScope=DEBUG",
})
@TestPropertySource(IsisPresets.UseLog4j2Test)
-@Transactional
+//@Transactional
/**
* With this test we manage IsisInteractions ourselves. (not sub-classing IsisIntegrationTestAbstract)
*/
@@ -75,11 +74,11 @@ class JdoSpringTransactionScopeListenerTest {
@BeforeEach
void setUp() {
- // request a InteractionBoundaryProbe for the current interaction
- serviceRegistry.lookupServiceElseFail(InteractionBoundaryProbe.class);
-
// new IsisInteractionScope with a new transaction (#1)
isisInteractionFactory.runAnonymous(()->{
+
+ // request an InteractionBoundaryProbe for the current interaction
+ serviceRegistry.lookupServiceElseFail(InteractionBoundaryProbe.class);
// cleanup
fixtureScripts.runPersona(JdoTestDomainPersona.PurgeAll);
@@ -94,6 +93,9 @@ class JdoSpringTransactionScopeListenerTest {
// new IsisInteractionScope
isisInteractionFactory.runAnonymous(()->{
+ // request an InteractionBoundaryProbe for the current interaction
+ serviceRegistry.lookupServiceElseFail(InteractionBoundaryProbe.class);
+
// expected pre condition
// new transaction (#2)
assertEquals(0, repository.allInstances(JdoBook.class).size());
@@ -113,8 +115,8 @@ class JdoSpringTransactionScopeListenerTest {
assertEquals(2, InteractionBoundaryProbe.totalInteractionsStarted(kvStoreForTesting));
assertEquals(2, InteractionBoundaryProbe.totalInteractionsEnded(kvStoreForTesting));
- assertEquals(4, InteractionBoundaryProbe.totalTransactionsStarted(kvStoreForTesting));
- assertEquals(4, InteractionBoundaryProbe.totalTransactionsEnded(kvStoreForTesting));
+ assertEquals(1, InteractionBoundaryProbe.totalTransactionsStarted(kvStoreForTesting));
+ assertEquals(1, InteractionBoundaryProbe.totalTransactionsEnded(kvStoreForTesting));
}
diff --git a/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/teardown/TeardownFixtureAbstract.java b/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/teardown/TeardownFixtureAbstract.java
index 05f7cde..796e399 100644
--- a/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/teardown/TeardownFixtureAbstract.java
+++ b/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/teardown/TeardownFixtureAbstract.java
@@ -28,8 +28,8 @@ import javax.jdo.metadata.TypeMetadata;
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.commons.internal.base._Strings;
-import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
import org.apache.isis.persistence.jdo.applib.services.IsisJdoSupport;
+import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
@Programmatic
public abstract class TeardownFixtureAbstract extends FixtureScript {
@@ -41,7 +41,7 @@ public abstract class TeardownFixtureAbstract extends FixtureScript {
final String value = discriminatorValueOf(cls);
if(value == null) {
- final TypeMetadata metadata = isisJdoSupport.getJdoPersistenceManager()
+ final TypeMetadata metadata = isisJdoSupport.getPersistenceManager()
.getPersistenceManagerFactory().getMetadata(cls.getName());
if(metadata == null) {
// fall-back
@@ -173,7 +173,7 @@ public abstract class TeardownFixtureAbstract extends FixtureScript {
}
private PersistenceManagerFactory getPersistenceManagerFactory() {
- return isisJdoSupport.getJdoPersistenceManager().getPersistenceManagerFactory();
+ return isisJdoSupport.getPersistenceManager().getPersistenceManagerFactory();
}
@Inject private IsisJdoSupport isisJdoSupport;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/PrototypingMessageProvider.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/PrototypingMessageProvider.java
index 9271d3e..925d974 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/PrototypingMessageProvider.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/PrototypingMessageProvider.java
@@ -42,7 +42,7 @@ class PrototypingMessageProvider {
public static String getTookTimingMessageModel() {
return isPrototyping()
? getTookTimingMessage()
- : "";
+ : "";
}
// -- HELPER
@@ -61,7 +61,7 @@ class PrototypingMessageProvider {
commonContext().getInteractionTracker().currentInteractionSession()
.ifPresent(interaction->{
- val stopWatch = _Timing.atSystemNanos(interaction.getLifecycleStartedAtSystemNanos());
+ val stopWatch = _Timing.atSystemNanos(interaction.getStartedAtSystemNanos());
tookTimingMessage.append(String.format(Locale.US, "... took %.2f seconds", stopWatch.getSeconds()));
});