[3/4] tomee git commit: some NPE protections

2015-12-02 Thread andygumbrecht
some NPE protections


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

Branch: refs/heads/tomee-7.0.0-M1
Commit: f9f73a49bc51e56613da9e64c85b79502fcb5b2a
Parents: 04294bf
Author: Romain Manni-Bucau 
Authored: Wed Dec 2 19:31:31 2015 +0100
Committer: Romain Manni-Bucau 
Committed: Wed Dec 2 19:31:31 2015 +0100

--
 .../openejb/testing/ApplicationComposers.java   | 35 +++-
 .../apache/openejb/bval/BeanValidationTest.java |  4 +++
 2 files changed, 30 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tomee/blob/f9f73a49/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 bc5fefd..4f54482 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
@@ -373,8 +373,7 @@ public class ApplicationComposers {
 
 @SuppressWarnings("unchecked")
 public void before(final Object inputTestInstance) throws Exception {
-// we hacked testInstance while we were not aware of it, now we can 
solve it
-testClassFinders.put(inputTestInstance, testClassFinders.remove(this));
+fixFakeClassFinder(inputTestInstance);
 
 startContainer(inputTestInstance);
 
@@ -385,12 +384,7 @@ public class ApplicationComposers {
 }
 
 public void deployApp(final Object inputTestInstance) throws Exception {
-// test injections
-ClassFinder testClassFinder = 
testClassFinders.remove(inputTestInstance);
-if (testClassFinder == null) {
-testClassFinders.put(inputTestInstance, 
testClassFinders.remove(this));
-testClassFinder = testClassFinders.remove(inputTestInstance);
-}
+final ClassFinder testClassFinder = 
fixFakeClassFinder(inputTestInstance);
 
 final ClassLoader loader = testClass.getClassLoader();
 AppModule appModule = new AppModule(loader, testClass.getSimpleName());
@@ -773,6 +767,29 @@ public class ApplicationComposers {
 testClassFinders.put(this, testClassFinder);
 }
 
+private ClassFinder fixFakeClassFinder(final Object inputTestInstance) {
+// test injections, we faked the instance before having it so ensuring 
we use the right finder
+ClassFinder testClassFinder = testClassFinders.get(inputTestInstance);
+if (testClassFinder == null) {
+final ApplicationComposers self = this;
+final ClassFinder remove = testClassFinders.remove(self);
+if (remove != null) {
+testClassFinders.put(inputTestInstance, remove);
+testClassFinder = remove;
+afterRunnables.add(new Runnable() { // reset state for next 
test
+@Override
+public void run() {
+final ClassFinder classFinder = 
testClassFinders.remove(inputTestInstance);
+if (classFinder != null) {
+testClassFinders.put(self, classFinder);
+}
+}
+});
+}
+}
+return testClassFinder;
+}
+
 private boolean isCdi(final boolean cdi, final Class[] cdiInterceptors,
   final Class[] cdiAlternatives, final Class[] 
cdiStereotypes,
   final Class[] cdiDecorators) {
@@ -1264,7 +1281,7 @@ public class ApplicationComposers {
 public void startContainer(final Object instance) throws Exception {
 originalProperties = (Properties) System.getProperties().clone();
 originalLoader = Thread.currentThread().getContextClassLoader();
-testClassFinders.remove(this); // see constructor
+fixFakeClassFinder(instance);
 
 // For the moment we just take the first @Configuration method
 // maybe later we can add something fancy to allow multiple 
configurations using a qualifier

http://git-wip-us.apache.org/repos/asf/tomee/blob/f9f73a49/container/openejb-core/src/test/java/org/apache/openejb/bval/BeanValidationTest.java
--
diff --git 
a/container/openejb-core/src/test/java/org/apache/openejb/bval/BeanValidationTest.java
 
b/container/openejb-core/src/test/java/org/apache/openejb/bval/Bean

tomee git commit: some NPE protections

2015-12-02 Thread rmannibucau
Repository: tomee
Updated Branches:
  refs/heads/master 04294bfde -> f9f73a49b


some NPE protections


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

Branch: refs/heads/master
Commit: f9f73a49bc51e56613da9e64c85b79502fcb5b2a
Parents: 04294bf
Author: Romain Manni-Bucau 
Authored: Wed Dec 2 19:31:31 2015 +0100
Committer: Romain Manni-Bucau 
Committed: Wed Dec 2 19:31:31 2015 +0100

--
 .../openejb/testing/ApplicationComposers.java   | 35 +++-
 .../apache/openejb/bval/BeanValidationTest.java |  4 +++
 2 files changed, 30 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tomee/blob/f9f73a49/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 bc5fefd..4f54482 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
@@ -373,8 +373,7 @@ public class ApplicationComposers {
 
 @SuppressWarnings("unchecked")
 public void before(final Object inputTestInstance) throws Exception {
-// we hacked testInstance while we were not aware of it, now we can 
solve it
-testClassFinders.put(inputTestInstance, testClassFinders.remove(this));
+fixFakeClassFinder(inputTestInstance);
 
 startContainer(inputTestInstance);
 
@@ -385,12 +384,7 @@ public class ApplicationComposers {
 }
 
 public void deployApp(final Object inputTestInstance) throws Exception {
-// test injections
-ClassFinder testClassFinder = 
testClassFinders.remove(inputTestInstance);
-if (testClassFinder == null) {
-testClassFinders.put(inputTestInstance, 
testClassFinders.remove(this));
-testClassFinder = testClassFinders.remove(inputTestInstance);
-}
+final ClassFinder testClassFinder = 
fixFakeClassFinder(inputTestInstance);
 
 final ClassLoader loader = testClass.getClassLoader();
 AppModule appModule = new AppModule(loader, testClass.getSimpleName());
@@ -773,6 +767,29 @@ public class ApplicationComposers {
 testClassFinders.put(this, testClassFinder);
 }
 
+private ClassFinder fixFakeClassFinder(final Object inputTestInstance) {
+// test injections, we faked the instance before having it so ensuring 
we use the right finder
+ClassFinder testClassFinder = testClassFinders.get(inputTestInstance);
+if (testClassFinder == null) {
+final ApplicationComposers self = this;
+final ClassFinder remove = testClassFinders.remove(self);
+if (remove != null) {
+testClassFinders.put(inputTestInstance, remove);
+testClassFinder = remove;
+afterRunnables.add(new Runnable() { // reset state for next 
test
+@Override
+public void run() {
+final ClassFinder classFinder = 
testClassFinders.remove(inputTestInstance);
+if (classFinder != null) {
+testClassFinders.put(self, classFinder);
+}
+}
+});
+}
+}
+return testClassFinder;
+}
+
 private boolean isCdi(final boolean cdi, final Class[] cdiInterceptors,
   final Class[] cdiAlternatives, final Class[] 
cdiStereotypes,
   final Class[] cdiDecorators) {
@@ -1264,7 +1281,7 @@ public class ApplicationComposers {
 public void startContainer(final Object instance) throws Exception {
 originalProperties = (Properties) System.getProperties().clone();
 originalLoader = Thread.currentThread().getContextClassLoader();
-testClassFinders.remove(this); // see constructor
+fixFakeClassFinder(instance);
 
 // For the moment we just take the first @Configuration method
 // maybe later we can add something fancy to allow multiple 
configurations using a qualifier

http://git-wip-us.apache.org/repos/asf/tomee/blob/f9f73a49/container/openejb-core/src/test/java/org/apache/openejb/bval/BeanValidationTest.java
--
diff --git 
a/container/openejb-core/src/test/java/org/apache/openejb/bval/BeanValidationTest.j