1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.struts2.jasper.compiler;
19
20 import org.apache.struts2.jasper.JasperException;
21
22 /***
23 * Default implementation of ErrorHandler interface.
24 *
25 * @author Jan Luehe
26 */
27 class DefaultErrorHandler implements ErrorHandler {
28
29
30
31
32
33
34
35
36
37
38 public void jspError(String fname, int line, int column, String errMsg,
39 Exception ex) throws JasperException {
40 throw new JasperException(fname + "(" + line + "," + column + ")"
41 + " " + errMsg, ex);
42 }
43
44
45
46
47
48
49
50 public void jspError(String errMsg, Exception ex) throws JasperException {
51 throw new JasperException(errMsg, ex);
52 }
53
54
55
56
57
58
59
60 public void javacError(JavacErrorDetail[] details) throws JasperException {
61
62 if (details == null) {
63 return;
64 }
65
66 Object[] args = null;
67 StringBuffer buf = new StringBuffer();
68
69 for (int i = 0; i < details.length; i++) {
70 buf.append("\n");
71 if (details[i].getJspBeginLineNumber() >= 0) {
72 args = new Object[]{
73 new Integer(details[i].getJspBeginLineNumber()),
74 details[i].getJspFileName()};
75 buf.append("\n");
76 buf.append(Localizer.getMessage("jsp.error.single.line.number",
77 args));
78 buf.append("\n");
79 buf.append(details[i].getErrorMessage());
80 buf.append("\n");
81 buf.append(details[i].getJspExtract());
82 } else {
83 args = new Object[]{
84 new Integer(details[i].getJavaLineNumber())};
85 buf.append("\n\n");
86 buf.append(Localizer.getMessage("jsp.error.java.line.number",
87 args));
88 buf.append("\n");
89 buf.append(details[i].getErrorMessage());
90 }
91 }
92 buf.append("\n\nStacktrace:");
93 throw new JasperException(Localizer.getMessage("jsp.error.unable.compile") + ": " + buf);
94 }
95
96 /***
97 * Processes the given javac error report and exception.
98 *
99 * @param errorReport Compilation error report
100 * @param exception Compilation exception
101 */
102 public void javacError(String errorReport, Exception exception)
103 throws JasperException {
104
105 throw new JasperException(
106 Localizer.getMessage("jsp.error.unable.compile"), exception);
107 }
108
109 }