View Javadoc

1   package fr.in2p3.jsaga.helpers.xslt;
2   
3   import org.apache.log4j.Logger;
4   
5   import javax.xml.transform.ErrorListener;
6   import javax.xml.transform.TransformerException;
7   
8   /* ***************************************************
9   * *** Centre de Calcul de l'IN2P3 - Lyon (France) ***
10  * ***             http://cc.in2p3.fr/             ***
11  * ***************************************************
12  * File:   XSLLogger
13  * Author: Sylvain Reynaud (sreynaud@in2p3.fr)
14  * Date:   17 dec. 2007
15  * ***************************************************
16  * Description:                                      */
17  /**
18   *
19   */
20  public class XSLLogger implements ErrorListener {
21      private static Logger s_logger = Logger.getLogger(XSLLogger.class);
22      private TransformerException m_cause;
23  
24      /** invoked when <xsl:message terminate="no"/> */
25      public void warning(TransformerException exception) throws TransformerException {
26          m_cause = exception;
27          s_logger.info(exception.getMessageAndLocation());
28          throw exception;
29      }
30  
31      /** invoked when <xsl:message terminate="yes"/> */
32      public void error(TransformerException exception) throws TransformerException {
33          s_logger.error(exception.getMessageAndLocation());
34          throw exception;
35      }
36  
37      /** explicitely invoked by XSLTransformer */
38      public void fatalError(TransformerException exception) throws TransformerException {
39          if (m_cause != null) {
40              throw m_cause;
41          } else {
42              throw exception;
43          }
44      }
45  }