You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2010/07/15 13:17:02 UTC
svn commit: r964387 - in /myfaces/extensions/cdi/trunk:
core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/utils/
jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/listener/phase/
Author: gpetracek
Date: Thu Jul 15 11:17:02 2010
New Revision: 964387
URL: http://svn.apache.org/viewvc?rev=964387&view=rev
Log:
minor refactoring
Modified:
myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/utils/CodiUtils.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/listener/phase/JsfRequestLifecyclePhaseListener.java
Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/utils/CodiUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/utils/CodiUtils.java?rev=964387&r1=964386&r2=964387&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/utils/CodiUtils.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/utils/CodiUtils.java Thu Jul 15 11:17:02 2010
@@ -28,6 +28,7 @@ import javax.enterprise.inject.spi.BeanM
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
+import java.util.Set;
/**
* This is a collection of a few useful static helper functions.
@@ -48,6 +49,19 @@ public class CodiUtils
return bean.create(creationalContext);
}
+ public static <T> T getOrCreateScopedInstanceOfBeanByName(String beanName, Class<T> targetClass)
+ {
+ Set<Bean<?>> foundBeans = BeanManagerProvider.getInstance().getBeanManager().getBeans(beanName);
+
+ if(foundBeans.size() != 1)
+ {
+ throw new IllegalStateException(foundBeans.size() + " beans found for type: " + targetClass.getName());
+ }
+
+ //noinspection unchecked
+ return (T)getOrCreateScopedInstanceOfBean(foundBeans.iterator().next());
+ }
+
public static <T> T getOrCreateScopedInstanceOfBean(Bean<T> bean)
{
BeanManager beanManager = BeanManagerProvider.getInstance().getBeanManager();
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/listener/phase/JsfRequestLifecyclePhaseListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/listener/phase/JsfRequestLifecyclePhaseListener.java?rev=964387&r1=964386&r2=964387&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/listener/phase/JsfRequestLifecyclePhaseListener.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/listener/phase/JsfRequestLifecyclePhaseListener.java Thu Jul 15 11:17:02 2010
@@ -19,8 +19,8 @@
package org.apache.myfaces.extensions.cdi.javaee.jsf.impl.listener.phase;
import org.apache.myfaces.extensions.cdi.javaee.jsf.api.listener.phase.JsfPhaseListener;
+import static org.apache.myfaces.extensions.cdi.core.impl.utils.CodiUtils.getOrCreateScopedInstanceOfBeanByName;
-import javax.faces.context.FacesContext;
import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;
@@ -46,10 +46,9 @@ public class JsfRequestLifecyclePhaseLis
private JsfRequestLifecycleBroadcaster resolveBroadcaster()
{
- //cdi has to inject the event - TODO refactor it
- FacesContext facesContext = FacesContext.getCurrentInstance();
- return (JsfRequestLifecycleBroadcaster) facesContext.getApplication().getELResolver()
- .getValue(facesContext.getELContext(), null, JsfRequestLifecycleBroadcaster.BEAN_NAME);
+ //cdi has to inject the event
+ return getOrCreateScopedInstanceOfBeanByName(
+ JsfRequestLifecycleBroadcaster.BEAN_NAME, JsfRequestLifecycleBroadcaster.class);
}
public PhaseId getPhaseId()