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 2015/09/11 00:08:49 UTC

[25/50] isis git commit: ISIS-1194: DataNucleusApplicationComponents creates new IsisLifecycleListener for each PersistenceManager

ISIS-1194: DataNucleusApplicationComponents creates new IsisLifecycleListener for each PersistenceManager

... safe to do because IsisLifecycleListener has no state other than the FrameworkSynchronizer.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/cad8ca5c
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/cad8ca5c
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/cad8ca5c

Branch: refs/heads/master
Commit: cad8ca5cbf8c6b06e0f686dc72b1079b2fda9aeb
Parents: 51fc96f
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Sep 10 15:54:09 2015 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Sep 10 15:54:09 2015 +0100

----------------------------------------------------------------------
 .../system/persistence/DataNucleusApplicationComponents.java  | 7 +++----
 .../runtime/system/persistence/IsisLifecycleListener2.java    | 5 ++++-
 2 files changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/cad8ca5c/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/DataNucleusApplicationComponents.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/DataNucleusApplicationComponents.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/DataNucleusApplicationComponents.java
index 8ade4f4..e2616b8 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/DataNucleusApplicationComponents.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/DataNucleusApplicationComponents.java
@@ -85,7 +85,6 @@ public class DataNucleusApplicationComponents implements ApplicationScopedCompon
     private final IsisConfiguration jdoObjectstoreConfig;
     private final Map<String, String> datanucleusProps;
     
-    private final IsisLifecycleListener lifecycleListener;
     private final FrameworkSynchronizer synchronizer;
     
     private Map<String, JdoNamedQuery> namedQueryByName;
@@ -101,7 +100,6 @@ public class DataNucleusApplicationComponents implements ApplicationScopedCompon
         this.jdoObjectstoreConfig = jdoObjectstoreConfig;
 
         this.synchronizer = new FrameworkSynchronizer();
-        this.lifecycleListener = new IsisLifecycleListener(synchronizer);
 
         initialize();
         
@@ -276,8 +274,9 @@ public class DataNucleusApplicationComponents implements ApplicationScopedCompon
     
     public PersistenceManager createPersistenceManager() {
         PersistenceManager persistenceManager = persistenceManagerFactory.getPersistenceManager();
-        
-        persistenceManager.addInstanceLifecycleListener(lifecycleListener, (Class[])null);
+
+        final IsisLifecycleListener isisLifecycleListener = new IsisLifecycleListener(synchronizer);
+        persistenceManager.addInstanceLifecycleListener(isisLifecycleListener, (Class[])null);
         return persistenceManager;
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/cad8ca5c/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/IsisLifecycleListener2.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/IsisLifecycleListener2.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/IsisLifecycleListener2.java
index 47e8383..5477e90 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/IsisLifecycleListener2.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/IsisLifecycleListener2.java
@@ -40,7 +40,10 @@ import org.apache.isis.core.runtime.system.context.IsisContext;
 import org.apache.isis.core.runtime.system.persistence.FrameworkSynchronizer.CalledFrom;
 import org.apache.isis.objectstore.jdo.datanucleus.persistence.IsisLifecycleListener;
 
-public class IsisLifecycleListener2 implements AttachLifecycleListener, ClearLifecycleListener, CreateLifecycleListener, DeleteLifecycleListener, DetachLifecycleListener, DirtyLifecycleListener, LoadLifecycleListener, StoreLifecycleListener, SuspendableListener {
+public class IsisLifecycleListener2
+        implements AttachLifecycleListener, ClearLifecycleListener, CreateLifecycleListener, DeleteLifecycleListener,
+        DetachLifecycleListener, DirtyLifecycleListener, LoadLifecycleListener, StoreLifecycleListener,
+        SuspendableListener {
 
     private final FrameworkSynchronizer synchronizer;