2009/05/20 - Apache Shale has been retired.
For more information, please explore the Attic.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.shale.view.impl;
19
20 import java.util.ArrayList;
21 import java.util.List;
22 import javax.faces.context.FacesContext;
23 import org.apache.shale.view.ExceptionHandler;
24 import org.apache.shale.view.faces.FacesConstants;
25
26 /***
27 * <p>Default implementation of the {@link ExceptionHandler} interface.</p>
28 *
29 * $Id: ExceptionHandlerImpl.java 422609 2006-07-17 03:17:18Z craigmcc $
30 */
31 public class DefaultExceptionHandler implements ExceptionHandler {
32
33
34 /***
35 * <p>Log the specified exception, and record it in a request scoped
36 * <code>List</code> that can be used to report them all at a future
37 * point in time to report all of the accumulated exceptions.</p>
38 *
39 * @param exception Exception to be handled
40 */
41 public void handleException(Exception exception) {
42
43
44 FacesContext context = FacesContext.getCurrentInstance();
45 if (context != null) {
46 context.getExternalContext().log(exception.getMessage(), exception);
47 } else {
48 System.out.println(exception.getMessage());
49 exception.printStackTrace(System.out);
50 }
51
52
53
54
55 if (context == null) {
56 return;
57 }
58 List list = (List) context.getExternalContext().getRequestMap().
59 get(FacesConstants.EXCEPTIONS_LIST);
60 if (list == null) {
61 list = new ArrayList();
62 context.getExternalContext().getRequestMap().
63 put(FacesConstants.EXCEPTIONS_LIST, list);
64 }
65 list.add(exception);
66
67 }
68
69
70 }