[isis] 22/34: ISIS-1754 proper DN class-loading

2018-02-22 Thread ahuber
This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch dev/2.0.0-M2
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 1810edd6d71207f1d0e5d93b8939cd8d88012e21
Author: Andi Huber 
AuthorDate: Wed Nov 22 12:08:32 2017 +0100

ISIS-1754 proper DN class-loading
---
 .../core/runtime/system/context/IsisContext.java   |  3 ++-
 .../DataNucleusApplicationComponents.java  | 27 +++---
 .../wicket/viewer/IsisWicketApplication.java   |  2 ++
 3 files changed, 18 insertions(+), 14 deletions(-)

diff --git 
a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
 
b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
index ee1cc1c..40929e2 100644
--- 
a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
+++ 
b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
@@ -48,7 +48,7 @@ public interface IsisContext {
()->new IllegalStateException(
"internal error: should have 
been populated by IsisSessionFactoryBuilder") );
}
-   
+
/**
 * 
 * @return Isis's default class loader
@@ -79,4 +79,5 @@ public interface IsisContext {
clear();
 }
 
+
 }
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 a68ce06..8fafca8 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
@@ -25,26 +25,26 @@ import java.util.Set;
 import javax.jdo.JDOHelper;
 import javax.jdo.PersistenceManagerFactory;
 
-import com.google.common.base.Joiner;
-import com.google.common.collect.Maps;
-
-import org.datanucleus.PersistenceNucleusContext;
-import org.datanucleus.PropertyNames;
-import org.datanucleus.api.jdo.JDOPersistenceManagerFactory;
-import org.datanucleus.metadata.MetaDataListener;
-import org.datanucleus.metadata.MetaDataManager;
-import org.datanucleus.store.StoreManager;
-import org.datanucleus.store.schema.SchemaAwareStoreManager;
-
 import org.apache.isis.core.commons.components.ApplicationScopedComponent;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.factory.InstanceUtil;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
+import org.apache.isis.core.runtime.system.context.IsisContext;
 import 
org.apache.isis.objectstore.jdo.datanucleus.CreateSchemaObjectFromClassMetadata;
 import org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPropertiesAware;
 import 
org.apache.isis.objectstore.jdo.metamodel.facets.object.query.JdoNamedQuery;
 import 
org.apache.isis.objectstore.jdo.metamodel.facets.object.query.JdoQueryFacet;
+import org.datanucleus.PersistenceNucleusContext;
+import org.datanucleus.PropertyNames;
+import org.datanucleus.api.jdo.JDOPersistenceManagerFactory;
+import org.datanucleus.metadata.MetaDataListener;
+import org.datanucleus.metadata.MetaDataManager;
+import org.datanucleus.store.StoreManager;
+import org.datanucleus.store.schema.SchemaAwareStoreManager;
+
+import com.google.common.base.Joiner;
+import com.google.common.collect.Maps;
 
 public class DataNucleusApplicationComponents implements 
ApplicationScopedComponent {
 
@@ -148,8 +148,9 @@ public class DataNucleusApplicationComponents implements 
ApplicationScopedCompon
 
datanucleusProps.put(PropertyNames.PROPERTY_SCHEMA_AUTOCREATE_TABLES, "true"); 
// but have DN do everything else...
 
datanucleusProps.put(PropertyNames.PROPERTY_SCHEMA_AUTOCREATE_COLUMNS, "true");
 
datanucleusProps.put(PropertyNames.PROPERTY_SCHEMA_AUTOCREATE_CONSTRAINTS, 
"true");
-
-persistenceManagerFactory = 
JDOHelper.getPersistenceManagerFactory(datanucleusProps);
+
+persistenceManagerFactory = JDOHelper
+   .getPersistenceManagerFactory(datanucleusProps, 
IsisContext.getClassLoader() );
 createSchema(persistenceManagerFactory, 
persistableClassNameSet, datanucleusProps);
 
 } else {
diff --git 
a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
 
b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index ae3f78d..d249d68 100644
--- 
a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ 
b/core/viewer-wicket-i

[isis] 22/34: ISIS-1754 proper DN class-loading

2018-02-21 Thread ahuber
This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch dev/2.0.0-M2
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 7a012d39d6b350e6cbaae90447207e1c0459c538
Author: Andi Huber 
AuthorDate: Wed Nov 22 12:08:32 2017 +0100

ISIS-1754 proper DN class-loading
---
 .../core/runtime/system/context/IsisContext.java   |  3 ++-
 .../DataNucleusApplicationComponents.java  | 27 +++---
 .../wicket/viewer/IsisWicketApplication.java   |  2 ++
 3 files changed, 18 insertions(+), 14 deletions(-)

diff --git 
a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
 
b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
index ee1cc1c..40929e2 100644
--- 
a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
+++ 
b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
@@ -48,7 +48,7 @@ public interface IsisContext {
()->new IllegalStateException(
"internal error: should have 
been populated by IsisSessionFactoryBuilder") );
}
-   
+
/**
 * 
 * @return Isis's default class loader
@@ -79,4 +79,5 @@ public interface IsisContext {
clear();
 }
 
+
 }
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 a68ce06..8fafca8 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
@@ -25,26 +25,26 @@ import java.util.Set;
 import javax.jdo.JDOHelper;
 import javax.jdo.PersistenceManagerFactory;
 
-import com.google.common.base.Joiner;
-import com.google.common.collect.Maps;
-
-import org.datanucleus.PersistenceNucleusContext;
-import org.datanucleus.PropertyNames;
-import org.datanucleus.api.jdo.JDOPersistenceManagerFactory;
-import org.datanucleus.metadata.MetaDataListener;
-import org.datanucleus.metadata.MetaDataManager;
-import org.datanucleus.store.StoreManager;
-import org.datanucleus.store.schema.SchemaAwareStoreManager;
-
 import org.apache.isis.core.commons.components.ApplicationScopedComponent;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.factory.InstanceUtil;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
+import org.apache.isis.core.runtime.system.context.IsisContext;
 import 
org.apache.isis.objectstore.jdo.datanucleus.CreateSchemaObjectFromClassMetadata;
 import org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPropertiesAware;
 import 
org.apache.isis.objectstore.jdo.metamodel.facets.object.query.JdoNamedQuery;
 import 
org.apache.isis.objectstore.jdo.metamodel.facets.object.query.JdoQueryFacet;
+import org.datanucleus.PersistenceNucleusContext;
+import org.datanucleus.PropertyNames;
+import org.datanucleus.api.jdo.JDOPersistenceManagerFactory;
+import org.datanucleus.metadata.MetaDataListener;
+import org.datanucleus.metadata.MetaDataManager;
+import org.datanucleus.store.StoreManager;
+import org.datanucleus.store.schema.SchemaAwareStoreManager;
+
+import com.google.common.base.Joiner;
+import com.google.common.collect.Maps;
 
 public class DataNucleusApplicationComponents implements 
ApplicationScopedComponent {
 
@@ -148,8 +148,9 @@ public class DataNucleusApplicationComponents implements 
ApplicationScopedCompon
 
datanucleusProps.put(PropertyNames.PROPERTY_SCHEMA_AUTOCREATE_TABLES, "true"); 
// but have DN do everything else...
 
datanucleusProps.put(PropertyNames.PROPERTY_SCHEMA_AUTOCREATE_COLUMNS, "true");
 
datanucleusProps.put(PropertyNames.PROPERTY_SCHEMA_AUTOCREATE_CONSTRAINTS, 
"true");
-
-persistenceManagerFactory = 
JDOHelper.getPersistenceManagerFactory(datanucleusProps);
+
+persistenceManagerFactory = JDOHelper
+   .getPersistenceManagerFactory(datanucleusProps, 
IsisContext.getClassLoader() );
 createSchema(persistenceManagerFactory, 
persistableClassNameSet, datanucleusProps);
 
 } else {
diff --git 
a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
 
b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index ae3f78d..d249d68 100644
--- 
a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ 
b/core/viewer-wicket-i