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/12/23 22:15:32 UTC
tomee git commit: TOMEE-1685 ignoring persistence modules when
enforcing standalone webapp flag
Repository: tomee
Updated Branches:
refs/heads/master 0040c793b -> 0b0a8983c
TOMEE-1685 ignoring persistence modules when enforcing standalone webapp flag
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/0b0a8983
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/0b0a8983
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/0b0a8983
Branch: refs/heads/master
Commit: 0b0a8983c084b78410efb33c12fac574f5ad7403
Parents: 0040c79
Author: Romain Manni-Bucau <rm...@gmail.com>
Authored: Wed Dec 23 22:15:23 2015 +0100
Committer: Romain Manni-Bucau <rm...@gmail.com>
Committed: Wed Dec 23 22:15:23 2015 +0100
----------------------------------------------------------------------
.../openejb/testing/ApplicationComposers.java | 4 +-
.../testing/WebappMultipleModuleTest.java | 67 ++++++++++++++++++++
2 files changed, 69 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/0b0a8983/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java b/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java
index 4f54482..f9a1247 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java
@@ -561,13 +561,13 @@ public class ApplicationComposers {
final Persistence persistence = (Persistence) obj;
appModule.addPersistenceModule(
new PersistenceModule(appModule, implicitRootUrl(method.getAnnotation(PersistenceRootUrl.class)), persistence));
-
+ notBusinessModuleNumber++;
} else if (obj instanceof PersistenceUnit) {
final PersistenceUnit unit = (PersistenceUnit) obj;
appModule.addPersistenceModule(
new PersistenceModule(appModule, implicitRootUrl(method.getAnnotation(PersistenceRootUrl.class)), new Persistence(unit)));
-
+ notBusinessModuleNumber++;
} else if (obj instanceof Beans) {
final Beans beans = (Beans) obj;
http://git-wip-us.apache.org/repos/asf/tomee/blob/0b0a8983/container/openejb-core/src/test/java/org/apache/openejb/testing/WebappMultipleModuleTest.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/test/java/org/apache/openejb/testing/WebappMultipleModuleTest.java b/container/openejb-core/src/test/java/org/apache/openejb/testing/WebappMultipleModuleTest.java
new file mode 100644
index 0000000..7a3bd09
--- /dev/null
+++ b/container/openejb-core/src/test/java/org/apache/openejb/testing/WebappMultipleModuleTest.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.testing;
+
+import org.apache.openejb.jee.jpa.unit.Persistence;
+import org.apache.openejb.jee.jpa.unit.PersistenceUnit;
+import org.apache.openejb.junit.ApplicationComposer;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.AfterDeploymentValidation;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.Extension;
+import javax.inject.Inject;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+@CdiExtensions(WebappMultipleModuleTest.SuperViciousExtension.class)
+@RunWith(ApplicationComposer.class)
+@Classes(cdi = true, innerClassesAsBean = true)
+public class WebappMultipleModuleTest {
+ @Module
+ @PersistenceRootUrl(value = "")
+ public Persistence jpa() throws Exception {
+ SuperViciousExtension.CALLED.set(false); // reset before container boot
+ return new Persistence(new PersistenceUnit("jpa"));
+ }
+
+ @Inject
+ private Marker bean;
+
+ @Test
+ public void run() {
+ assertNotNull(bean);
+ assertTrue(SuperViciousExtension.CALLED.get());
+ }
+
+ public static class Marker {}
+
+ public static class SuperViciousExtension implements Extension {
+ public static final AtomicBoolean CALLED = new AtomicBoolean();
+
+ private void end(@Observes final AfterDeploymentValidation ignored , final BeanManager manager) {
+ final Bean<?> bean = manager.resolve(manager.getBeans(Marker.class));
+ assertNotNull(manager.getReference(bean, Marker.class, manager.createCreationalContext(bean)));
+ CALLED.set(true);
+ }
+ }
+}