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/05 09:39:58 UTC

[isis] branch 2033-Spring_Data_Integration updated: ISIS-2033: jdo-integration: bit of 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 777badc  ISIS-2033: jdo-integration: bit of house-keeping
777badc is described below

commit 777badcd829970e8c7e921530cba9cc4254d3fd6
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Jan 5 10:39:46 2021 +0100

    ISIS-2033: jdo-integration: bit of house-keeping
---
 .../runtime/events/AppLifecycleEventService.java   | 13 -----------
 .../lifecycles/JdoLifecycleListener.java           | 25 ++++++++++------------
 .../integration/session/JdoInteractionSession.java |  8 +++----
 .../util/interaction/InteractionTestAbstract.java  | 16 +++++++-------
 4 files changed, 23 insertions(+), 39 deletions(-)

diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/events/AppLifecycleEventService.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/events/AppLifecycleEventService.java
index 090c703..7d8dfdf 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/events/AppLifecycleEventService.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/events/AppLifecycleEventService.java
@@ -28,8 +28,6 @@ import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.annotation.OrderPrecedence;
 import org.apache.isis.applib.services.eventbus.EventBusService;
-import org.apache.isis.core.transaction.changetracking.events.PostStoreEvent;
-import org.apache.isis.core.transaction.changetracking.events.PreStoreEvent;
 
 /**
  * 
@@ -56,15 +54,4 @@ public class AppLifecycleEventService {
         eventBusService.post(AppLifecycleEvent.POST_METAMODEL);
     }
 
-    // -- PERSISTENT OBJECT EVENTS
-
-    public void firePreStoreEvent(Object persistableObject) {
-        eventBusService.post(PreStoreEvent.of(persistableObject));
-    }
-    
-    public void firePostStoreEvent(Object persistableObject) {
-        eventBusService.post(PostStoreEvent.of(persistableObject));
-    }
-    
-
 }
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/lifecycles/JdoLifecycleListener.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/lifecycles/JdoLifecycleListener.java
index 69a44b3..9980730 100644
--- a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/lifecycles/JdoLifecycleListener.java
+++ b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/lifecycles/JdoLifecycleListener.java
@@ -33,10 +33,12 @@ import javax.jdo.listener.StoreLifecycleListener;
 
 import org.datanucleus.enhancement.Persistable;
 
+import org.apache.isis.applib.services.eventbus.EventBusService;
 import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
-import org.apache.isis.core.runtime.events.AppLifecycleEventService;
 import org.apache.isis.core.transaction.changetracking.EntityChangeTracker;
+import org.apache.isis.core.transaction.changetracking.events.PostStoreEvent;
+import org.apache.isis.core.transaction.changetracking.events.PreStoreEvent;
 import org.apache.isis.persistence.jdo.integration.metamodel.JdoMetamodelUtil;
 
 import lombok.NonNull;
@@ -68,7 +70,7 @@ DetachLifecycleListener, DirtyLifecycleListener, LoadLifecycleListener, StoreLif
 
     private final @NonNull EntityChangeEmitter entityChangeEmitter;
     private final @NonNull EntityChangeTracker entityChangeTracker;
-    private final @NonNull AppLifecycleEventService appLifecycleEventService;
+    private final @NonNull EventBusService eventBusService;
 
     /////////////////////////////////////////////////////////////////////////
     // callbacks
@@ -81,14 +83,12 @@ DetachLifecycleListener, DirtyLifecycleListener, LoadLifecycleListener, StoreLif
 
     @Override
     public void preAttach(final InstanceLifecycleEvent event) {
-        final Persistable pojo = _Utils.persistableFor(event);
-        _Utils.ensureRootObject(pojo);
+        // no-op
     }
 
     @Override
     public void postAttach(final InstanceLifecycleEvent event) {
-        final Persistable pojo = _Utils.persistableFor(event);
-        _Utils.ensureRootObject(pojo);
+        // no-op
     }
 
     @Override
@@ -106,7 +106,7 @@ DetachLifecycleListener, DirtyLifecycleListener, LoadLifecycleListener, StoreLif
         if(persistableObject!=null 
                 && JdoMetamodelUtil.isPersistenceEnhanced(persistableObject.getClass())) {
 
-            appLifecycleEventService.firePreStoreEvent(persistableObject);
+            eventBusService.post(PreStoreEvent.of(persistableObject));
         }
         
         final Persistable pojo = _Utils.persistableFor(event);
@@ -124,7 +124,7 @@ DetachLifecycleListener, DirtyLifecycleListener, LoadLifecycleListener, StoreLif
         if(persistableObject!=null && 
                 JdoMetamodelUtil.isPersistenceEnhanced(persistableObject.getClass())) {
 
-            appLifecycleEventService.firePostStoreEvent(persistableObject);
+            eventBusService.post(PostStoreEvent.of(persistableObject));
         }
         
         final Persistable pojo = _Utils.persistableFor(event);
@@ -157,8 +157,6 @@ DetachLifecycleListener, DirtyLifecycleListener, LoadLifecycleListener, StoreLif
     public void preDelete(InstanceLifecycleEvent event) {
         final Persistable pojo = _Utils.persistableFor(event);
         entityChangeEmitter.enlistDeletingAndInvokeIsisRemovingCallbackFacet(pojo);
-
-
     }
 
     @Override
@@ -190,14 +188,12 @@ DetachLifecycleListener, DirtyLifecycleListener, LoadLifecycleListener, StoreLif
 
     @Override
     public void preDetach(InstanceLifecycleEvent event) {
-        final Persistable pojo = _Utils.persistableFor(event);
-        _Utils.ensureRootObject(pojo);
+        // no-op
     }
 
     @Override
     public void postDetach(InstanceLifecycleEvent event) {
-        final Persistable pojo = _Utils.persistableFor(event);
-        _Utils.ensureRootObject(pojo);
+        // no-op
     }
 
     // /////////////////////////////////////////////////////////
@@ -227,5 +223,6 @@ DetachLifecycleListener, DirtyLifecycleListener, LoadLifecycleListener, StoreLif
     //        final ObjectAdapter adapter = persistenceSession.getAdapterFor(pojo);
     //        return phase + " " + location.prefix + " " + LifecycleEventType.lookup(event.getEventType()) + ": oid=" + (adapter !=null? adapter.getOid(): "(null)") + " ,pojo " + pojo;
     //    }
+            
 
 }
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/session/JdoInteractionSession.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/session/JdoInteractionSession.java
index 7e96a24..e1040a8 100644
--- a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/session/JdoInteractionSession.java
+++ b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/session/JdoInteractionSession.java
@@ -24,11 +24,11 @@ import java.util.List;
 import javax.enterprise.inject.Vetoed;
 import javax.jdo.PersistenceManager;
 
+import org.apache.isis.applib.services.eventbus.EventBusService;
 import org.apache.isis.commons.internal.assertions._Assert.OpenCloseState;
 import org.apache.isis.core.interaction.session.InteractionSession;
 import org.apache.isis.core.metamodel.context.HasMetaModelContext;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.runtime.events.AppLifecycleEventService;
 import org.apache.isis.core.transaction.changetracking.EntityChangeTracker;
 import org.apache.isis.persistence.jdo.integration.lifecycles.JdoLifecycleListener;
 import org.apache.isis.persistence.jdo.spring.integration.TransactionAwarePersistenceManagerFactoryProxy;
@@ -128,8 +128,8 @@ implements HasMetaModelContext {
     
     private PersistenceManager integrateWithApplicationLayer(final PersistenceManager persistenceManager) {
         
-        val appLifecycleEventService = metaModelContext.getServiceRegistry()
-                .lookupServiceElseFail(AppLifecycleEventService.class);
+        val eventBusService = metaModelContext.getServiceRegistry()
+                .lookupServiceElseFail(EventBusService.class);
         
         val entityChangeTracker = metaModelContext.getServiceRegistry()
                 .lookupServiceElseFail(EntityChangeTracker.class);
@@ -140,7 +140,7 @@ implements HasMetaModelContext {
         // install JDO specific entity change listeners ...
         
         val jdoLifecycleListener = new JdoLifecycleListener(
-                entityChangeEmitter, entityChangeTracker, appLifecycleEventService);
+                entityChangeEmitter, entityChangeTracker, eventBusService);
         persistenceManager.addInstanceLifecycleListener(jdoLifecycleListener, (Class[]) null);
         
         onCloseTasks.add(()->{
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/interaction/InteractionTestAbstract.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/interaction/InteractionTestAbstract.java
index 0d26d2e..7647f10 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/interaction/InteractionTestAbstract.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/util/interaction/InteractionTestAbstract.java
@@ -18,6 +18,10 @@
  */
 package org.apache.isis.testdomain.util.interaction;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
 import java.util.Collections;
 import java.util.List;
 import java.util.TreeSet;
@@ -28,10 +32,6 @@ import java.util.stream.Collectors;
 import javax.annotation.Nullable;
 import javax.inject.Inject;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.services.wrapper.WrapperFactory;
 import org.apache.isis.commons.internal.base._NullSafe;
@@ -42,7 +42,7 @@ import org.apache.isis.core.metamodel.interactions.managed.ActionInteraction;
 import org.apache.isis.core.metamodel.interactions.managed.CollectionInteraction;
 import org.apache.isis.core.metamodel.interactions.managed.PropertyInteraction;
 import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
-import org.apache.isis.core.transaction.changetracking.EntityChangeTrackerDefault;
+import org.apache.isis.core.transaction.changetracking.EntityChangeTracker;
 import org.apache.isis.testdomain.applayer.publishing.EntityPropertyChangeSubscriberForTesting;
 import org.apache.isis.testdomain.util.CollectionAssertions;
 import org.apache.isis.testdomain.util.kv.KVStoreForTesting;
@@ -56,10 +56,10 @@ public abstract class InteractionTestAbstract extends IsisIntegrationTestAbstrac
     @Inject protected InteractionFactory interactionFactory;
     @Inject protected WrapperFactory wrapper;
     @Inject protected KVStoreForTesting kvStoreForTesting;
-    @Inject private javax.inject.Provider<EntityChangeTrackerDefault> changedObjectsServiceProvider;
+    @Inject private javax.inject.Provider<EntityChangeTracker> entityChangeTrackerProvider;
     
-    protected EntityChangeTrackerDefault getChangedObjectsService() {
-        return changedObjectsServiceProvider.get();
+    protected EntityChangeTracker getEntityChangeTracker() {
+        return entityChangeTrackerProvider.get();
     }
     
     // -- INTERACTION STARTERS