vgritsenko    02/04/13 17:39:28

  Modified:    src/java/org/apache/cocoon/components/xslt
                        XSLTProcessorImpl.java
  Log:
  Use Source.toSAX in transform()
  
  Revision  Changes    Path
  1.20      +18 -24    
xml-cocoon2/src/java/org/apache/cocoon/components/xslt/XSLTProcessorImpl.java
  
  Index: XSLTProcessorImpl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/xslt/XSLTProcessorImpl.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- XSLTProcessorImpl.java    10 Apr 2002 12:56:23 -0000      1.19
  +++ XSLTProcessorImpl.java    14 Apr 2002 00:39:28 -0000      1.20
  @@ -51,7 +51,6 @@
   package org.apache.cocoon.components.xslt;
   
   import org.apache.avalon.framework.activity.Disposable;
  -import org.apache.avalon.framework.component.Component;
   import org.apache.avalon.framework.component.ComponentException;
   import org.apache.avalon.framework.component.ComponentManager;
   import org.apache.avalon.framework.component.Composable;
  @@ -69,10 +68,8 @@
   import org.apache.cocoon.util.TraxErrorHandler;
   import org.xml.sax.InputSource;
   import org.xml.sax.XMLFilter;
  -import org.xml.sax.XMLReader;
   import org.xml.sax.ContentHandler;
   import org.xml.sax.SAXException;
  -import org.xml.sax.helpers.XMLReaderFactory;
   
   import javax.xml.transform.URIResolver;
   import javax.xml.transform.TransformerException;
  @@ -80,17 +77,13 @@
   import javax.xml.transform.Templates;
   import javax.xml.transform.Result;
   import javax.xml.transform.Transformer;
  -import javax.xml.transform.sax.SAXSource;
   import javax.xml.transform.sax.SAXTransformerFactory;
   import javax.xml.transform.sax.TemplatesHandler;
   import javax.xml.transform.sax.TransformerHandler;
  -import javax.xml.transform.stream.StreamResult;
   import javax.xml.transform.stream.StreamSource;
   import java.io.File;
   import java.io.InputStream;
   import java.io.IOException;
  -import java.io.StringWriter;
  -import java.io.Writer;
   import java.util.HashMap;
   
   /**
  @@ -119,7 +112,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Ovidiu Predescu</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stefano Mazzocchi</a>
  - * @version CVS $Id: XSLTProcessorImpl.java,v 1.19 2002/04/10 12:56:23 stefano Exp $
  + * @version CVS $Id: XSLTProcessorImpl.java,v 1.20 2002/04/14 00:39:28 vgritsenko 
Exp $
    * @version 1.0
    * @since   July 11, 2001
    */
  @@ -293,8 +286,8 @@
                       + ", result = " + result);
               }
               TransformerHandler handler = getTransformerHandler(stylesheet);
  -            Transformer transformer = handler.getTransformer();
   
  +            Transformer transformer = handler.getTransformer();
               if (params != null) {
                   transformer.clearParameters();
                   String[] names = params.getNames();
  @@ -302,15 +295,12 @@
                       transformer.setParameter(names[i], 
params.getParameter(names[i]));
                   }
               }
  -            InputSource is = source.getInputSource();
  -            InputStream bs = is.getByteStream();
  +
               this.getLogger().debug("XSLTProcessorImpl: starting transform");
               // FIXME (VG): Is it possible to use Source's toSAX method?
  -            try {
  -                transformer.transform(new StreamSource(bs, is.getSystemId()), 
result);
  -            } finally {
  -                bs.close();
  -            }
  +            handler.setResult(result);
  +            source.toSAX(handler);
  +
               this.getLogger().debug("XSLTProcessorImpl: transform done");
           } catch (Exception e) {
               throw new ProcessingException("Error in running Transformation", e);
  @@ -331,15 +321,18 @@
               try {
                   _factory = (SAXTransformerFactory) 
ClassUtils.loadClass(factoryName).newInstance();
               } catch (ClassNotFoundException cnfe) {
  -                this.getLogger().error("Cannot find the requested TrAX factory '" + 
factoryName + "'. Using default TrAX Transformer Factory instead.");
  +                getLogger().error("Cannot find the requested TrAX factory '" + 
factoryName
  +                        + "'. Using default TrAX Transformer Factory instead.");
                   if (this.factory != null) return this.factory;
                   _factory = (SAXTransformerFactory) TransformerFactory.newInstance();
               } catch (ClassCastException cce) {
  -                this.getLogger().error("The indicated class '" + factoryName + "' 
is not a TrAX Transformer Factory. Using default TrAX Transformer Factory instead.");
  +                getLogger().error("The indicated class '" + factoryName
  +                        + "' is not a TrAX Transformer Factory. Using default TrAX 
Transformer Factory instead.");
                   if (this.factory != null) return this.factory;
                   _factory = (SAXTransformerFactory) TransformerFactory.newInstance();
               } catch (Exception e) {
  -                this.getLogger().error("Error found loading the requested TrAX 
Transformer Factory '" + factoryName + "'. Using default TrAX Transformer Factory 
instead.");
  +                getLogger().error("Error found loading the requested TrAX 
Transformer Factory '"
  +                        + factoryName + "'. Using default TrAX Transformer Factory 
instead.");
                   if (this.factory != null) return this.factory;
                   _factory = (SAXTransformerFactory) TransformerFactory.newInstance();
               }
  @@ -351,7 +344,8 @@
           // FIXME (SM): implementation-specific parameter passing should be 
           // made more extensible.
           if 
(_factory.getClass().getName().equals("org.apache.xalan.processor.TransformerFactoryImpl"))
 {
  -            
_factory.setAttribute("http://xml.apache.org/xalan/features/incremental";, new Boolean 
(incrementalProcessing));
  +            
_factory.setAttribute("http://xml.apache.org/xalan/features/incremental";,
  +                    new Boolean (incrementalProcessing));
           }
           
           return _factory;
  @@ -359,10 +353,9 @@
   
       private Templates getTemplates(Source stylesheet, String id)
       throws IOException, ProcessingException {
  -        if (!useStore)
  +        if (!useStore) {
               return null;
  -
  -        getLogger().debug("XSLTProcessorImpl getTemplates: stylesheet " + id);
  +        }
   
           // we must augment the template ID with the factory classname since one
           // transformer implementation cannot handle the instances of a 
  @@ -395,8 +388,9 @@
   
       private void putTemplates (Templates templates, Source stylesheet, String id)
       throws IOException, ProcessingException {
  -        if (!useStore)
  +        if (!useStore) {
               return;
  +        }
   
           // we must augment the template ID with the factory classname since one
           // transformer implementation cannot handle the instances of a 
  
  
  

----------------------------------------------------------------------
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