View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.myfaces.application;
20  
21  import java.io.BufferedReader;
22  import java.io.IOException;
23  import java.io.UnsupportedEncodingException;
24  import java.lang.reflect.InvocationHandler;
25  import java.lang.reflect.Method;
26  import java.lang.reflect.Proxy;
27  import java.security.Principal;
28  import java.util.Collections;
29  import java.util.Enumeration;
30  import java.util.HashMap;
31  import java.util.Locale;
32  import java.util.Map;
33  
34  import javax.servlet.RequestDispatcher;
35  import javax.servlet.ServletInputStream;
36  import javax.servlet.ServletRequest;
37  import javax.servlet.http.Cookie;
38  import javax.servlet.http.HttpServletRequest;
39  import javax.servlet.http.HttpServletRequestWrapper;
40  import javax.servlet.http.HttpSession;
41  
42  /**
43   * @author Werner Punz (latest modification by $Author$)
44   * @version $Revision$ $Date$
45   *
46   * Dummy request for various system event listeners
47   *
48   * the problem with the system event listeners is that they
49   * are triggered often outside of an existing request
50   * hence we have to provide dummy objects
51   */
52  
53  
54  public class _SystemEventServletRequest extends HttpServletRequestWrapper
55  {
56  
57      Map<String, Object> _attributesMap = new HashMap<String, Object>();
58  
59      public _SystemEventServletRequest()
60      {
61          super((HttpServletRequest) Proxy.newProxyInstance(
62                  HttpServletRequest.class.getClassLoader(),
63                  new Class[]{HttpServletRequest.class},
64                  new InvocationHandler()
65                  {
66                      public Object invoke(Object proxy, Method m, Object[] args)
67                      {
68                          throw new UnsupportedOperationException("This request class is an empty placeholder");
69                      }
70                  }));
71      }
72  
73      public Object getAttribute(String s)
74      {
75          return _attributesMap.get(s);
76      }
77  
78      public void setAttribute(String s, Object o)
79      {
80          _attributesMap.put(s, o);
81      }
82  
83      public void removeAttribute(String s)
84      {
85          _attributesMap.remove(s);
86      }
87  
88      public String getServletPath()
89      {
90          return null;
91      }
92  
93      public String getPathInfo()
94      {
95          return null;
96      }
97  
98      @Override
99      public HttpSession getSession()
100     {
101         return null;
102     }
103 
104     @Override
105     public HttpSession getSession(boolean create)
106     {
107         return null;
108     }
109 
110     @Override
111     public int getContentLength()
112     {
113         return -1;
114     }
115 
116     @Override
117     public String getContentType()
118     {
119         return null;
120     }
121 
122     @Override
123     public String getCharacterEncoding()
124     {
125         return null;
126     }
127 
128     @Override
129     public String getHeader(String name)
130     {
131         return null;
132     }
133 
134     @Override
135     public Enumeration getHeaderNames()
136     {
137         return Collections.enumeration(Collections.emptyList());
138     }
139 
140     @Override
141     public Enumeration getHeaders(String name)
142     {
143         return Collections.enumeration(Collections.EMPTY_LIST);
144     }
145 
146     @Override
147     public Cookie[] getCookies()
148     {
149         return new Cookie[0];
150     }
151 
152     @Override
153     public String getAuthType()
154     {
155         return null;
156     }
157 
158     @Override
159     public String getContextPath()
160     {
161         return null;
162     }
163 
164     @Override
165     public long getDateHeader(String name)
166     {
167         return -1;
168     }
169 
170     @Override
171     public int getIntHeader(String name)
172     {
173         return -1;
174     }
175 
176     @Override
177     public String getMethod()
178     {
179         return null;
180     }
181 
182     @Override
183     public String getPathTranslated()
184     {
185         return null;
186     }
187 
188     @Override
189     public String getQueryString()
190     {
191         return null;
192     }
193 
194     @Override
195     public String getRemoteUser()
196     {
197         return null;
198     }
199 
200     @Override
201     public String getRequestedSessionId()
202     {
203         return null;
204     }
205 
206     @Override
207     public String getRequestURI()
208     {
209         return null;
210     }
211 
212     @Override
213     public StringBuffer getRequestURL()
214     {
215         return null;
216     }
217 
218     @Override
219     public Principal getUserPrincipal()
220     {
221         return null;
222     }
223 
224     @Override
225     public boolean isRequestedSessionIdFromCookie()
226     {
227         return false;
228     }
229 
230     @Override
231     public boolean isRequestedSessionIdFromUrl()
232     {
233         return false;
234     }
235 
236     @Override
237     public boolean isRequestedSessionIdFromURL()
238     {
239         return false;
240     }
241 
242     @Override
243     public boolean isRequestedSessionIdValid()
244     {
245         return false;
246     }
247 
248     @Override
249     public boolean isUserInRole(String role)
250     {
251         return false;
252     }
253 
254     @Override
255     public Enumeration getAttributeNames()
256     {
257         return Collections.enumeration(Collections.EMPTY_LIST);
258     }
259 
260     @Override
261     public ServletInputStream getInputStream() throws IOException
262     {
263         return null;
264     }
265 
266     @Override
267     public String getLocalAddr()
268     {
269         return null;
270     }
271 
272     @Override
273     public Locale getLocale()
274     {
275         return null;
276     }
277 
278     @Override
279     public Enumeration getLocales()
280     {
281         return Collections.enumeration(Collections.emptyList());
282     }
283 
284     @Override
285     public String getLocalName()
286     {
287         return null;
288     }
289 
290     @Override
291     public int getLocalPort()
292     {
293         return -1;
294     }
295 
296     @Override
297     public String getParameter(String name)
298     {
299         return null;
300     }
301 
302     @Override
303     public Map getParameterMap()
304     {
305         return Collections.emptyMap();
306     }
307 
308     @Override
309     public Enumeration getParameterNames()
310     {
311         return Collections.enumeration(Collections.emptyList());
312     }
313 
314     @Override
315     public String[] getParameterValues(String name)
316     {
317         return new String[0];
318     }
319 
320     @Override
321     public String getProtocol()
322     {
323         return null;
324     }
325 
326     @Override
327     public BufferedReader getReader() throws IOException
328     {
329         return null;
330     }
331 
332     @Override
333     public String getRealPath(String path)
334     {
335         return null;
336     }
337 
338     @Override
339     public String getRemoteAddr()
340     {
341         return null;
342     }
343 
344     @Override
345     public String getRemoteHost()
346     {
347         return null;
348     }
349 
350     @Override
351     public int getRemotePort()
352     {
353         return -1;
354     }
355 
356     @Override
357     public ServletRequest getRequest()
358     {
359         return null;
360     }
361 
362     @Override
363     public RequestDispatcher getRequestDispatcher(String path)
364     {
365         return null;
366     }
367 
368     @Override
369     public String getScheme()
370     {
371         return null;
372     }
373 
374     @Override
375     public String getServerName()
376     {
377         return null;
378     }
379 
380     @Override
381     public int getServerPort()
382     {
383         return -1;
384     }
385 
386     @Override
387     public boolean isSecure()
388     {
389         return false;
390     }
391 
392     @Override
393     public void setCharacterEncoding(String enc)
394             throws UnsupportedEncodingException
395     {
396     }
397 
398     @Override
399     public void setRequest(ServletRequest request)
400     {
401     }
402 }