You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jg...@apache.org on 2018/01/22 17:32:03 UTC

[1/5] tomee git commit: Factor out appInfo.containerIds as we now have appInfo.containers

Repository: tomee
Updated Branches:
  refs/heads/master 515e4352c -> a73c93f04


Factor out appInfo.containerIds as we now have appInfo.containers


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/065654df
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/065654df
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/065654df

Branch: refs/heads/master
Commit: 065654df7ace4566fb914731c2449fc7203eccc4
Parents: 515e435
Author: Jonathan Gallimore <jo...@jrg.me.uk>
Authored: Fri Jan 19 16:13:06 2018 +0000
Committer: Jonathan Gallimore <jo...@jrg.me.uk>
Committed: Fri Jan 19 16:13:06 2018 +0000

----------------------------------------------------------------------
 .../openejb/assembler/classic/AppInfo.java      |  1 -
 .../openejb/assembler/classic/Assembler.java    |  3 ---
 .../apache/openejb/config/AppInfoBuilder.java   | 22 ++++++++++++--------
 3 files changed, 13 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/065654df/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AppInfo.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AppInfo.java b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AppInfo.java
index fa4153c..6481792 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AppInfo.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AppInfo.java
@@ -46,7 +46,6 @@ public class AppInfo extends InfoObject {
     public List<ContainerInfo> containers = new ArrayList<ContainerInfo>();
     public final List<String> libs = new ArrayList<String>();
     public final Set<String> watchedResources = new TreeSet<String>();
-    public final Set<String> containerIds = new TreeSet<String>();
     public final Set<String> resourceIds = new TreeSet<String>();
     public final Set<String> resourceAliases = new TreeSet<String>();
     public final JndiEncInfo globalJndiEnc = new JndiEncInfo();

http://git-wip-us.apache.org/repos/asf/tomee/blob/065654df/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
index e3414bb..69cfb5f 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
@@ -2559,9 +2559,6 @@ public class Assembler extends AssemblerTool implements org.apache.openejb.spi.A
                 }
             }
 
-            for (final String id : appInfo.containerIds) {
-                removeContainer(id);
-            }
             for (final ContainerInfo containerInfo : appInfo.containers) {
                 removeContainer(containerInfo.id);
             }

http://git-wip-us.apache.org/repos/asf/tomee/blob/065654df/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java b/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
index 6d112e1..248c491 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
@@ -166,7 +166,10 @@ class AppInfoBuilder {
                 containerIds.add(containerInfo.id);
             }
         }
-        containerIds.addAll(appInfo.containerIds);
+
+        for (final ContainerInfo containerInfo : appInfo.containers) {
+            containerIds.add(containerInfo.id);
+        }
 
         //
         //  EJB Jars
@@ -182,9 +185,9 @@ class AppInfoBuilder {
                 for (final EnterpriseBeanInfo bean : ejbJarInfo.enterpriseBeans) {
                     final EjbDeployment d = deploymentsByEjbName.get(bean.ejbName);
                     if (d.getContainerId() != null && !containerIds.contains(d.getContainerId())) {
-                        for (final String cId : appInfo.containerIds) {
-                            if (cId.endsWith("/" + d.getContainerId())) {
-                                d.setContainerId(cId);
+                        for (final ContainerInfo containerInfo : appInfo.containers) {
+                            if (containerInfo.id.endsWith("/" + d.getContainerId())) {
+                                d.setContainerId(containerInfo.id);
                                 break;
                             }
                         }
@@ -361,11 +364,12 @@ class AppInfoBuilder {
                 info.resourceAliases.addAll(def.getAliases());
             }
         }
-        for (final Container def : module.getContainers()) {
-            if (!def.getProperties().containsKey("ApplicationWide")) {
-                info.containerIds.add(def.getId());
-            }
-        }
+
+//        for (final Container def : module.getContainers()) {
+//            if (!def.getProperties().containsKey("ApplicationWide")) {
+//                info.containerIds.add(def.getId());
+//            }
+//        }
     }
 
     private void buildAppContainers(final AppModule module, final AppInfo info) throws OpenEJBException {


[4/5] tomee git commit: Revert "Revert "Upgrade HSQLDB to 2.3.5""

Posted by jg...@apache.org.
Revert "Revert "Upgrade HSQLDB to 2.3.5""

This reverts commit fab9665be406b889d2ee2cd62201851f5504f9a8.


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/43ea107a
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/43ea107a
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/43ea107a

Branch: refs/heads/master
Commit: 43ea107aaf6af226403ef807ee3b6e2964b6d672
Parents: fab9665
Author: Jonathan Gallimore <jo...@jrg.me.uk>
Authored: Mon Jan 22 17:07:05 2018 +0000
Committer: Jonathan Gallimore <jo...@jrg.me.uk>
Committed: Mon Jan 22 17:07:05 2018 +0000

----------------------------------------------------------------------
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/43ea107a/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index b560208..04fa2a1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -180,7 +180,7 @@
     <log4j.version>1.2.17</log4j.version>
     <log4j2.version>2.0.1</log4j2.version>
     <osgi.framework.version>4.2.0</osgi.framework.version>
-    <version.hsqldb>2.3.2</version.hsqldb>
+    <version.hsqldb>2.3.5</version.hsqldb>
     <version.axiom>1.2.20</version.axiom>
     <version.xalan>2.7.2</version.xalan>
     <version.hibernate>4.2.18.Final</version.hibernate>


[5/5] tomee git commit: Fixing test breakage caused by logging levels being reset to ALL after HSQLDB update

Posted by jg...@apache.org.
Fixing test breakage caused by logging levels being reset to ALL after HSQLDB update


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

Branch: refs/heads/master
Commit: a73c93f04341068812136c7d073cdb10b9a4f583
Parents: 43ea107
Author: Jonathan Gallimore <jo...@jrg.me.uk>
Authored: Mon Jan 22 17:17:13 2018 +0000
Committer: Jonathan Gallimore <jo...@jrg.me.uk>
Committed: Mon Jan 22 17:17:13 2018 +0000

----------------------------------------------------------------------
 .../src/test/java/org/superbiz/injection/h3jpa/MoviesTest.java     | 2 ++
 .../multi-jpa-provider-testing/src/test/resources/arquillian.xml   | 1 +
 2 files changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/a73c93f0/examples/jpa-hibernate/src/test/java/org/superbiz/injection/h3jpa/MoviesTest.java
----------------------------------------------------------------------
diff --git a/examples/jpa-hibernate/src/test/java/org/superbiz/injection/h3jpa/MoviesTest.java b/examples/jpa-hibernate/src/test/java/org/superbiz/injection/h3jpa/MoviesTest.java
index 93f8d39..4de36d3 100644
--- a/examples/jpa-hibernate/src/test/java/org/superbiz/injection/h3jpa/MoviesTest.java
+++ b/examples/jpa-hibernate/src/test/java/org/superbiz/injection/h3jpa/MoviesTest.java
@@ -29,6 +29,8 @@ import java.util.Properties;
 public class MoviesTest extends TestCase {
 
     public void test() throws Exception {
+        System.setProperty("hsqldb.reconfig_logging", "false");
+
         final Properties p = new Properties();
         p.put("movieDatabase", "new://Resource?type=DataSource");
         p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");

http://git-wip-us.apache.org/repos/asf/tomee/blob/a73c93f0/examples/multi-jpa-provider-testing/src/test/resources/arquillian.xml
----------------------------------------------------------------------
diff --git a/examples/multi-jpa-provider-testing/src/test/resources/arquillian.xml b/examples/multi-jpa-provider-testing/src/test/resources/arquillian.xml
index 9ccc5d5..3b112b4 100644
--- a/examples/multi-jpa-provider-testing/src/test/resources/arquillian.xml
+++ b/examples/multi-jpa-provider-testing/src/test/resources/arquillian.xml
@@ -25,6 +25,7 @@
         # force classes to be loaded from webapp classloader and not from system classloader
         # only relevant for embedded tests
         openejb.classloader.forced-load = org.superbiz.model
+        hsqldb.reconfig_logging = false
       </property>
     </configuration>
   </container>


[3/5] tomee git commit: Revert "Upgrade HSQLDB to 2.3.5"

Posted by jg...@apache.org.
Revert "Upgrade HSQLDB to 2.3.5"

This reverts commit 7b1ad5f0aedcc2cad68b67604f0ec33acd3b511d.


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

Branch: refs/heads/master
Commit: fab9665be406b889d2ee2cd62201851f5504f9a8
Parents: b811561
Author: Jonathan Gallimore <jo...@jrg.me.uk>
Authored: Mon Jan 22 14:33:50 2018 +0000
Committer: Jonathan Gallimore <jo...@jrg.me.uk>
Committed: Mon Jan 22 14:33:50 2018 +0000

----------------------------------------------------------------------
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/fab9665b/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 04fa2a1..b560208 100644
--- a/pom.xml
+++ b/pom.xml
@@ -180,7 +180,7 @@
     <log4j.version>1.2.17</log4j.version>
     <log4j2.version>2.0.1</log4j2.version>
     <osgi.framework.version>4.2.0</osgi.framework.version>
-    <version.hsqldb>2.3.5</version.hsqldb>
+    <version.hsqldb>2.3.2</version.hsqldb>
     <version.axiom>1.2.20</version.axiom>
     <version.xalan>2.7.2</version.xalan>
     <version.hibernate>4.2.18.Final</version.hibernate>


[2/5] tomee git commit: Honor the ApplicationWide property, and add a test for it

Posted by jg...@apache.org.
Honor the ApplicationWide property, and add a test for it


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

Branch: refs/heads/master
Commit: b81156161985116f1cc8cc11ce70df6edcc0acc9
Parents: 065654d
Author: Jonathan Gallimore <jo...@jrg.me.uk>
Authored: Mon Jan 22 14:23:31 2018 +0000
Committer: Jonathan Gallimore <jo...@jrg.me.uk>
Committed: Mon Jan 22 14:23:31 2018 +0000

----------------------------------------------------------------------
 .../openejb/assembler/classic/Assembler.java    |   4 +-
 .../assembler/classic/ContainerInfo.java        |   1 +
 .../apache/openejb/config/AppInfoBuilder.java   |   6 -
 .../apache/openejb/config/ContainerUtils.java   |   6 +
 .../openejb/config/ApplicationWideTest.java     | 116 +++++++++++++++++++
 5 files changed, 126 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/b8115616/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
index 69cfb5f..ac2d080 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
@@ -2560,7 +2560,9 @@ public class Assembler extends AssemblerTool implements org.apache.openejb.spi.A
             }
 
             for (final ContainerInfo containerInfo : appInfo.containers) {
-                removeContainer(containerInfo.id);
+                if (! containerInfo.applicationWide) {
+                    removeContainer(containerInfo.id);
+                }
             }
 
             containerSystem.removeAppContext(appInfo.appId);

http://git-wip-us.apache.org/repos/asf/tomee/blob/b8115616/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ContainerInfo.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ContainerInfo.java b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ContainerInfo.java
index cb29603..c655598 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ContainerInfo.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ContainerInfo.java
@@ -19,4 +19,5 @@ package org.apache.openejb.assembler.classic;
 
 public class ContainerInfo extends ServiceInfo {
     public String originAppName; // if define by an app
+    public boolean applicationWide;
 }

http://git-wip-us.apache.org/repos/asf/tomee/blob/b8115616/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java b/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
index 248c491..0c2264c 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
@@ -364,12 +364,6 @@ class AppInfoBuilder {
                 info.resourceAliases.addAll(def.getAliases());
             }
         }
-
-//        for (final Container def : module.getContainers()) {
-//            if (!def.getProperties().containsKey("ApplicationWide")) {
-//                info.containerIds.add(def.getId());
-//            }
-//        }
     }
 
     private void buildAppContainers(final AppModule module, final AppInfo info) throws OpenEJBException {

http://git-wip-us.apache.org/repos/asf/tomee/blob/b8115616/container/openejb-core/src/main/java/org/apache/openejb/config/ContainerUtils.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/ContainerUtils.java b/container/openejb-core/src/main/java/org/apache/openejb/config/ContainerUtils.java
index 09bfd54..ce6eed2 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/config/ContainerUtils.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/config/ContainerUtils.java
@@ -42,6 +42,12 @@ public class ContainerUtils {
 
             final ContainerInfo containerInfo = configFactory.createContainerInfo(container);
             containerInfo.originAppName = module.getModuleId();
+
+            final Object applicationWideProperty = containerInfo.properties.remove("ApplicationWide");
+            if (applicationWideProperty != null) {
+                containerInfo.applicationWide = Boolean.parseBoolean(applicationWideProperty.toString().trim());
+            }
+
             containerInfos.add(containerInfo);
         }
 

http://git-wip-us.apache.org/repos/asf/tomee/blob/b8115616/container/openejb-core/src/test/java/org/apache/openejb/config/ApplicationWideTest.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/test/java/org/apache/openejb/config/ApplicationWideTest.java b/container/openejb-core/src/test/java/org/apache/openejb/config/ApplicationWideTest.java
new file mode 100644
index 0000000..20669fe
--- /dev/null
+++ b/container/openejb-core/src/test/java/org/apache/openejb/config/ApplicationWideTest.java
@@ -0,0 +1,116 @@
+/**
+ * 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.config;
+
+import junit.framework.TestCase;
+import org.apache.openejb.assembler.classic.AppInfo;
+import org.apache.openejb.assembler.classic.Assembler;
+import org.apache.openejb.assembler.classic.SecurityServiceInfo;
+import org.apache.openejb.assembler.classic.TransactionServiceInfo;
+import org.apache.openejb.config.sys.Container;
+import org.apache.openejb.jee.EjbJar;
+import org.apache.openejb.jee.StatelessBean;
+import org.apache.openejb.jee.oejb3.OpenejbJar;
+import org.apache.openejb.spi.ContainerSystem;
+
+import javax.ejb.Stateless;
+
+
+public class ApplicationWideTest extends TestCase {
+
+    public void testShouldCreateAResourceAndNotRemoveOnUndeploy() throws Exception {
+        final EjbModule ejbModule = new EjbModule(new EjbJar(), new OpenejbJar());
+        final EjbJar ejbJar = ejbModule.getEjbJar();
+        ejbJar.addEnterpriseBean(new StatelessBean(EchoBean.class));
+
+        final AppModule appModule = new AppModule(ejbModule);
+        final Container container = new Container();
+        container.setId("My Container");
+        container.setCtype("STATELESS");
+        container.getProperties().setProperty("ApplicationWide", "true");
+        appModule.getContainers().add(container);
+
+        final ConfigurationFactory config = new ConfigurationFactory();
+        final Assembler assembler = new Assembler();
+        { // setup the system
+            assembler.createTransactionManager(config.configureService(TransactionServiceInfo.class));
+            assembler.createSecurityService(config.configureService(SecurityServiceInfo.class));
+        }
+
+        final AppInfo appInfo = config.configureApplication(appModule);
+        assembler.createApplication(appInfo);
+
+        {
+            final ContainerSystem containerSystem = assembler.getContainerSystem();
+            final org.apache.openejb.Container appContainer = containerSystem.getContainer(ejbModule.getModuleId() + "/My Container");
+            assertNotNull(appContainer);
+        }
+
+        assembler.destroyApplication(appInfo);
+
+        {
+            final ContainerSystem containerSystem = assembler.getContainerSystem();
+            final org.apache.openejb.Container appContainer = containerSystem.getContainer(ejbModule.getModuleId() + "/My Container");
+            assertNotNull(appContainer);
+        }
+    }
+
+    public void testShouldCreateAResourceAndRemoveOnUndeploy() throws Exception {
+        final EjbModule ejbModule = new EjbModule(new EjbJar(), new OpenejbJar());
+        final EjbJar ejbJar = ejbModule.getEjbJar();
+        ejbJar.addEnterpriseBean(new StatelessBean(EchoBean.class));
+
+        final AppModule appModule = new AppModule(ejbModule);
+        final Container container = new Container();
+        container.setId("My Container");
+        container.setCtype("STATELESS");
+        container.getProperties().setProperty("ApplicationWide", "false");
+        appModule.getContainers().add(container);
+
+        final ConfigurationFactory config = new ConfigurationFactory();
+        final Assembler assembler = new Assembler();
+        { // setup the system
+            assembler.createTransactionManager(config.configureService(TransactionServiceInfo.class));
+            assembler.createSecurityService(config.configureService(SecurityServiceInfo.class));
+        }
+
+        final AppInfo appInfo = config.configureApplication(appModule);
+        assembler.createApplication(appInfo);
+
+        {
+            final ContainerSystem containerSystem = assembler.getContainerSystem();
+            final org.apache.openejb.Container appContainer = containerSystem.getContainer(ejbModule.getModuleId() + "/My Container");
+            assertNotNull(appContainer);
+        }
+
+        assembler.destroyApplication(appInfo);
+
+        {
+            final ContainerSystem containerSystem = assembler.getContainerSystem();
+            final org.apache.openejb.Container appContainer = containerSystem.getContainer(ejbModule.getModuleId() + "/My Container");
+            assertNull(appContainer);
+        }
+    }
+
+    @Stateless
+    public static class EchoBean {
+        public String echo(final String input) {
+            return input;
+        }
+    }
+
+}