You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by an...@apache.org on 2017/02/10 00:23:44 UTC
tomee git commit: Resloves #TOMEE-1897 for 7.0.3
Repository: tomee
Updated Branches:
refs/heads/master f90e7da91 -> 56bea6caa
Resloves #TOMEE-1897 for 7.0.3
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/56bea6ca
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/56bea6ca
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/56bea6ca
Branch: refs/heads/master
Commit: 56bea6caaaa1475cc62d01b6619de7c5e54d1b16
Parents: f90e7da
Author: AndyGee <an...@gmx.de>
Authored: Fri Feb 10 01:22:47 2017 +0100
Committer: AndyGee <an...@gmx.de>
Committed: Fri Feb 10 01:22:47 2017 +0100
----------------------------------------------------------------------
.../server/cxf/rs/CdiResourceProvider.java | 21 ++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/56bea6ca/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 1ba5f0e..bf5b28a 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
@@ -23,6 +23,8 @@ import org.apache.cxf.message.Message;
import org.apache.openejb.Injection;
import org.apache.openejb.InjectionProcessor;
import org.apache.openejb.OpenEJBException;
+import org.apache.openejb.util.LogCategory;
+import org.apache.openejb.util.Logger;
import org.apache.webbeans.component.InjectionTargetBean;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.container.BeanManagerImpl;
@@ -254,7 +256,7 @@ public abstract class CdiResourceProvider implements ResourceProvider {
}
}
- protected static interface BeanCreator {
+ protected interface BeanCreator {
Object create();
void release();
@@ -284,18 +286,25 @@ public abstract class CdiResourceProvider implements ResourceProvider {
@Override
public Object create() {
try {
- toClean = bm.createCreationalContext(bean);
- return bm.getReference(bean, bean.getBeanClass(), toClean);
+ if (null != bean) {
+ toClean = bm.createCreationalContext(bean);
+ return bm.getReference(bean, bean.getBeanClass(), toClean);
+ } else {
+ throw new InjectionException("Bean is null for: " + clazz.getName());
+ }
} catch (final InjectionException ie) {
- final String msg = bean + " can not be instantiated";
+ final String msg = "Failed to instantiate: " + bean;
+ Logger.getInstance(LogCategory.OPENEJB_CDI, this.getClass()).error(msg, ie);
throw new WebApplicationException(Response.serverError().entity(msg).build());
}
}
@Override
public void release() {
- toClean.release();
- toClean = null;
+ if (null != toClean) {
+ toClean.release();
+ toClean = null;
+ }
}
}