1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.scxml.env;
19
20 import org.apache.commons.logging.Log;
21 import org.apache.commons.logging.LogFactory;
22
23 import org.xml.sax.ErrorHandler;
24 import org.xml.sax.SAXParseException;
25
26 /***
27 * Custom error handler that logs the parsing errors in the
28 * SCXML document.
29 */
30 public class SimpleErrorHandler implements ErrorHandler {
31
32 /*** Message prefix. */
33 private static final String MSG_PREFIX = "SCXML SAX Parsing: ";
34 /*** Message postfix. */
35 private static final String MSG_POSTFIX = " Correct the SCXML document.";
36
37 /*** Log. */
38 private Log log = LogFactory.getLog(getClass());
39
40 /***
41 * Constructor.
42 */
43 public SimpleErrorHandler() {
44 super();
45 }
46
47 /***
48 * @see ErrorHandler#error(SAXParseException)
49 */
50 public void error(final SAXParseException exception) {
51 if (log.isErrorEnabled()) {
52 log.error(MSG_PREFIX + exception.getMessage() + MSG_POSTFIX,
53 exception);
54 }
55 }
56
57 /***
58 * @see ErrorHandler#fatalError(SAXParseException)
59 */
60 public void fatalError(final SAXParseException exception) {
61 if (log.isFatalEnabled()) {
62 log.fatal(MSG_PREFIX + exception.getMessage() + MSG_POSTFIX,
63 exception);
64 }
65 }
66
67 /***
68 * @see ErrorHandler#warning(SAXParseException)
69 */
70 public void warning(final SAXParseException exception) {
71 if (log.isWarnEnabled()) {
72 log.warn(MSG_PREFIX + exception.getMessage() + MSG_POSTFIX,
73 exception);
74 }
75 }
76 }
77