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
45 public class MyFacesContextFactoryImpl extends FacesContextFactory {
46
47 public FacesContext getFacesContext(
48 Object context, Object request, Object response,
49 Lifecycle lifecycle)
50 throws FacesException {
51
52 if (context == null) {
53 throw new NullPointerException("context");
54 }
55
56 if (request == null) {
57 throw new NullPointerException("request");
58 }
59
60 if (response == null) {
61 throw new NullPointerException("response");
62 }
63
64 if (lifecycle == null) {
65 throw new NullPointerException("lifecycle");
66 }
67
68 if (context instanceof ServletContext) {
69 return new ServletFacesContextImpl(
70 (ServletContext)context,
71 (ServletRequest)request,
72 (ServletResponse)response);
73 }
74
75 if (context instanceof PortletContext) {
76 return new MyFacesContextImpl(
77 (PortletContext)context, (PortletRequest)request,
78 (PortletResponse)response);
79 }
80
81 throw new FacesException(
82 "Unsupported context type " + getClass().getName());
83 }
84
85 }