1
22
23 package com.liferay.util.bridges.jsf.myfaces;
24
25 import javax.faces.FacesException;
26 import javax.faces.context.FacesContext;
27 import javax.faces.context.FacesContextFactory;
28 import javax.faces.lifecycle.Lifecycle;
29
30 import javax.portlet.PortletContext;
31 import javax.portlet.PortletRequest;
32 import javax.portlet.PortletResponse;
33
34 import javax.servlet.ServletContext;
35 import javax.servlet.ServletRequest;
36 import javax.servlet.ServletResponse;
37
38 import org.apache.myfaces.context.servlet.ServletFacesContextImpl;
39
40
46 public class MyFacesContextFactoryImpl extends FacesContextFactory {
47
48 public FacesContext getFacesContext(
49 Object context, Object request, Object response,
50 Lifecycle lifecycle)
51 throws FacesException {
52
53 if (context == null) {
54 throw new NullPointerException("context");
55 }
56
57 if (request == null) {
58 throw new NullPointerException("request");
59 }
60
61 if (response == null) {
62 throw new NullPointerException("response");
63 }
64
65 if (lifecycle == null) {
66 throw new NullPointerException("lifecycle");
67 }
68
69 if (context instanceof ServletContext) {
70 return new ServletFacesContextImpl(
71 (ServletContext)context,
72 (ServletRequest)request,
73 (ServletResponse)response);
74 }
75
76 if (context instanceof PortletContext) {
77 return new MyFacesContextImpl(
78 (PortletContext)context, (PortletRequest)request,
79 (PortletResponse)response);
80 }
81
82 throw new FacesException(
83 "Unsupported context type " + getClass().getName());
84 }
85
86 }