You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2015/04/24 16:19:03 UTC
tomee git commit: ensure ConfigurationDeployer auto jpa mode has a
fallback when no jpa entities are in current module
Repository: tomee
Updated Branches:
refs/heads/master 26ac4e346 -> 85ead5e47
ensure ConfigurationDeployer auto jpa mode has a fallback when no jpa entities are in current module
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/85ead5e4
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/85ead5e4
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/85ead5e4
Branch: refs/heads/master
Commit: 85ead5e4706c5493717c906a1f46b82b03a2f7d0
Parents: 26ac4e3
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Fri Apr 24 16:18:56 2015 +0200
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Fri Apr 24 16:18:56 2015 +0200
----------------------------------------------------------------------
.../openejb/config/ConfigurationDeployer.java | 27 ++++++++++++++++++--
1 file changed, 25 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/85ead5e4/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationDeployer.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationDeployer.java b/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationDeployer.java
index dbe7b81..75f9d26 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationDeployer.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationDeployer.java
@@ -26,10 +26,13 @@ import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
import org.apache.openejb.util.PropertyPlaceHolderHelper;
+import java.util.ArrayList;
+import javax.persistence.Entity;
+
public class ConfigurationDeployer implements DynamicDeployer {
@Override
public AppModule deploy(final AppModule appModule) throws OpenEJBException {
- for (final EjbModule module : appModule.getEjbModules()) {
+ for (final EjbModule module : new ArrayList<>(appModule.getEjbModules())) {
if (module.getFinder() == null) {
continue;
}
@@ -46,7 +49,27 @@ public class ConfigurationDeployer implements DynamicDeployer {
}
}
if (scan) {
- AnnotationDeployer.autoJpa(module); // we pass after annotation deployer so need to fill it ourself
+ EjbModule m = module;
+ if (m.getFinder().findAnnotatedClasses(Entity.class).isEmpty()) {
+ // switch to another module
+ for (final EjbModule other : appModule.getEjbModules()) {
+ if (other == module || other.getFinder() == null) {
+ continue;
+ }
+ m = other;
+ boolean done = false;
+ for (final WebModule web : appModule.getWebModules()) {
+ if (web.getModuleId().equals(other.getModuleId())) { // the biggest module is found, use it
+ done = true;
+ break;
+ }
+ }
+ if (done) {
+ break;
+ }
+ }
+ }
+ AnnotationDeployer.autoJpa(m); // we pass after annotation deployer so need to fill it ourself
}
}
return appModule;