1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.portals.bridges.jsf;
18
19 import javax.faces.FacesException;
20 import javax.faces.context.FacesContext;
21 import javax.faces.context.FacesContextFactory;
22 import javax.faces.lifecycle.Lifecycle;
23 import javax.portlet.PortletContext;
24 import javax.portlet.PortletRequest;
25 import javax.portlet.PortletResponse;
26 import javax.servlet.ServletContext;
27 import javax.servlet.ServletRequest;
28 import javax.servlet.ServletResponse;
29
30 /***
31 * <p>
32 * Loads the {@link PortletFacesContextImpl}
33 * </p>
34 *
35 * @author <a href="dlestrat@apache.org">David Le Strat </a>
36 */
37 public class FacesContextFactoryImpl extends FacesContextFactory
38 {
39 /***
40 * @see javax.faces.context.FacesContextFactory#getFacesContext(java.lang.Object,
41 * java.lang.Object, java.lang.Object, javax.faces.lifecycle.Lifecycle)
42 */
43 public FacesContext getFacesContext(Object context, Object request, Object response, Lifecycle lifecycle)
44 throws FacesException
45 {
46 if (context instanceof PortletContext)
47 {
48 return new PortletFacesContextImpl(
49 (PortletContext) context,
50 (PortletRequest) request,
51 (PortletResponse) response);
52 }
53 else if (context instanceof ServletContext)
54 {
55 return new ServletFacesContextImpl(
56 (ServletContext) context,
57 (ServletRequest) request,
58 (ServletResponse) response);
59 }
60 else
61 {
62 throw new FacesException("Unsupported context type " + context.getClass().getName());
63 }
64 }
65 }