You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by mg...@apache.org on 2015/11/12 21:02:29 UTC
[47/50] [abbrv] isis git commit: ISIS-1245: check for non-enhanced
entities during bootstrapping.
ISIS-1245: check for non-enhanced entities during bootstrapping.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/1b129860
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/1b129860
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/1b129860
Branch: refs/heads/ISIS-1224-select2-v4
Commit: 1b129860555065563d67db525a752b3efc1469c0
Parents: aedbd56
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed Nov 11 17:46:41 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed Nov 11 17:46:41 2015 +0000
----------------------------------------------------------------------
.../isis/objectstore/jdo/service/RegisterEntities.java | 10 ++++++++++
1 file changed, 10 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/1b129860/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/service/RegisterEntities.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/service/RegisterEntities.java b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/service/RegisterEntities.java
index 54b896f..70fe50c 100644
--- a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/service/RegisterEntities.java
+++ b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/service/RegisterEntities.java
@@ -26,6 +26,7 @@ import java.util.Set;
import javax.jdo.annotations.PersistenceCapable;
import com.google.common.base.Function;
+import com.google.common.base.Joiner;
import com.google.common.base.Predicate;
import com.google.common.base.Splitter;
import com.google.common.base.Strings;
@@ -67,12 +68,21 @@ public class RegisterEntities {
persistenceCapableTypes = searchForPersistenceCapables(configuration);
}
+ final List<String> classNamesNotEnhanced = Lists.newArrayList();
for (Class<?> persistenceCapableType : persistenceCapableTypes) {
if(ignore(persistenceCapableType)) {
continue;
}
+ if(!org.datanucleus.enhancement.Persistable.class.isAssignableFrom(persistenceCapableType)) {
+ classNamesNotEnhanced.add(persistenceCapableType.getCanonicalName());
+ }
this.entityTypes.add(persistenceCapableType.getCanonicalName());
}
+
+ if(!classNamesNotEnhanced.isEmpty()) {
+ final String classNamesNotEnhancedStr = Joiner.on("\n* ").join(classNamesNotEnhanced);
+ throw new IllegalStateException("Non-enhanced @PersistenceCapable classes found, will abort. The classes in error are:\n\n* " + classNamesNotEnhancedStr + "\n\nDid the DataNucleus enhancer run correctly?\n");
+ }
}
/**