Author: pete.muir(a)jboss.org
Date: 2009-09-23 14:21:14 -0400 (Wed, 23 Sep 2009)
New Revision: 3767
Modified:
extensions/trunk/servlet/int/src/main/java/org/jboss/webbeans/environment/servlet/Listener.java
extensions/trunk/servlet/int/src/main/java/org/jboss/webbeans/environment/servlet/jsf/WebBeansApplication.java
Log:
store bean manager in servlet context under better name, don't assume JSP is
available
Modified:
extensions/trunk/servlet/int/src/main/java/org/jboss/webbeans/environment/servlet/Listener.java
===================================================================
---
extensions/trunk/servlet/int/src/main/java/org/jboss/webbeans/environment/servlet/Listener.java 2009-09-23
18:20:18 UTC (rev 3766)
+++
extensions/trunk/servlet/int/src/main/java/org/jboss/webbeans/environment/servlet/Listener.java 2009-09-23
18:21:14 UTC (rev 3767)
@@ -17,6 +17,7 @@
package org.jboss.webbeans.environment.servlet;
import javax.el.ELContextListener;
+import javax.enterprise.inject.spi.BeanManager;
import javax.servlet.ServletContextEvent;
import javax.servlet.jsp.JspApplicationContext;
import javax.servlet.jsp.JspFactory;
@@ -133,19 +134,22 @@
}
// Push the manager into the servlet context so we can access in JSF
- sce.getServletContext().setAttribute(WebBeansManager.class.getName(), manager);
+ sce.getServletContext().setAttribute(BeanManager.class.getName(), manager);
- JspApplicationContext jspApplicationContext =
JspFactory.getDefaultFactory().getJspApplicationContext(sce.getServletContext());
+ if (JspFactory.getDefaultFactory() != null)
+ {
+ JspApplicationContext jspApplicationContext =
JspFactory.getDefaultFactory().getJspApplicationContext(sce.getServletContext());
+
+ // Register the ELResolver with JSP
+ jspApplicationContext.addELResolver(manager.getELResolver());
+
+ // Register ELContextListener with JSP
+
jspApplicationContext.addELContextListener(Reflections.<ELContextListener>newInstance("org.jboss.webbeans.el.WebBeansELContextListener"));
+
+ // Push the wrapped expression factory into the servlet context so that Tomcat
or Jetty can hook it in using a container code
+ sce.getServletContext().setAttribute(EXPRESSION_FACTORY_NAME,
manager.wrapExpressionFactory(jspApplicationContext.getExpressionFactory()));
+ }
- // Register the ELResolver with JSP
- jspApplicationContext.addELResolver(manager.getELResolver());
-
- // Register ELContextListener with JSP
-
jspApplicationContext.addELContextListener(Reflections.<ELContextListener>newInstance("org.jboss.webbeans.el.WebBeansELContextListener"));
-
- // Push the wrapped expression factory into the servlet context so that Tomcat or
Jetty can hook it in using a container code
- sce.getServletContext().setAttribute(EXPRESSION_FACTORY_NAME,
manager.wrapExpressionFactory(jspApplicationContext.getExpressionFactory()));
-
bootstrap.deployBeans().validateBeans().endInitialization();
super.contextInitialized(sce);
}
Modified:
extensions/trunk/servlet/int/src/main/java/org/jboss/webbeans/environment/servlet/jsf/WebBeansApplication.java
===================================================================
---
extensions/trunk/servlet/int/src/main/java/org/jboss/webbeans/environment/servlet/jsf/WebBeansApplication.java 2009-09-23
18:20:18 UTC (rev 3766)
+++
extensions/trunk/servlet/int/src/main/java/org/jboss/webbeans/environment/servlet/jsf/WebBeansApplication.java 2009-09-23
18:21:14 UTC (rev 3767)
@@ -87,11 +87,11 @@
throw new IllegalStateException("Not in a servlet environment!");
}
ServletContext ctx = (ServletContext)
facesContext.getExternalContext().getContext();
- if (ctx.getAttribute(WebBeansManager.class.getName()) == null)
+ if (ctx.getAttribute(BeanManager.class.getName()) == null)
{
throw new IllegalStateException("BeanManager has not been pushed into the
ServletContext");
}
- return (WebBeansManager) ctx.getAttribute(WebBeansManager.class.getName());
+ return (WebBeansManager) ctx.getAttribute(BeanManager.class.getName());
}
}
Show replies by date