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/06/16 11:39:52 UTC
tomee git commit: few more NPE protection against no webbeans context
Repository: tomee
Updated Branches:
refs/heads/master 60a2e64f6 -> 02aecf19d
few more NPE protection against no webbeans context
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/02aecf19
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/02aecf19
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/02aecf19
Branch: refs/heads/master
Commit: 02aecf19d74249103f7ac80a8b4e4ef2ffbe7fa4
Parents: 60a2e64
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Tue Jun 16 11:39:43 2015 +0200
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Tue Jun 16 11:39:43 2015 +0200
----------------------------------------------------------------------
.../server/cxf/rs/CdiResourceProvider.java | 18 ++++++++++--------
.../openejb/server/cxf/rs/CxfRsHttpListener.java | 2 +-
.../openejb/server/httpd/EndWebBeansListener.java | 6 ++++++
.../apache/openejb/server/rest/RESTService.java | 2 +-
4 files changed, 18 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/02aecf19/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CdiResourceProvider.java
----------------------------------------------------------------------
diff --git a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CdiResourceProvider.java b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CdiResourceProvider.java
index 556f7f7..fd1ad05 100644
--- a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CdiResourceProvider.java
+++ b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CdiResourceProvider.java
@@ -75,9 +75,9 @@ public abstract class CdiResourceProvider implements ResourceProvider {
postConstructMethod = ResourceUtils.findPostConstructMethod(clazz);
preDestroyMethod = ResourceUtils.findPreDestroyMethod(clazz);
- bm = webbeansContext.getBeanManagerImpl();
+ bm = webbeansContext == null ? null : webbeansContext.getBeanManagerImpl();
this.clazz = clazz;
- if (bm.isInUse()) {
+ if (bm != null && bm.isInUse()) {
try {
final Set<Bean<?>> beans = bm.getBeans(clazz);
bean = bm.resolve(beans);
@@ -331,13 +331,15 @@ public abstract class CdiResourceProvider implements ResourceProvider {
injector = new InjectionProcessor<>(instance, new ArrayList<>(injections), InjectionProcessor.unwrap(context));
instance = injector.createInstance();
- final BeanManager bm = webbeansContext.getBeanManagerImpl();
- creationalContext = bm.createCreationalContext(null);
+ final BeanManager bm = webbeansContext == null ? null : webbeansContext.getBeanManagerImpl();
+ if (bm != null) {
+ creationalContext = bm.createCreationalContext(null);
- try {
- OWBInjector.inject(bm, instance, creationalContext);
- } catch (final Exception e) {
- // ignored
+ try {
+ OWBInjector.inject(bm, instance, creationalContext);
+ } catch (final Exception e) {
+ // ignored
+ }
}
// injector.postConstruct(); // it doesn't know it
http://git-wip-us.apache.org/repos/asf/tomee/blob/02aecf19/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
----------------------------------------------------------------------
diff --git a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
index 56bc5df..fe5e613 100644
--- a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
+++ b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
@@ -887,7 +887,7 @@ public class CxfRsHttpListener implements RsHttpListener {
if (comparatorClass == null) {
comparator = DefaultProviderComparator.INSTANCE;
} else {
- final BeanManagerImpl bm = ctx.getBeanManagerImpl();
+ final BeanManagerImpl bm = ctx == null ? null : ctx.getBeanManagerImpl();
if (bm != null && bm.isInUse()) {
try {
final Class<?> clazz = Thread.currentThread().getContextClassLoader().loadClass(comparatorClass);
http://git-wip-us.apache.org/repos/asf/tomee/blob/02aecf19/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EndWebBeansListener.java
----------------------------------------------------------------------
diff --git a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EndWebBeansListener.java b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EndWebBeansListener.java
index de5841f..722c56c 100644
--- a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EndWebBeansListener.java
+++ b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EndWebBeansListener.java
@@ -83,6 +83,9 @@ public class EndWebBeansListener implements ServletContextListener, ServletReque
*/
@Override
public void sessionDestroyed(final HttpSessionEvent event) {
+ if (contextsService == null) {
+ return;
+ }
WebBeansListenerHelper.ensureRequestScope(contextsService, this);
}
@@ -107,6 +110,9 @@ public class EndWebBeansListener implements ServletContextListener, ServletReque
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {
+ if (contextsService == null) {
+ return;
+ }
WebBeansListenerHelper.ensureRequestScope(contextsService, this);
}
}
http://git-wip-us.apache.org/repos/asf/tomee/blob/02aecf19/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
----------------------------------------------------------------------
diff --git a/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java b/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
index 6f58737..e249e4c 100644
--- a/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
+++ b/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
@@ -144,7 +144,7 @@ public abstract class RESTService implements ServerService, SelfManaging {
try {
appClazz = classLoader.loadClass(app);
application = Application.class.cast(appClazz.newInstance());
- if (owbCtx.getBeanManagerImpl().isInUse()) {
+ if (owbCtx != null && owbCtx.getBeanManagerImpl().isInUse()) {
try {
webContext.inject(application);
} catch (final Exception e) {