cziegeler    02/05/02 05:09:21

  Modified:    lib/core avalon-excalibur-20020501.jar
               src/java/org/apache/cocoon cocoon.roles
               src/java/org/apache/cocoon/components/language/markup
                        Logicsheet.java
               src/java/org/apache/cocoon/components/xpath
                        XPathProcessor.java
               src/java/org/apache/cocoon/components/xscript
                        XScriptObject.java
               src/java/org/apache/cocoon/components/xslt
                        XSLTProcessorImpl.java
               src/java/org/apache/cocoon/transformation
                        TraxTransformer.java
               src/webapp/WEB-INF cocoon.xconf
  Log:
  Deprecating xslt processor and using excalibur version
  
  Revision  Changes    Path
  1.3       +308 -307  xml-cocoon2/lib/core/avalon-excalibur-20020501.jar
  
        <<Binary file>>
  
  
  1.24      +9 -3      xml-cocoon2/src/java/org/apache/cocoon/cocoon.roles
  
  Index: cocoon.roles
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/cocoon.roles,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- cocoon.roles      25 Apr 2002 09:30:48 -0000      1.23
  +++ cocoon.roles      2 May 2002 12:09:21 -0000       1.24
  @@ -21,9 +21,9 @@
           shorthand="entity-resolver"
           default-class="org.apache.cocoon.components.resolver.ResolverImpl"/>
   
  -  <role name="org.apache.cocoon.components.xslt.XSLTProcessor"
  -        shorthand="xslt-processor"
  -        default-class="org.apache.cocoon.components.xslt.XSLTProcessorImpl"/>
  +  <role name="org.apache.avalon.excalibur.xml.xslt.XSLTProcessor"
  +        shorthand="xslt-stylesheet-processor"
  +        default-class="org.apache.avalon.excalibur.xml.xslt.XSLTProcessorImpl"/>
   
     <role name="org.apache.avalon.excalibur.xml.xpath.XPathProcessor"
           shorthand="xpath-processor"
  @@ -221,9 +221,15 @@
           shorthand="url-factory"
           default-class="org.apache.cocoon.components.url.URLFactoryImpl"/>
   
  +  <!-- DEPRECATED, use the avalon excalibur source resolve instead -->
     <role name="org.apache.cocoon.components.source.SourceHandler"
           shorthand="source-handler"
           default-class="org.apache.cocoon.components.source.SourceHandlerImpl"/>
  +
  +  <!-- DEPRECATED, use the avalon excalibur xslt processor instead -->
  +  <role name="org.apache.cocoon.components.xslt.XSLTProcessor"
  +        shorthand="xslt-processor"
  +        default-class="org.apache.cocoon.components.xslt.XSLTProcessorImpl"/>
   
   
   </role-list>
  
  
  
  1.12      +7 -9      
xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/Logicsheet.java
  
  Index: Logicsheet.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/Logicsheet.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Logicsheet.java   29 Apr 2002 12:53:17 -0000      1.11
  +++ Logicsheet.java   2 May 2002 12:09:21 -0000       1.12
  @@ -54,7 +54,8 @@
   import org.apache.avalon.framework.component.ComponentManager;
   import org.apache.avalon.framework.logger.AbstractLoggable;
   
  -import org.apache.cocoon.components.xslt.XSLTProcessor;
  +import org.apache.avalon.excalibur.xml.xslt.XSLTProcessor;
  +import org.apache.avalon.excalibur.xml.xslt.XSLTProcessorException;
   import org.apache.excalibur.source.Source;
   import org.apache.excalibur.source.SourceException;
   import org.apache.excalibur.source.SourceResolver;
  @@ -81,10 +82,11 @@
    * language will be transformed into an equivalent XSLT stylesheet
    * anyway... This class should probably be based on an interface...
    *
  + * @deprecated Use the avalon excalibur xslt processor instead.
    * @author <a href="mailto:[EMAIL PROTECTED]";>Ricardo Rocha</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Davanum Srinivas</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Ovidiu Predescu</a>
  - * @version CVS $Id: Logicsheet.java,v 1.11 2002/04/29 12:53:17 cziegeler Exp $
  + * @version CVS $Id: Logicsheet.java,v 1.12 2002/05/02 12:09:21 cziegeler Exp $
    */
   public class Logicsheet extends AbstractLoggable
   {
  @@ -165,13 +167,7 @@
               // the old template object. If the Source is unchanged, the
               // namespaces are not modified either.
               XMLFilter saveNSFilter = new SaveNamespaceFilter(namespaceURIs);
  -            // FIXME: The wrapping will disappear as soon as we use excaliburs xslt 
processor
  -            Object[] env = 
org.apache.cocoon.components.CocoonComponentManager.getCurrentEnvironment();
  -            return xsltProcessor.getTransformerHandler(
  -               new 
org.apache.cocoon.components.source.impl.AvalonToCocoonSource(source,
  -                                                                                 
this.resolver,
  -                                                                                 
(org.apache.cocoon.environment.Environment)env[0]),
  -               saveNSFilter);
  +            return xsltProcessor.getTransformerHandler(source, saveNSFilter);
   
           } catch (ComponentException e) {
               throw new ProcessingException("Could not obtain XSLT processor", e);
  @@ -181,6 +177,8 @@
               throw new ProcessingException("Could not resolve " + this.systemId, e);
           } catch (SourceException e) {
               throw new ProcessingException("Could not resolve " + this.systemId, e);
  +        } catch (XSLTProcessorException e) {
  +            throw new ProcessingException("Could not transform " + this.systemId, 
e);
           } finally {
               this.manager.release(xsltProcessor);
               // Release used resources
  
  
  
  1.7       +2 -2      
xml-cocoon2/src/java/org/apache/cocoon/components/xpath/XPathProcessor.java
  
  Index: XPathProcessor.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/xpath/XPathProcessor.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XPathProcessor.java       13 Mar 2002 16:28:02 -0000      1.6
  +++ XPathProcessor.java       2 May 2002 12:09:21 -0000       1.7
  @@ -59,12 +59,12 @@
    *
    * @deprecated Use the org.apache.avalon.excalibur.xml.xpath.XPathProcessor instead.
    * @author <a href="mailto:[EMAIL PROTECTED]";>Davanum Srinivas</a>
  - * @version CVS $Id: XPathProcessor.java,v 1.6 2002/03/13 16:28:02 cziegeler Exp $
  + * @version CVS $Id: XPathProcessor.java,v 1.7 2002/05/02 12:09:21 cziegeler Exp $
    */
   public interface XPathProcessor
   extends Component {
       /**
  -     * The role implemented by an <code>XSLTProcessor</code>.
  +     * The role implemented by an <code>XPathProcessor</code>.
        */
       String ROLE = "org.apache.cocoon.components.xpath.XPathProcessor";
   
  
  
  
  1.9       +13 -8     
xml-cocoon2/src/java/org/apache/cocoon/components/xscript/XScriptObject.java
  
  Index: XScriptObject.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/xscript/XScriptObject.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- XScriptObject.java        14 Apr 2002 00:45:29 -0000      1.8
  +++ XScriptObject.java        2 May 2002 12:09:21 -0000       1.9
  @@ -58,10 +58,11 @@
   import org.xml.sax.SAXException;
   import org.xml.sax.InputSource;
   import org.xml.sax.ContentHandler;
  -import org.apache.cocoon.xml.EmbeddedXMLPipe;
  -import org.apache.cocoon.environment.Source;
  -import org.apache.cocoon.components.xslt.XSLTProcessor;
   import org.apache.cocoon.ProcessingException;
  +import org.apache.cocoon.environment.Source;
  +import org.apache.cocoon.xml.EmbeddedXMLPipe;
  +import org.apache.avalon.excalibur.xml.xslt.XSLTProcessor;
  +import org.apache.avalon.excalibur.xml.xslt.XSLTProcessorException;
   import org.apache.avalon.excalibur.xml.Parser;
   import org.apache.avalon.framework.parameters.Parameters;
   import org.apache.avalon.framework.component.ComponentManager;
  @@ -74,7 +75,7 @@
    * Source object.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Ovidiu Predescu</a>
  - * @version CVS $Id: XScriptObject.java,v 1.8 2002/04/14 00:45:29 vgritsenko Exp $
  + * @version CVS $Id: XScriptObject.java,v 1.9 2002/05/02 12:09:21 cziegeler Exp $
    * @since August  4, 2001
    */
   public abstract class XScriptObject implements Source, Composable
  @@ -132,14 +133,18 @@
         XSLTProcessor transformer
           = (XSLTProcessor)componentManager.lookup(XSLTProcessor.ROLE);
   
  -      transformer.transform(this, stylesheet, params, result);
  +      transformer.transform(new 
org.apache.cocoon.components.source.impl.CocoonToAvalonSource(this),
  +                            new 
org.apache.cocoon.components.source.impl.CocoonToAvalonSource(stylesheet),
  +                            params,
  +                            result);
   
         componentManager.release(transformer);
   
         return new XScriptObjectResult(xscriptManager, writer.toString());
  -    }
  -    catch (ComponentException ex) {
  -      throw new ProcessingException(ex);
  +    } catch (XSLTProcessorException ex) {
  +        throw new ProcessingException(ex);
  +    } catch (ComponentException ex) {
  +        throw new ProcessingException(ex);
       }
     }
   
  
  
  
  1.22      +2 -1      
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.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- XSLTProcessorImpl.java    29 Apr 2002 10:52:52 -0000      1.21
  +++ XSLTProcessorImpl.java    2 May 2002 12:09:21 -0000       1.22
  @@ -112,9 +112,10 @@
    * classpath. If this property is not set, the transformer uses the standard TRAX 
mechanism
    * (<code>TransformerFactory.newInstance()</code>).
    *
  + * @deprecated Use the avalon excalibur xslt processor instead.
    * @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.21 2002/04/29 10:52:52 cziegeler 
Exp $
  + * @version CVS $Id: XSLTProcessorImpl.java,v 1.22 2002/05/02 12:09:21 cziegeler 
Exp $
    * @version 1.0
    * @since   July 11, 2001
    */
  
  
  
  1.26      +26 -12    
xml-cocoon2/src/java/org/apache/cocoon/transformation/TraxTransformer.java
  
  Index: TraxTransformer.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/transformation/TraxTransformer.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- TraxTransformer.java      29 Apr 2002 10:52:52 -0000      1.25
  +++ TraxTransformer.java      2 May 2002 12:09:21 -0000       1.26
  @@ -50,6 +50,10 @@
   */
   package org.apache.cocoon.transformation;
   
  +import org.apache.excalibur.source.Source;
  +import org.apache.excalibur.source.SourceException;
  +import org.apache.avalon.excalibur.xml.xslt.XSLTProcessor;
  +import org.apache.avalon.excalibur.xml.xslt.XSLTProcessorException;
   import org.apache.avalon.framework.activity.Disposable;
   import org.apache.avalon.framework.component.ComponentException;
   import org.apache.avalon.framework.component.ComponentManager;
  @@ -63,15 +67,13 @@
   import org.apache.cocoon.ProcessingException;
   import org.apache.cocoon.caching.CacheValidity;
   import org.apache.cocoon.caching.Cacheable;
  -import org.apache.cocoon.caching.TimeStampCacheValidity;
  +import org.apache.cocoon.caching.SourceCacheValidity;
   import org.apache.cocoon.components.browser.Browser;
  -import org.apache.cocoon.components.xslt.XSLTProcessor;
   import org.apache.cocoon.components.deli.Deli;
   import org.apache.cocoon.environment.Session;
   import org.apache.cocoon.environment.Cookie;
   import org.apache.cocoon.environment.ObjectModelHelper;
   import org.apache.cocoon.environment.Request;
  -import org.apache.cocoon.environment.Source;
   import org.apache.cocoon.environment.SourceResolver;
   import org.apache.cocoon.util.HashUtil;
   import org.apache.cocoon.xml.XMLConsumer;
  @@ -157,7 +159,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Ovidiu Predescu</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Mark H. Butler</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stefano Mazzocchi</a>
  - * @version CVS $Id: TraxTransformer.java,v 1.25 2002/04/29 10:52:52 cziegeler Exp $
  + * @version CVS $Id: TraxTransformer.java,v 1.26 2002/05/02 12:09:21 cziegeler Exp $
    */
   public class TraxTransformer extends AbstractTransformer
   implements Transformer, Composable, Configurable, Cacheable, Disposable {
  @@ -198,6 +200,8 @@
       private Parameters par;
       /** The object model */
       private Map objectModel;
  +    /** The source resolver */
  +    private SourceResolver resolver;
   
       /** The XSLTProcessor */
       private XSLTProcessor xsltProcessor;
  @@ -298,18 +302,27 @@
   
           this.par = par;
           this.objectModel = objectModel;
  -        this.inputSource = resolver.resolve(src);
  +        this.resolver = resolver;
  +        try {
  +            this.inputSource = resolver.resolveURI(src);
  +        } catch (SourceException se) {
  +            throw new ProcessingException("Unable to resolve " + src, se);
  +        }
           _useParameters = par.getParameterAsBoolean("use-request-parameters", 
this.useParameters);
           _useBrowserCap = par.getParameterAsBoolean("use-browser-capabilities-db", 
this.useBrowserCap);
           _useCookies = par.getParameterAsBoolean("use-cookies", this.useCookies);
           _useSessionInfo = par.getParameterAsBoolean("use-session-info", 
this.useSessionInfo);
   
           if (this.getLogger().isDebugEnabled()) {
  -            this.getLogger().debug("Using stylesheet: '" + 
this.inputSource.getSystemId() + "' in " + this + ", last modified: " + 
this.inputSource.getLastModified());
  +            this.getLogger().debug("Using stylesheet: '" + 
this.inputSource.getSystemId() + "' in " + this);
           }
   
           /** Get a Transformer Handler */
  -        this.transformerHandler = 
this.xsltProcessor.getTransformerHandler(inputSource, null);
  +        try {
  +            this.transformerHandler = 
this.xsltProcessor.getTransformerHandler(inputSource, null);
  +        } catch (XSLTProcessorException se) {
  +            throw new ProcessingException("Unable to get transformer handler for " 
+ src, se);
  +        }
       }
   
       /**
  @@ -319,7 +332,7 @@
        * @return The generated key hashes the src
        */
       public long generateKey() {
  -        if (this.inputSource.getLastModified() != 0) {
  +        if (this.inputSource.getValidity() != null) {
               HashMap map = getLogicSheetParameters();
               if (map == null) {
                   return HashUtil.hash(this.inputSource.getSystemId());
  @@ -353,8 +366,8 @@
           * (if parameter added/removed or value changed, key should
           * change also), only stylesheet's modified time is included.
           */
  -        if (this.inputSource.getLastModified() != 0) {
  -            return new TimeStampCacheValidity(this.inputSource.getLastModified());
  +        if (this.inputSource.getValidity() != null) {
  +            return new SourceCacheValidity(this.inputSource.getValidity());
           }
           return null;
       }
  @@ -559,9 +572,10 @@
           this.transformerHandler = null;
           this.objectModel = null;
           if (this.inputSource != null) {
  -          this.inputSource.recycle();
  -          this.inputSource = null;
  +            this.resolver.release(this.inputSource);
  +            this.inputSource = null;
           }
  +        this.resolver = null;
           this.par = null;
           if (this.finishedDocument == false) {
               try {
  
  
  
  1.14      +7 -8      xml-cocoon2/src/webapp/WEB-INF/cocoon.xconf
  
  Index: cocoon.xconf
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/WEB-INF/cocoon.xconf,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- cocoon.xconf      26 Apr 2002 12:35:40 -0000      1.13
  +++ cocoon.xconf      2 May 2002 12:09:21 -0000       1.14
  @@ -113,8 +113,7 @@
       Freememory should be greater than amount of memory necessary for normal 
       application operation.
     -->
  -  <store-janitor class="org.apache.cocoon.components.store.StoreJanitorImpl"
  -                 logger="core.store.janitor">
  +  <store-janitor logger="core.store.janitor">
        <!-- How much free memory shall be available in the jvm -->                 
        <parameter name="freememory" value="1000000"/>
        <!-- Indicates the limit of the jvm memory consumption. The default max 
  @@ -131,13 +130,13 @@
     <!-- ============================ STORE END ========================= -->
   
     <!-- XSLT Processor:
  -    For Xalan: Turn 'incremental-processing' to true if you want a continous output 
(if set to false the transformer 
  -    delivers SAX events after all transformations has been done). -->
  -  <xslt-processor class="org.apache.cocoon.components.xslt.XSLTProcessorImpl"
  -                  logger="core.xslt-processor">
  -     <parameter name="use-store" value="true"/>
  +    For Xalan: Turn 'incremental-processing' to true if you want a continous output 
  +    (if set to false the transformer delivers SAX events after all transformations 
has been done). 
  +  -->
  +  <xslt-stylesheet-processor logger="core.xslt-processor">
  +     <parameter name="use-store" value="false"/> <!-- Setting this to true will 
crash Cocoon for now! -->
        <parameter name="incremental-processing" value="true"/>
  -  </xslt-processor>
  +  </xslt-stylesheet-processor>
   
     <!-- Xpath Processor:
     -->
  
  
  

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