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 2018/08/23 09:48:52 UTC

[isis] 02/07: ISIS-1974: overloads createDataNucleusApplicationComponents in PersistenceSessionFactory

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch maint-1.16.2
in repository https://gitbox.apache.org/repos/asf/isis.git

commit bd20faa6c64d3e7cb6aff71e7748a7fb132d9edf
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Aug 22 13:23:40 2018 +0100

    ISIS-1974: overloads createDataNucleusApplicationComponents in PersistenceSessionFactory
    
    working towards removing SpecificationLoader, need to tease out use of RegisterEntities.
---
 .../system/persistence/PersistenceSessionFactory.java   | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java
index 8a32edb..fc2849a 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java
@@ -84,18 +84,23 @@ public class PersistenceSessionFactory implements ApplicationScopedComponent, Fi
     private DataNucleusApplicationComponents createDataNucleusApplicationComponents(
             final IsisConfiguration configuration, final SpecificationLoader specificationLoader) {
 
-        if (applicationComponents == null || applicationComponents.isStale()) {
+        final RegisterEntities registerEntities = new RegisterEntities(configuration.asMap());
+
+        return createDataNucleusApplicationComponents(configuration, specificationLoader, registerEntities);
+    }
 
-            final IsisConfiguration jdoObjectstoreConfig = configuration.createSubset(
-                    JDO_OBJECTSTORE_CONFIG_PREFIX);
+    private DataNucleusApplicationComponents createDataNucleusApplicationComponents(
+            final IsisConfiguration configuration,
+            final SpecificationLoader specificationLoader, final RegisterEntities registerEntities) {
+        final Set<String> classesToBePersisted = registerEntities.getEntityTypes();
 
+        if (applicationComponents == null || applicationComponents.isStale()) {
+
+            final IsisConfiguration jdoObjectstoreConfig = configuration.createSubset(JDO_OBJECTSTORE_CONFIG_PREFIX);
             final IsisConfiguration dataNucleusConfig = configuration.createSubset(DATANUCLEUS_CONFIG_PREFIX);
             final Map<String, String> datanucleusProps = dataNucleusConfig.asMap();
             addDataNucleusPropertiesIfRequired(datanucleusProps);
 
-            final RegisterEntities registerEntities = new RegisterEntities(configuration.asMap(), specificationLoader);
-            final Set<String> classesToBePersisted = registerEntities.getEntityTypes();
-
             applicationComponents = new DataNucleusApplicationComponents(jdoObjectstoreConfig, specificationLoader,
                     datanucleusProps, classesToBePersisted);
         }