cziegeler    01/07/17 08:24:39

  Modified:    src/org/apache/cocoon/transformation Tag: cocoon_20_branch
                        TraxTransformer.java
  Log:
  Fixed serious bug in the TraxTransformer: The lexical handler was
  never set!
  
  Please check if this new version is working properly, so that
  we don't get any problems for the upcoming beta2.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.15.2.10 +7 -33     
xml-cocoon2/src/org/apache/cocoon/transformation/TraxTransformer.java
  
  Index: TraxTransformer.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/transformation/TraxTransformer.java,v
  retrieving revision 1.15.2.9
  retrieving revision 1.15.2.10
  diff -u -r1.15.2.9 -r1.15.2.10
  --- TraxTransformer.java      2001/07/13 13:39:58     1.15.2.9
  +++ TraxTransformer.java      2001/07/17 15:24:33     1.15.2.10
  @@ -100,13 +100,11 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Davanum Srinivas</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Carsten Ziegeler</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Giacomo Pati</a>
  - * @version CVS $Id: TraxTransformer.java,v 1.15.2.9 2001/07/13 13:39:58 dims Exp $
  + * @version CVS $Id: TraxTransformer.java,v 1.15.2.10 2001/07/17 15:24:33 cziegeler 
Exp $
    */
  -public class TraxTransformer extends ContentHandlerWrapper
  +public class TraxTransformer extends AbstractTransformer
   implements Transformer, Composable, Recyclable, Configurable, Cacheable, 
Disposable, URIResolver {
   
  -    private static final String FILE = "file:";
  -
       /** The store service instance */
       private Store store = null;
   
  @@ -412,9 +410,6 @@
   
       /**
        * Set the <code>XMLConsumer</code> that will receive XML data.
  -     * <br>
  -     * This method will simply call <code>setContentHandler(consumer)</code>
  -     * and <code>setLexicalHandler(consumer)</code>.
        */
       public void setConsumer(XMLConsumer consumer) {
   
  @@ -445,13 +440,15 @@
           }
   
           super.setContentHandler(transformerHandler);
  +        super.setLexicalHandler(transformerHandler);
  +
           if(transformerHandler instanceof Loggable) {
               ((Loggable)transformerHandler).setLogger(getLogger());
           }
           // According to TrAX specs, all TransformerHandlers are LexicalHandlers
  -        this.setLexicalHandler(transformerHandler);
  -
  -        this.setContentHandler(consumer);
  +        SAXResult result = new SAXResult(consumer);
  +        result.setLexicalHandler(consumer);
  +        transformerHandler.setResult(result);
       }
   
       private HashMap getLogicSheetParameters() {
  @@ -547,29 +544,6 @@
           }
   
           return map;
  -    }
  -
  -    /**
  -     * Set the <code>ContentHandler</code> that will receive XML data.
  -     * <br>
  -     * Subclasses may retrieve this <code>ContentHandler</code> instance
  -     * accessing the protected <code>super.contentHandler</code> field.
  -     */
  -    public void setContentHandler(ContentHandler content) {
  -        transformerHandler.setResult(new SAXResult(content));
  -    }
  -
  -    /**
  -     * Set the <code>LexicalHandler</code> that will receive XML data.
  -     * <br>
  -     * Subclasses may retrieve this <code>LexicalHandler</code> instance
  -     * accessing the protected <code>super.lexicalHandler</code> field.
  -     *
  -     * @exception IllegalStateException If the <code>LexicalHandler</code> or
  -     *                                  the <code>XMLConsumer</code> were
  -     *                                  already set.
  -     */
  -    public void setLexicalHandler(LexicalHandler lexical) {
       }
   
       // FIXME (SM): this method may be a hotspot for requests with many
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to