You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by jo...@apache.org on 2014/08/06 04:22:05 UTC
git commit: DELTASPIKE-666 OWB and OEJB containers could throw
NullPointerExceptions
Repository: deltaspike
Updated Branches:
refs/heads/master d76094f6c -> d74c387d2
DELTASPIKE-666 OWB and OEJB containers could throw NullPointerExceptions
Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/d74c387d
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/d74c387d
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/d74c387d
Branch: refs/heads/master
Commit: d74c387d242fe960151462a6c534ec1e1aec614a
Parents: d76094f
Author: John D. Ament <jo...@apache.org>
Authored: Tue Aug 5 22:21:56 2014 -0400
Committer: John D. Ament <jo...@apache.org>
Committed: Tue Aug 5 22:21:56 2014 -0400
----------------------------------------------------------------------
.../cdise/openejb/OpenEjbContainerControl.java | 20 +++++++++++++++++---
.../cdise/owb/OpenWebBeansContainerControl.java | 4 +---
2 files changed, 18 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/d74c387d/deltaspike/cdictrl/impl-openejb/src/main/java/org/apache/deltaspike/cdise/openejb/OpenEjbContainerControl.java
----------------------------------------------------------------------
diff --git a/deltaspike/cdictrl/impl-openejb/src/main/java/org/apache/deltaspike/cdise/openejb/OpenEjbContainerControl.java b/deltaspike/cdictrl/impl-openejb/src/main/java/org/apache/deltaspike/cdise/openejb/OpenEjbContainerControl.java
index 5c8f80d..1f5382f 100644
--- a/deltaspike/cdictrl/impl-openejb/src/main/java/org/apache/deltaspike/cdise/openejb/OpenEjbContainerControl.java
+++ b/deltaspike/cdictrl/impl-openejb/src/main/java/org/apache/deltaspike/cdise/openejb/OpenEjbContainerControl.java
@@ -143,9 +143,23 @@ public class OpenEjbContainerControl implements CdiContainer
{
if (ctxCtrl == null)
{
- Set<Bean<?>> beans = getBeanManager().getBeans(ContextControl.class);
- ctxCtrlBean = (Bean<ContextControl>) getBeanManager().resolve(beans);
- ctxCtrlCreationalContext = getBeanManager().createCreationalContext(ctxCtrlBean);
+ BeanManager beanManager = getBeanManager();
+
+ if (beanManager == null)
+ {
+ LOG.warning("If the CDI-container was started by the environment, you can't use this helper." +
+ "Instead you can resolve ContextControl manually " +
+ "(e.g. via BeanProvider.getContextualReference(ContextControl.class) ). " +
+ "If the container wasn't started already, you have to use CdiContainer#boot before.");
+
+ return null;
+ }
+ Set<Bean<?>> beans = beanManager.getBeans(ContextControl.class);
+ ctxCtrlBean = (Bean<ContextControl>) beanManager.resolve(beans);
+
+ ctxCtrlCreationalContext = getBeanManager()
+ .createCreationalContext(ctxCtrlBean);
+
ctxCtrl = (ContextControl)
getBeanManager().getReference(ctxCtrlBean, ContextControl.class, ctxCtrlCreationalContext);
}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/d74c387d/deltaspike/cdictrl/impl-owb/src/main/java/org/apache/deltaspike/cdise/owb/OpenWebBeansContainerControl.java
----------------------------------------------------------------------
diff --git a/deltaspike/cdictrl/impl-owb/src/main/java/org/apache/deltaspike/cdise/owb/OpenWebBeansContainerControl.java b/deltaspike/cdictrl/impl-owb/src/main/java/org/apache/deltaspike/cdise/owb/OpenWebBeansContainerControl.java
index 0b11cb3..6b7fe48 100644
--- a/deltaspike/cdictrl/impl-owb/src/main/java/org/apache/deltaspike/cdise/owb/OpenWebBeansContainerControl.java
+++ b/deltaspike/cdictrl/impl-owb/src/main/java/org/apache/deltaspike/cdise/owb/OpenWebBeansContainerControl.java
@@ -101,8 +101,6 @@ public class OpenWebBeansContainerControl implements CdiContainer
{
if (ctxCtrl == null)
{
- Set<Bean<?>> beans = getBeanManager().getBeans(ContextControl.class);
-
BeanManager beanManager = getBeanManager();
if (beanManager == null)
@@ -114,7 +112,7 @@ public class OpenWebBeansContainerControl implements CdiContainer
return null;
}
-
+ Set<Bean<?>> beans = beanManager.getBeans(ContextControl.class);
ctxCtrlBean = (Bean<ContextControl>) beanManager.resolve(beans);
ctxCtrlCreationalContext = getBeanManager().createCreationalContext(ctxCtrlBean);
ctxCtrl = (ContextControl)