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/07/06 22:25:59 UTC

isis git commit: ISIS-1168: only eagerly register if neo4j...

Repository: isis
Updated Branches:
  refs/heads/master d51ed8710 -> 0954c7170


ISIS-1168: only eagerly register if neo4j...

... otherwise breaks our use of the DN MetadataListener for setting up schemas for entities


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

Branch: refs/heads/master
Commit: 0954c7170f8be90b39ab658d268ef305d3def56f
Parents: d51ed87
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon Jul 6 21:25:49 2015 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon Jul 6 21:25:49 2015 +0100

----------------------------------------------------------------------
 .../datanucleus/DataNucleusApplicationComponents.java  | 13 ++++++++++---
 .../DataNucleusPersistenceMechanismInstaller.java      |  4 ++--
 .../domainapp/fixture/DomainAppFixturesService.java    |  2 +-
 3 files changed, 13 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/0954c717/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusApplicationComponents.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusApplicationComponents.java b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusApplicationComponents.java
index 6111da5..a048942 100644
--- a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusApplicationComponents.java
+++ b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusApplicationComponents.java
@@ -110,10 +110,17 @@ public class DataNucleusApplicationComponents implements ApplicationScopedCompon
     private void initialize() {
         final String persistableClassNames = Joiner.on(',').join(persistableClassNameSet);
 
+        final String url = datanucleusProps.get("javax.jdo.option.ConnectionURL");
+        if(url != null && url.startsWith("neo4j")) {
+            // eagerly load
+            datanucleusProps.put(PropertyNames.PROPERTY_AUTOSTART_MECHANISM, "Classes");
+            datanucleusProps.put(PropertyNames.PROPERTY_AUTOSTART_MODE, "Checked");
+            datanucleusProps.put(PropertyNames.PROPERTY_AUTOSTART_CLASSNAMES, persistableClassNames);
+        } else {
+            // need to lazily load to ensure that any DB containing schema is created via our MetadataListener.
+        }
+
         // ref: http://www.datanucleus.org/products/datanucleus/jdo/autostart.html
-        datanucleusProps.put(PropertyNames.PROPERTY_AUTOSTART_MECHANISM, "Classes");
-        datanucleusProps.put(PropertyNames.PROPERTY_AUTOSTART_MODE, "Checked");
-        datanucleusProps.put(PropertyNames.PROPERTY_AUTOSTART_CLASSNAMES, persistableClassNames);
         persistenceManagerFactory = JDOHelper.getPersistenceManagerFactory(datanucleusProps);
 
         final boolean createSchema = (Boolean.parseBoolean( datanucleusProps.get(PropertyNames.PROPERTY_SCHEMA_AUTOCREATE_SCHEMA) ) ||

http://git-wip-us.apache.org/repos/asf/isis/blob/0954c717/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusPersistenceMechanismInstaller.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusPersistenceMechanismInstaller.java b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusPersistenceMechanismInstaller.java
index 8169a95..7736bf4 100644
--- a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusPersistenceMechanismInstaller.java
+++ b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusPersistenceMechanismInstaller.java
@@ -28,9 +28,9 @@ import com.google.common.collect.Sets;
 import org.datanucleus.PropertyNames;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+
 import org.apache.isis.core.commons.components.Installer;
 import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.facets.object.ignore.datanucleus.RemoveDatanucleusPersistableTypesFacetFactory;
 import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
@@ -147,7 +147,7 @@ public class DataNucleusPersistenceMechanismInstaller extends PersistenceMechani
         putIfNotPresent(props, PropertyNames.PROPERTY_SCHEMA_AUTOCREATE_SCHEMA, "true");
         putIfNotPresent(props, PropertyNames.PROPERTY_SCHEMA_VALIDATE_ALL, "true");
         putIfNotPresent(props, PropertyNames.PROPERTY_CACHE_L2_TYPE, "none");
-        
+
         putIfNotPresent(props, PropertyNames.PROPERTY_PERSISTENCE_UNIT_LOAD_CLASSES, "true");
 
         String connectionFactoryName = props.get(PropertyNames.PROPERTY_CONNECTION_FACTORY_NAME);

http://git-wip-us.apache.org/repos/asf/isis/blob/0954c717/example/application/simpleapp/fixture/src/main/java/domainapp/fixture/DomainAppFixturesService.java
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/fixture/src/main/java/domainapp/fixture/DomainAppFixturesService.java b/example/application/simpleapp/fixture/src/main/java/domainapp/fixture/DomainAppFixturesService.java
index 6048e1f..751bad3 100644
--- a/example/application/simpleapp/fixture/src/main/java/domainapp/fixture/DomainAppFixturesService.java
+++ b/example/application/simpleapp/fixture/src/main/java/domainapp/fixture/DomainAppFixturesService.java
@@ -44,7 +44,7 @@ import domainapp.fixture.scenarios.RecreateSimpleObjects;
 public class DomainAppFixturesService extends FixtureScripts {
 
     public DomainAppFixturesService() {
-        super("domainapp", MultipleExecutionStrategy.EXECUTE);
+        super(DomainAppFixturesService.class.getPackage().getName(), MultipleExecutionStrategy.EXECUTE);
     }
 
     @Override