cocoon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cziege...@apache.org
Subject svn commit: r366211 - in /cocoon: blocks/databases/trunk/java/org/apache/cocoon/transformation/ blocks/portal/trunk/java/org/apache/cocoon/portal/transformation/ blocks/profiler/trunk/java/org/apache/cocoon/components/profiler/ blocks/profiler/trunk/ja...
Date Thu, 05 Jan 2006 16:11:12 GMT
Author: cziegeler
Date: Thu Jan  5 08:02:33 2006
New Revision: 366211

URL: http://svn.apache.org/viewcvs?rev=366211&view=rev
Log:
XMLSerializer and XMLDeserializer are no longer managed components. Use the XMLByteStreamCompiler
and XMLByteStreamInterpreter classes directly.

Removed:
    cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLDeserializer.java
    cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLSerializer.java
Modified:
    cocoon/blocks/databases/trunk/java/org/apache/cocoon/transformation/SQLTransformer.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/transformation/RSSTransformer.java
    cocoon/blocks/profiler/trunk/java/org/apache/cocoon/components/profiler/ProfilingXMLPipe.java
    cocoon/blocks/profiler/trunk/java/org/apache/cocoon/generation/ProfilerGenerator.java
    cocoon/blocks/profiler/trunk/java/org/apache/cocoon/profiler/debugging/RemoteDebuggingSitemapExecutor.java
    cocoon/blocks/scratchpad/trunk/java/org/apache/cocoon/components/source/impl/CachingSource.java
    cocoon/blocks/taglib/trunk/java/org/apache/cocoon/transformation/TagTransformer.java
    cocoon/trunk/src/java/org/apache/cocoon/cocoon.roles
    cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/BaseCachingProcessingPipeline.java
    cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/CachingPointProcessingPipeline.java
    cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/CachingProcessingPipeline.java
    cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/ExpiresCachingProcessingPipeline.java
    cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLByteStreamCompiler.java
    cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLByteStreamInterpreter.java
    cocoon/trunk/src/java/org/apache/cocoon/generation/FragmentExtractorGenerator.java
    cocoon/trunk/src/java/org/apache/cocoon/transformation/CIncludeTransformer.java
    cocoon/trunk/src/java/org/apache/cocoon/transformation/FragmentExtractorTransformer.java
    cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers/DefaultIncludeCacheManager.java
    cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers/PreemptiveLoader.java
    cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers/PreemptiveLoaderAction.java
    cocoon/trunk/src/webapp/WEB-INF/xconf/cocoon-core.xconf
    cocoon/trunk/status.xml

Modified: cocoon/blocks/databases/trunk/java/org/apache/cocoon/transformation/SQLTransformer.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/databases/trunk/java/org/apache/cocoon/transformation/SQLTransformer.java?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/blocks/databases/trunk/java/org/apache/cocoon/transformation/SQLTransformer.java (original)
+++ cocoon/blocks/databases/trunk/java/org/apache/cocoon/transformation/SQLTransformer.java Thu Jan  5 08:02:33 2006
@@ -45,8 +45,8 @@
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.avalon.framework.service.ServiceSelector;
 import org.apache.cocoon.ProcessingException;
-import org.apache.cocoon.components.sax.XMLDeserializer;
-import org.apache.cocoon.components.sax.XMLSerializer;
+import org.apache.cocoon.components.sax.XMLByteStreamCompiler;
+import org.apache.cocoon.components.sax.XMLByteStreamInterpreter;
 import org.apache.cocoon.environment.SourceResolver;
 import org.apache.cocoon.xml.IncludeXMLConsumer;
 
@@ -234,8 +234,6 @@
     protected Connection conn;
 
     // Used to parse XML from database.
-    protected XMLSerializer compiler;
-    protected XMLDeserializer interpreter;
     protected SAXParser parser;
 
     /**
@@ -312,10 +310,6 @@
 
         this.manager.release(this.parser);
         this.parser = null;
-        this.manager.release(this.compiler);
-        this.compiler = null;
-        this.manager.release(this.interpreter);
-        this.interpreter = null;
 
         super.recycle();
     }
@@ -845,38 +839,26 @@
      * Attempt to parse string value
      */
     private void stream(String value) throws ServiceException, SAXException, IOException {
-        try {
-            // Strip off the XML Declaration if there is one!
-            if (value.startsWith("<?xml ")) {
-                value = value.substring(value.indexOf("?>") + 2);
-            }
+        // Strip off the XML Declaration if there is one!
+        if (value.startsWith("<?xml ")) {
+            value = value.substring(value.indexOf("?>") + 2);
+        }
 
-            // Lookup components
-            if (this.parser == null) {
-                this.parser = (SAXParser) manager.lookup(SAXParser.ROLE);
-            }
-            if (this.compiler == null) {
-                this.compiler = (XMLSerializer) manager.lookup(XMLSerializer.ROLE);
-            }
-            if (this.interpreter == null) {
-                this.interpreter = (XMLDeserializer) manager.lookup(XMLDeserializer.ROLE);
-            }
+        // Lookup components
+        if (this.parser == null) {
+            this.parser = (SAXParser) manager.lookup(SAXParser.ROLE);
+        }
+        XMLByteStreamCompiler compiler = new XMLByteStreamCompiler();
+        XMLByteStreamInterpreter interpreter = new XMLByteStreamInterpreter();
 
-            this.parser.parse(new InputSource(new StringReader("<root>" + value + "</root>")),
-                              this.compiler);
+        this.parser.parse(new InputSource(new StringReader("<root>" + value + "</root>")),
+                          compiler);
 
-            IncludeXMLConsumer filter = new IncludeXMLConsumer(this, this);
-            filter.setIgnoreRootElement(true);
+        IncludeXMLConsumer filter = new IncludeXMLConsumer(this, this);
+        filter.setIgnoreRootElement(true);
 
-            this.interpreter.setConsumer(filter);
-            this.interpreter.deserialize(this.compiler.getSAXFragment());
-        } finally {
-            // otherwise serializer won't be reset
-            if (this.compiler != null) {
-                manager.release(this.compiler);
-                this.compiler = null;
-            }
-        }
+        interpreter.setConsumer(filter);
+        interpreter.deserialize(compiler.getSAXFragment());
     }
 
     /**

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/transformation/RSSTransformer.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/transformation/RSSTransformer.java?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/transformation/RSSTransformer.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/transformation/RSSTransformer.java Thu Jan  5 08:02:33 2006
@@ -25,8 +25,8 @@
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.cocoon.ProcessingException;
 import org.apache.cocoon.caching.CacheableProcessingComponent;
-import org.apache.cocoon.components.sax.XMLDeserializer;
-import org.apache.cocoon.components.sax.XMLSerializer;
+import org.apache.cocoon.components.sax.XMLByteStreamCompiler;
+import org.apache.cocoon.components.sax.XMLByteStreamInterpreter;
 import org.apache.cocoon.environment.SourceResolver;
 import org.apache.cocoon.transformation.AbstractSAXTransformer;
 import org.apache.cocoon.xml.IncludeXMLConsumer;
@@ -51,9 +51,6 @@
     /** The xmlizer for converting html to xml. */
     protected XMLizer xmlizer;
 
-    /** The xml deserializer. */
-    protected XMLDeserializer deserializer;
-
     /** The filter */
     protected XMLConsumer filter;
 
@@ -78,9 +75,8 @@
             final String html = "<html><body>"+text+"</body></html>";
 
             Object parsed = null;            
-            XMLSerializer serializer = null; 
+            XMLByteStreamCompiler serializer = new XMLByteStreamCompiler(); 
             try {
-                serializer = (XMLSerializer)this.manager.lookup(XMLSerializer.ROLE);
                 InputStream inputStream = new ByteArrayInputStream(html.getBytes());
                 this.xmlizer.toSAX(inputStream,
                                     "text/html",
@@ -94,8 +90,9 @@
                 this.manager.release( serializer );
             }
             if ( parsed != null ) {
-                this.deserializer.setConsumer( this.filter );
-                this.deserializer.deserialize( parsed );
+                XMLByteStreamInterpreter deserializer = new XMLByteStreamInterpreter();
+                deserializer.setConsumer( this.filter );
+                deserializer.deserialize( parsed );
             } else {
                 this.sendTextEvent(text);
             }
@@ -108,9 +105,7 @@
      */
     public void recycle() {
         this.manager.release( this.xmlizer );
-        this.manager.release( this.deserializer );
         this.xmlizer = null;
-        this.deserializer = null;
         this.filter = null;
         super.recycle();
     }
@@ -126,7 +121,6 @@
         super.setup(resolver, objectModel, src, par);
         try {
             this.xmlizer = (XMLizer)this.manager.lookup(XMLizer.ROLE);
-            this.deserializer = (XMLDeserializer)this.manager.lookup(XMLDeserializer.ROLE);
         } catch (ServiceException ce) {
             throw new ProcessingException("Unable to lookup component.", ce);
         }

Modified: cocoon/blocks/profiler/trunk/java/org/apache/cocoon/components/profiler/ProfilingXMLPipe.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/profiler/trunk/java/org/apache/cocoon/components/profiler/ProfilingXMLPipe.java?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/blocks/profiler/trunk/java/org/apache/cocoon/components/profiler/ProfilingXMLPipe.java (original)
+++ cocoon/blocks/profiler/trunk/java/org/apache/cocoon/components/profiler/ProfilingXMLPipe.java Thu Jan  5 08:02:33 2006
@@ -17,8 +17,6 @@
 
 import org.apache.cocoon.components.sax.XMLByteStreamCompiler;
 import org.apache.cocoon.components.sax.XMLByteStreamInterpreter;
-import org.apache.cocoon.components.sax.XMLDeserializer;
-import org.apache.cocoon.components.sax.XMLSerializer;
 import org.apache.cocoon.xml.XMLConsumer;
 import org.apache.cocoon.xml.XMLPipe;
 import org.xml.sax.Attributes;
@@ -49,8 +47,8 @@
     // Time difference
     private long total;
 
-    private XMLDeserializer deserializer;
-    private XMLSerializer serializer;
+    private XMLByteStreamInterpreter deserializer;
+    private XMLByteStreamCompiler serializer;
 
     /**
      * Setup this XMLPipe.
@@ -61,8 +59,6 @@
     public void setup(int index, ProfilerData data) {
         this.index = index;
         this.data = data;
-
-        // FIXME Retrieve components from the CM
         this.deserializer = new XMLByteStreamInterpreter();
         this.serializer = new XMLByteStreamCompiler();
     }

Modified: cocoon/blocks/profiler/trunk/java/org/apache/cocoon/generation/ProfilerGenerator.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/profiler/trunk/java/org/apache/cocoon/generation/ProfilerGenerator.java?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/blocks/profiler/trunk/java/org/apache/cocoon/generation/ProfilerGenerator.java (original)
+++ cocoon/blocks/profiler/trunk/java/org/apache/cocoon/generation/ProfilerGenerator.java Thu Jan  5 08:02:33 2006
@@ -22,7 +22,7 @@
 import org.apache.cocoon.components.profiler.EnvironmentInfo;
 import org.apache.cocoon.components.profiler.Profiler;
 import org.apache.cocoon.components.profiler.ProfilerResult;
-import org.apache.cocoon.components.sax.XMLDeserializer;
+import org.apache.cocoon.components.sax.XMLByteStreamInterpreter;
 import org.apache.cocoon.environment.ObjectModelHelper;
 import org.apache.cocoon.environment.Request;
 import org.apache.cocoon.environment.SourceResolver;
@@ -461,27 +461,17 @@
     public void generateSAXFragment(Object fragment, boolean embed) throws SAXException {
 
         if (fragment!=null) {
-            XMLDeserializer deserializer = null;
 
             try {
-                deserializer = (XMLDeserializer) this.manager.lookup(XMLDeserializer.ROLE);
+                XMLByteStreamInterpreter deserializer = new XMLByteStreamInterpreter();
                 if (embed)
                     deserializer.setConsumer(new IncludeXMLConsumer(this.xmlConsumer));
                 else
                     deserializer.setConsumer(this.xmlConsumer);
                 deserializer.deserialize(fragment);
-            } catch (ServiceException ce) {
-                getLogger().debug("Could not retrieve XMLDeserializer component",
-                                  ce);
-                throw new SAXException("Could not retrieve XMLDeserializer component",
-                                       ce);
             } catch (Exception e) {
                 getLogger().debug("Could not serialize SAX fragment", e);
                 throw new SAXException("Could not serialize SAX fragment", e);
-            } finally {
-                if (deserializer!=null) {
-                    this.manager.release(deserializer);
-                }
             }
         }
     }

Modified: cocoon/blocks/profiler/trunk/java/org/apache/cocoon/profiler/debugging/RemoteDebuggingSitemapExecutor.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/profiler/trunk/java/org/apache/cocoon/profiler/debugging/RemoteDebuggingSitemapExecutor.java?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/blocks/profiler/trunk/java/org/apache/cocoon/profiler/debugging/RemoteDebuggingSitemapExecutor.java (original)
+++ cocoon/blocks/profiler/trunk/java/org/apache/cocoon/profiler/debugging/RemoteDebuggingSitemapExecutor.java Thu Jan  5 08:02:33 2006
@@ -34,7 +34,7 @@
 import org.apache.cocoon.acting.Action;
 import org.apache.cocoon.components.profiler.Profiler;
 import org.apache.cocoon.components.profiler.ProfilerResult;
-import org.apache.cocoon.components.sax.XMLDeserializer;
+import org.apache.cocoon.components.sax.XMLByteStreamInterpreter;
 import org.apache.cocoon.environment.ObjectModelHelper;
 import org.apache.cocoon.environment.Redirector;
 import org.apache.cocoon.environment.Request;
@@ -407,10 +407,9 @@
                     Object[] os = frags[0];
                     for(int i = 0; i<os.length-1; i++) {
                         Object o = os[i];
-                        XMLDeserializer deserializer = null;
                         try {
                             DOMBuilder builder = new DOMBuilder();
-                            deserializer = (XMLDeserializer)this.manager.lookup(XMLDeserializer.ROLE);
+                            XMLByteStreamInterpreter deserializer = new XMLByteStreamInterpreter();
                             deserializer.setConsumer(builder);
                             deserializer.deserialize(o);
                             String xml = "<stream>\n"+
@@ -419,8 +418,6 @@
                             debugger.send(xml);
                         } catch (Exception ignore) {
                             // ignore this
-                        } finally { 
-                            this.manager.release(deserializer);
                         }
                     }
                 }

Modified: cocoon/blocks/scratchpad/trunk/java/org/apache/cocoon/components/source/impl/CachingSource.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/scratchpad/trunk/java/org/apache/cocoon/components/source/impl/CachingSource.java?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/blocks/scratchpad/trunk/java/org/apache/cocoon/components/source/impl/CachingSource.java (original)
+++ cocoon/blocks/scratchpad/trunk/java/org/apache/cocoon/components/source/impl/CachingSource.java Thu Jan  5 08:02:33 2006
@@ -33,8 +33,8 @@
 import org.apache.cocoon.caching.IdentifierCacheKey;
 import org.apache.cocoon.caching.validity.EventValidity;
 import org.apache.cocoon.caching.validity.NamedEvent;
-import org.apache.cocoon.components.sax.XMLDeserializer;
-import org.apache.cocoon.components.sax.XMLSerializer;
+import org.apache.cocoon.components.sax.XMLByteStreamCompiler;
+import org.apache.cocoon.components.sax.XMLByteStreamInterpreter;
 import org.apache.cocoon.xml.ContentHandlerWrapper;
 import org.apache.cocoon.xml.XMLConsumer;
 import org.apache.excalibur.source.Source;
@@ -439,10 +439,9 @@
      * Generates SAX events representing the object's state.
      */
     public void toSAX(ContentHandler contentHandler) throws SAXException {
-        XMLDeserializer deserializer = null;
         try {
             initXMLResponse(false);
-            deserializer = (XMLDeserializer) this.manager.lookup(XMLDeserializer.ROLE);
+            XMLByteStreamInterpreter deserializer = new XMLByteStreamInterpreter();
             if (contentHandler instanceof XMLConsumer) {
                 deserializer.setConsumer((XMLConsumer) contentHandler);
             } else {
@@ -453,10 +452,6 @@
             throw new SAXException(e.getMessage(), (Exception) e.getCause());
         } catch(IOException e) {
             throw new SAXException("Failure reading SAX response.", e);
-        } catch (ServiceException se ) {
-            throw new SAXException("Missing service dependency: XMLdeserializer.", se);
-        } finally {
-            this.manager.release(deserializer);
         }
     }
 
@@ -493,11 +488,10 @@
      */
     protected byte[] readXMLResponse(Source source, byte[] binary, ServiceManager manager)
     throws SAXException, IOException, CascadingIOException {
-        XMLSerializer serializer = null;
         XMLizer xmlizer = null;
         byte[] result = null;
         try {
-            serializer = (XMLSerializer) manager.lookup(XMLSerializer.ROLE);
+            XMLByteStreamCompiler serializer = new XMLByteStreamCompiler();
 
             if (source instanceof XMLizable) {
                 ((XMLizable) source).toSAX(serializer);
@@ -520,7 +514,6 @@
             throw new CascadingIOException("Missing service dependency.", se);
         } finally {
             manager.release(xmlizer);
-            manager.release(serializer);
         }
         return result;
     }

Modified: cocoon/blocks/taglib/trunk/java/org/apache/cocoon/transformation/TagTransformer.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/taglib/trunk/java/org/apache/cocoon/transformation/TagTransformer.java?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/blocks/taglib/trunk/java/org/apache/cocoon/transformation/TagTransformer.java (original)
+++ cocoon/blocks/taglib/trunk/java/org/apache/cocoon/transformation/TagTransformer.java Thu Jan  5 08:02:33 2006
@@ -26,8 +26,8 @@
 import org.apache.avalon.framework.service.ServiceSelector;
 import org.apache.avalon.framework.service.Serviceable;
 
-import org.apache.cocoon.components.sax.XMLDeserializer;
-import org.apache.cocoon.components.sax.XMLSerializer;
+import org.apache.cocoon.components.sax.XMLByteStreamCompiler;
+import org.apache.cocoon.components.sax.XMLByteStreamInterpreter;
 import org.apache.cocoon.environment.SourceResolver;
 import org.apache.cocoon.taglib.IterationTag;
 import org.apache.cocoon.taglib.Tag;
@@ -83,7 +83,7 @@
     /** backup of currentConsumer while recording */
     private XMLConsumer currentConsumerBackup;
 
-    private XMLSerializer xmlSerializer;
+    private XMLByteStreamCompiler xmlSerializer;
 
     /** The SourceResolver for this request */
     private SourceResolver resolver;
@@ -386,36 +386,27 @@
                 if (saxFragment != null) {
                     // Start Iteration
                     IterationTag iterTag = (IterationTag) tag;
-                    XMLDeserializer xmlDeserializer = null;
-                    try {
-                        xmlDeserializer = (XMLDeserializer) manager.lookup(XMLDeserializer.ROLE);
-                        xmlDeserializer.setConsumer(this);
-
-                        // BodyTag Support
-                        XMLConsumer backup = this.currentConsumer;
-                        if (tag instanceof BodyTag) {
-                            SaxBuffer content = new SaxBuffer();
-                            this.currentConsumer = content;
-                            ((BodyTag)tag).setBodyContent(new BodyContent(content, backup));
-                            ((BodyTag)tag).doInitBody();
-                        }
-
-                        do {
-                            xmlDeserializer.deserialize(saxFragment);
-                        } while (iterTag.doAfterBody() != Tag.SKIP_BODY);
-
-                        // BodyTag Support
-                        if (tag instanceof BodyTag) {
-                            this.currentConsumer = backup;
-                        }
-
-                    } catch (ServiceException e) {
-                        throw new SAXException("Can't obtain XMLDeserializer", e);
-                    } finally {
-                        if (xmlDeserializer != null) {
-                            manager.release(xmlDeserializer);
-                        }
+                    XMLByteStreamInterpreter xmlDeserializer = new XMLByteStreamInterpreter();
+                    xmlDeserializer.setConsumer(this);
+
+                    // BodyTag Support
+                    XMLConsumer backup = this.currentConsumer;
+                    if (tag instanceof BodyTag) {
+                        SaxBuffer content = new SaxBuffer();
+                        this.currentConsumer = content;
+                        ((BodyTag)tag).setBodyContent(new BodyContent(content, backup));
+                        ((BodyTag)tag).doInitBody();
+                    }
+
+                    do {
+                        xmlDeserializer.deserialize(saxFragment);
+                    } while (iterTag.doAfterBody() != Tag.SKIP_BODY);
+
+                    // BodyTag Support
+                    if (tag instanceof BodyTag) {
+                        this.currentConsumer = backup;
                     }
+
                 }
                 tag.doEndTag(namespaceURI, localName, qName);
                 currentTag = tag.getParent();
@@ -561,11 +552,7 @@
      * Start recording for the iterator tag.
      */
     private void startRecording() throws SAXException {
-        try {
-            this.xmlSerializer = (XMLSerializer) manager.lookup(XMLSerializer.ROLE);
-        } catch (ServiceException e) {
-            throw new SAXException("Can't lookup XMLSerializer", e);
-        }
+        this.xmlSerializer = new XMLByteStreamCompiler();
 
         this.currentConsumerBackup = this.currentConsumer;
         this.currentConsumer = this.xmlSerializer;
@@ -584,7 +571,6 @@
         Object saxFragment = this.xmlSerializer.getSAXFragment();
 
         // Release Serializer
-        this.manager.release(this.xmlSerializer);
         this.xmlSerializer = null;
 
         return saxFragment;

Modified: cocoon/trunk/src/java/org/apache/cocoon/cocoon.roles
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/cocoon.roles?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/cocoon.roles (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/cocoon.roles Thu Jan  5 08:02:33 2006
@@ -193,14 +193,6 @@
         shorthand="xmlizer"
         default-class="org.apache.excalibur.xmlizer.DefaultXMLizer"/>
 
-  <role name="org.apache.cocoon.components.sax.XMLSerializer"
-        shorthand="xml-serializer"
-        default-class="org.apache.cocoon.components.sax.XMLByteStreamCompiler"/>
-
-  <role name="org.apache.cocoon.components.sax.XMLDeserializer"
-        shorthand="xml-deserializer"
-        default-class="org.apache.cocoon.components.sax.XMLByteStreamInterpreter"/>
-
   <role name="org.apache.cocoon.components.notification.NotifyingBuilder"
         shorthand="notifying-builder"
         default-class="org.apache.cocoon.components.notification.DefaultNotifyingBuilder"/>

Modified: cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/BaseCachingProcessingPipeline.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/BaseCachingProcessingPipeline.java?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/BaseCachingProcessingPipeline.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/BaseCachingProcessingPipeline.java Thu Jan  5 08:02:33 2006
@@ -21,8 +21,8 @@
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.cocoon.caching.Cache;
 import org.apache.cocoon.components.pipeline.AbstractProcessingPipeline;
-import org.apache.cocoon.components.sax.XMLDeserializer;
-import org.apache.cocoon.components.sax.XMLSerializer;
+import org.apache.cocoon.components.sax.XMLByteStreamCompiler;
+import org.apache.cocoon.components.sax.XMLByteStreamInterpreter;
 
 /**
  * This is the base class for all caching pipeline implementations.
@@ -39,10 +39,10 @@
     protected Cache  cache;
 
     /** The deserializer */
-    protected XMLDeserializer xmlDeserializer;
+    protected XMLByteStreamInterpreter xmlDeserializer;
 
     /** The serializer */
-    protected XMLSerializer xmlSerializer;
+    protected XMLByteStreamCompiler xmlSerializer;
 
     /**
      * Parameterizable Interface - Configuration
@@ -67,10 +67,7 @@
      * Recyclable Interface
      */
     public void recycle() {
-        this.manager.release(this.xmlDeserializer);
         this.xmlDeserializer = null;
-
-        this.manager.release(this.xmlSerializer);
         this.xmlSerializer = null;
 
         super.recycle();

Modified: cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/CachingPointProcessingPipeline.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/CachingPointProcessingPipeline.java?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/CachingPointProcessingPipeline.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/CachingPointProcessingPipeline.java Thu Jan  5 08:02:33 2006
@@ -23,13 +23,12 @@
 
 import org.apache.avalon.framework.parameters.ParameterException;
 import org.apache.avalon.framework.parameters.Parameters;
-import org.apache.avalon.framework.service.ServiceException;
 import org.apache.cocoon.ProcessingException;
 import org.apache.cocoon.caching.CachedResponse;
 import org.apache.cocoon.caching.CachingOutputStream;
 import org.apache.cocoon.caching.ComponentCacheKey;
-import org.apache.cocoon.components.sax.XMLDeserializer;
-import org.apache.cocoon.components.sax.XMLSerializer;
+import org.apache.cocoon.components.sax.XMLByteStreamCompiler;
+import org.apache.cocoon.components.sax.XMLByteStreamInterpreter;
 import org.apache.cocoon.components.sax.XMLTeePipe;
 import org.apache.cocoon.environment.Environment;
 import org.apache.cocoon.xml.XMLConsumer;
@@ -202,7 +201,7 @@
             if (this.toCacheKey.size()>0) {
                 ListIterator itt = this.xmlSerializerArray.listIterator(this.xmlSerializerArray.size());
                 while (itt.hasPrevious()) {
-                    XMLSerializer serializer = (XMLSerializer) itt.previous();
+                    XMLByteStreamCompiler serializer = (XMLByteStreamCompiler) itt.previous();
                     CachedResponse response = new CachedResponse(this.toCacheSourceValidities,
                                               (byte[])serializer.getSAXFragment());
                     this.cache.store(this.toCacheKey.copy(),
@@ -257,133 +256,127 @@
      */
     protected void connectCachingPipeline(Environment   environment)
     throws ProcessingException {
-        try {
-            XMLSerializer localXMLSerializer = null;
-            XMLSerializer cachePointXMLSerializer = null;
-            if (!this.cacheCompleteResponse) {
-                this.xmlSerializer = (XMLSerializer)this.manager.lookup( XMLSerializer.ROLE );
-                localXMLSerializer = this.xmlSerializer;
-            }
-
-            if (this.cachedResponse == null) {
-                XMLProducer prev = super.generator;
-                XMLConsumer next;
-
-                int cacheableTransformerCount = this.firstNotCacheableTransformerIndex;
-                int currentTransformerIndex = 0; //start with the first transformer
-
-                Iterator itt = this.transformers.iterator();
-                while ( itt.hasNext() ) {
-                    next = (XMLConsumer) itt.next();
-
-                    // if we have cacheable transformers,
-                    // check the tranformers for cachepoints
-                    if (cacheableTransformerCount > 0) {
-                        if ( (this.isCachePoint.get(currentTransformerIndex) != null)  &&
-                                ((Boolean)this.isCachePoint.get(currentTransformerIndex)).booleanValue()) {
-
-                            cachePointXMLSerializer = ((XMLSerializer)
-                            this.manager.lookup( XMLSerializer.ROLE ));
-                            next = new XMLTeePipe(next, cachePointXMLSerializer);
-                            this.xmlSerializerArray.add(cachePointXMLSerializer);
-                        }
+        XMLByteStreamCompiler localXMLSerializer = null;
+        XMLByteStreamCompiler cachePointXMLSerializer = null;
+        if (!this.cacheCompleteResponse) {
+            this.xmlSerializer = new XMLByteStreamCompiler();
+            localXMLSerializer = this.xmlSerializer;
+        }
+
+        if (this.cachedResponse == null) {
+            XMLProducer prev = super.generator;
+            XMLConsumer next;
+
+            int cacheableTransformerCount = this.firstNotCacheableTransformerIndex;
+            int currentTransformerIndex = 0; //start with the first transformer
+
+            Iterator itt = this.transformers.iterator();
+            while ( itt.hasNext() ) {
+                next = (XMLConsumer) itt.next();
+
+                // if we have cacheable transformers,
+                // check the tranformers for cachepoints
+                if (cacheableTransformerCount > 0) {
+                    if ( (this.isCachePoint.get(currentTransformerIndex) != null)  &&
+                            ((Boolean)this.isCachePoint.get(currentTransformerIndex)).booleanValue()) {
+
+                        cachePointXMLSerializer = new XMLByteStreamCompiler();
+                        next = new XMLTeePipe(next, cachePointXMLSerializer);
+                        this.xmlSerializerArray.add(cachePointXMLSerializer);
                     }
+                }
 
 
-                    // Serializer is not cacheable,
-                    // but we  have the longest cacheable key. Do default longest key caching
-                    if (localXMLSerializer != null) {
-                        if (cacheableTransformerCount == 0) {
-                            next = new XMLTeePipe(next, localXMLSerializer);
-                            this.xmlSerializerArray.add(localXMLSerializer);
-                            localXMLSerializer = null;
-                        } else {
-                            cacheableTransformerCount--;
-                        }
+                // Serializer is not cacheable,
+                // but we  have the longest cacheable key. Do default longest key caching
+                if (localXMLSerializer != null) {
+                    if (cacheableTransformerCount == 0) {
+                        next = new XMLTeePipe(next, localXMLSerializer);
+                        this.xmlSerializerArray.add(localXMLSerializer);
+                        localXMLSerializer = null;
+                    } else {
+                        cacheableTransformerCount--;
                     }
-                    this.connect(environment, prev, next);
-                    prev = (XMLProducer) next;
-
-                    currentTransformerIndex++;
                 }
-                next = super.lastConsumer;
+                this.connect(environment, prev, next);
+                prev = (XMLProducer) next;
 
+                currentTransformerIndex++;
+            }
+            next = super.lastConsumer;
 
-                // if the serializer is not cacheable, but all the transformers are:
-                // (this is default longest key caching)
-                if (localXMLSerializer != null) {
-                    next = new XMLTeePipe(next, localXMLSerializer);
-                    this.xmlSerializerArray.add(localXMLSerializer);
-                    localXMLSerializer = null;
-                }
 
-                // else if the serializer is cacheable and has cocoon views
-                else if ((currentTransformerIndex == this.firstNotCacheableTransformerIndex) &&
-                        this.nextIsCachePoint) {
-                    cachePointXMLSerializer = ((XMLSerializer)this.manager.lookup( XMLSerializer.ROLE ));
-                    next = new XMLTeePipe(next, cachePointXMLSerializer);
-                    this.xmlSerializerArray.add(cachePointXMLSerializer);
-                }
-                this.connect(environment, prev, next);
+            // if the serializer is not cacheable, but all the transformers are:
+            // (this is default longest key caching)
+            if (localXMLSerializer != null) {
+                next = new XMLTeePipe(next, localXMLSerializer);
+                this.xmlSerializerArray.add(localXMLSerializer);
+                localXMLSerializer = null;
+            }
 
-            } else {
-                // Here the first part of the pipeline has been retrived from cache
-                // we now check if any part of the rest of the pipeline can be cached
-                this.xmlDeserializer = (XMLDeserializer)this.manager.lookup(XMLDeserializer.ROLE);
-                // connect the pipeline:
-                XMLProducer prev = xmlDeserializer;
-                XMLConsumer next;
-                int cacheableTransformerCount = 0;
-                Iterator itt = this.transformers.iterator();
-                while ( itt.hasNext() ) {
-                    next = (XMLConsumer) itt.next();
-
-                    if (cacheableTransformerCount >= this.firstProcessedTransformerIndex) {
-
-                        // if we have cacheable transformers left,
-                        // then check the tranformers for cachepoints
-                        if (cacheableTransformerCount < this.firstNotCacheableTransformerIndex) {
-                            if ( !(prev instanceof XMLDeserializer) &&
-                                    (this.isCachePoint.get(cacheableTransformerCount) != null)  &&
-                                    ((Boolean)this.isCachePoint.get(cacheableTransformerCount)).booleanValue()) {
-                                cachePointXMLSerializer = ((XMLSerializer)this.manager.lookup( XMLSerializer.ROLE ));
-                                next = new XMLTeePipe(next, cachePointXMLSerializer);
-                                this.xmlSerializerArray.add(cachePointXMLSerializer);
-                            }
-                        }
+            // else if the serializer is cacheable and has cocoon views
+            else if ((currentTransformerIndex == this.firstNotCacheableTransformerIndex) &&
+                    this.nextIsCachePoint) {
+                cachePointXMLSerializer = new XMLByteStreamCompiler();
+                next = new XMLTeePipe(next, cachePointXMLSerializer);
+                this.xmlSerializerArray.add(cachePointXMLSerializer);
+            }
+            this.connect(environment, prev, next);
 
-                        // Serializer is not cacheable,
-                        // but we  have the longest cacheable key. Do default longest key caching
-                        if (localXMLSerializer != null && !(prev instanceof XMLDeserializer)
-                                && cacheableTransformerCount == this.firstNotCacheableTransformerIndex) {
-                            next = new XMLTeePipe(next, localXMLSerializer);
-                            this.xmlSerializerArray.add(localXMLSerializer);
-                            localXMLSerializer = null;
+        } else {
+            // Here the first part of the pipeline has been retrived from cache
+            // we now check if any part of the rest of the pipeline can be cached
+            this.xmlDeserializer = new XMLByteStreamInterpreter();
+            // connect the pipeline:
+            XMLProducer prev = xmlDeserializer;
+            XMLConsumer next;
+            int cacheableTransformerCount = 0;
+            Iterator itt = this.transformers.iterator();
+            while ( itt.hasNext() ) {
+                next = (XMLConsumer) itt.next();
+
+                if (cacheableTransformerCount >= this.firstProcessedTransformerIndex) {
+
+                    // if we have cacheable transformers left,
+                    // then check the tranformers for cachepoints
+                    if (cacheableTransformerCount < this.firstNotCacheableTransformerIndex) {
+                        if ( !(prev instanceof XMLByteStreamInterpreter) &&
+                                (this.isCachePoint.get(cacheableTransformerCount) != null)  &&
+                                ((Boolean)this.isCachePoint.get(cacheableTransformerCount)).booleanValue()) {
+                            cachePointXMLSerializer = new XMLByteStreamCompiler();
+                            next = new XMLTeePipe(next, cachePointXMLSerializer);
+                            this.xmlSerializerArray.add(cachePointXMLSerializer);
                         }
-                        this.connect(environment, prev, next);
-                        prev = (XMLProducer)next;
                     }
-                    cacheableTransformerCount++;
-                }
-                next = super.lastConsumer;
 
-                //*all* the transformers are cacheable, but the serializer is not!! this is longest key
-                if (localXMLSerializer != null && !(prev instanceof XMLDeserializer)) {
-                    next = new XMLTeePipe(next, localXMLSerializer);
-                    this.xmlSerializerArray.add(localXMLSerializer);
-                    localXMLSerializer = null;
-                } else if (this.nextIsCachePoint && !(prev instanceof XMLDeserializer) &&
-                        cacheableTransformerCount == this.firstNotCacheableTransformerIndex) {
-                    // else the serializer is cacheable but has views
-                    cachePointXMLSerializer = ((XMLSerializer)this.manager.lookup( XMLSerializer.ROLE ));
-                    next = new XMLTeePipe(next,  cachePointXMLSerializer);
-                    this.xmlSerializerArray.add(cachePointXMLSerializer);
+                    // Serializer is not cacheable,
+                    // but we  have the longest cacheable key. Do default longest key caching
+                    if (localXMLSerializer != null && !(prev instanceof XMLByteStreamInterpreter)
+                            && cacheableTransformerCount == this.firstNotCacheableTransformerIndex) {
+                        next = new XMLTeePipe(next, localXMLSerializer);
+                        this.xmlSerializerArray.add(localXMLSerializer);
+                        localXMLSerializer = null;
+                    }
+                    this.connect(environment, prev, next);
+                    prev = (XMLProducer)next;
                 }
-                this.connect(environment, prev, next);
+                cacheableTransformerCount++;
             }
+            next = super.lastConsumer;
 
-        } catch (ServiceException e) {
-            throw new ProcessingException("Could not connect pipeline.", e);
+            //*all* the transformers are cacheable, but the serializer is not!! this is longest key
+            if (localXMLSerializer != null && !(prev instanceof XMLByteStreamInterpreter)) {
+                next = new XMLTeePipe(next, localXMLSerializer);
+                this.xmlSerializerArray.add(localXMLSerializer);
+                localXMLSerializer = null;
+            } else if (this.nextIsCachePoint && !(prev instanceof XMLByteStreamInterpreter) &&
+                    cacheableTransformerCount == this.firstNotCacheableTransformerIndex) {
+                // else the serializer is cacheable but has views
+                cachePointXMLSerializer = new XMLByteStreamCompiler();
+                next = new XMLTeePipe(next,  cachePointXMLSerializer);
+                this.xmlSerializerArray.add(cachePointXMLSerializer);
+            }
+            this.connect(environment, prev, next);
         }
     }
 

Modified: cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/CachingProcessingPipeline.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/CachingProcessingPipeline.java?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/CachingProcessingPipeline.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/CachingProcessingPipeline.java Thu Jan  5 08:02:33 2006
@@ -19,13 +19,12 @@
 import java.io.Serializable;
 import java.util.Iterator;
 
-import org.apache.avalon.framework.service.ServiceException;
 import org.apache.cocoon.ProcessingException;
 import org.apache.cocoon.caching.CachedResponse;
 import org.apache.cocoon.caching.CachingOutputStream;
 import org.apache.cocoon.caching.ComponentCacheKey;
-import org.apache.cocoon.components.sax.XMLDeserializer;
-import org.apache.cocoon.components.sax.XMLSerializer;
+import org.apache.cocoon.components.sax.XMLByteStreamCompiler;
+import org.apache.cocoon.components.sax.XMLByteStreamInterpreter;
 import org.apache.cocoon.components.sax.XMLTeePipe;
 import org.apache.cocoon.environment.Environment;
 import org.apache.cocoon.environment.ObjectModelHelper;
@@ -76,72 +75,67 @@
      */
     protected void connectCachingPipeline(Environment   environment)
     throws ProcessingException {
-        try {
-            XMLSerializer localXMLSerializer = null;
-            if (!this.cacheCompleteResponse) {
-                this.xmlSerializer = (XMLSerializer) this.manager.lookup(XMLSerializer.ROLE);
-                localXMLSerializer = this.xmlSerializer;
-            }
-
-            if (this.cachedResponse == null) {
-                XMLProducer prev = super.generator;
-                XMLConsumer next;
-
-                int cacheableTransformerCount = this.firstNotCacheableTransformerIndex;
-
-                Iterator itt = this.transformers.iterator();
-                while (itt.hasNext()) {
-                    next = (XMLConsumer) itt.next();
-                    if (localXMLSerializer != null) {
-                        if (cacheableTransformerCount == 0) {
-                            next = new XMLTeePipe(next, localXMLSerializer);
-                            localXMLSerializer = null;
-                        } else {
-                            cacheableTransformerCount--;
-                        }
-                    }
-                    connect(environment, prev, next);
-                    prev = (XMLProducer) next;
-                }
+        XMLByteStreamCompiler localXMLSerializer = null;
+        if (!this.cacheCompleteResponse) {
+            this.xmlSerializer = new XMLByteStreamCompiler();
+            localXMLSerializer = this.xmlSerializer;
+        }
 
-                next = super.lastConsumer;
+        if (this.cachedResponse == null) {
+            XMLProducer prev = super.generator;
+            XMLConsumer next;
+
+            int cacheableTransformerCount = this.firstNotCacheableTransformerIndex;
+
+            Iterator itt = this.transformers.iterator();
+            while (itt.hasNext()) {
+                next = (XMLConsumer) itt.next();
                 if (localXMLSerializer != null) {
-                    next = new XMLTeePipe(next, localXMLSerializer);
-                    localXMLSerializer = null;
+                    if (cacheableTransformerCount == 0) {
+                        next = new XMLTeePipe(next, localXMLSerializer);
+                        localXMLSerializer = null;
+                    } else {
+                        cacheableTransformerCount--;
+                    }
                 }
                 connect(environment, prev, next);
-            } else {
-                this.xmlDeserializer = (XMLDeserializer) this.manager.lookup(XMLDeserializer.ROLE);
+                prev = (XMLProducer) next;
+            }
 
-                // connect the pipeline:
-                XMLProducer prev = xmlDeserializer;
-                XMLConsumer next;
-                int cacheableTransformerCount = 0;
-                Iterator itt = this.transformers.iterator();
-                while (itt.hasNext()) {
-                    next = (XMLConsumer) itt.next();
-                    if (cacheableTransformerCount >= this.firstProcessedTransformerIndex) {
-                        if (localXMLSerializer != null
-                                && cacheableTransformerCount == this.firstNotCacheableTransformerIndex) {
-                            next = new XMLTeePipe(next, localXMLSerializer);
-                            localXMLSerializer = null;
-                        }
-                        connect(environment, prev, next);
-                        prev = (XMLProducer) next;
+            next = super.lastConsumer;
+            if (localXMLSerializer != null) {
+                next = new XMLTeePipe(next, localXMLSerializer);
+                localXMLSerializer = null;
+            }
+            connect(environment, prev, next);
+        } else {
+            this.xmlDeserializer = new XMLByteStreamInterpreter();
+
+            // connect the pipeline:
+            XMLProducer prev = xmlDeserializer;
+            XMLConsumer next;
+            int cacheableTransformerCount = 0;
+            Iterator itt = this.transformers.iterator();
+            while (itt.hasNext()) {
+                next = (XMLConsumer) itt.next();
+                if (cacheableTransformerCount >= this.firstProcessedTransformerIndex) {
+                    if (localXMLSerializer != null
+                            && cacheableTransformerCount == this.firstNotCacheableTransformerIndex) {
+                        next = new XMLTeePipe(next, localXMLSerializer);
+                        localXMLSerializer = null;
                     }
-                    cacheableTransformerCount++;
-                }
-
-                next = super.lastConsumer;
-                if (localXMLSerializer != null) {
-                    next = new XMLTeePipe(next, localXMLSerializer);
-                    localXMLSerializer = null;
+                    connect(environment, prev, next);
+                    prev = (XMLProducer) next;
                 }
-                connect(environment, prev, next);
+                cacheableTransformerCount++;
             }
 
-        } catch (ServiceException e) {
-            throw new ProcessingException("Could not connect pipeline.", e);
+            next = super.lastConsumer;
+            if (localXMLSerializer != null) {
+                next = new XMLTeePipe(next, localXMLSerializer);
+                localXMLSerializer = null;
+            }
+            connect(environment, prev, next);
         }
     }
 }

Modified: cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/ExpiresCachingProcessingPipeline.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/ExpiresCachingProcessingPipeline.java?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/ExpiresCachingProcessingPipeline.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/components/pipeline/impl/ExpiresCachingProcessingPipeline.java Thu Jan  5 08:02:33 2006
@@ -17,14 +17,13 @@
 
 import org.apache.avalon.framework.parameters.ParameterException;
 import org.apache.avalon.framework.parameters.Parameters;
-import org.apache.avalon.framework.service.ServiceException;
 
 import org.apache.cocoon.ProcessingException;
 import org.apache.cocoon.caching.CachedResponse;
 import org.apache.cocoon.caching.CachingOutputStream;
 import org.apache.cocoon.caching.IdentifierCacheKey;
-import org.apache.cocoon.components.sax.XMLDeserializer;
-import org.apache.cocoon.components.sax.XMLSerializer;
+import org.apache.cocoon.components.sax.XMLByteStreamCompiler;
+import org.apache.cocoon.components.sax.XMLByteStreamInterpreter;
 import org.apache.cocoon.components.sax.XMLTeePipe;
 import org.apache.cocoon.environment.Environment;
 import org.apache.cocoon.environment.ObjectModelHelper;
@@ -172,27 +171,19 @@
             if ( this.cachedResponse == null) {
                 // if we cache, we need an xml serializer
                 if ( this.cacheExpires > 0) {
-                    try {
-                        final XMLConsumer old = this.lastConsumer;
-                        this.xmlSerializer = (XMLSerializer)this.manager.lookup( XMLSerializer.ROLE );
-                        this.lastConsumer = new XMLTeePipe(this.lastConsumer, this.xmlSerializer);
-
-                        super.connectPipeline( environment );
-
-                        this.lastConsumer = old;
-                    } catch ( ServiceException e ) {
-                        throw new ProcessingException("Could not connect pipeline.", e);
-                    }
+                    final XMLConsumer old = this.lastConsumer;
+                    this.xmlSerializer = new XMLByteStreamCompiler();
+                    this.lastConsumer = new XMLTeePipe(this.lastConsumer, this.xmlSerializer);
+
+                    super.connectPipeline( environment );
+
+                    this.lastConsumer = old;
                 } else {
                     super.connectPipeline( environment );
                 }
             } else {
                 // we use the cache, so we need an xml deserializer
-                try {
-                    this.xmlDeserializer = (XMLDeserializer)this.manager.lookup(XMLDeserializer.ROLE);
-                } catch ( ServiceException e ) {
-                    throw new ProcessingException("Could not connect pipeline.", e);
-                }
+                this.xmlDeserializer = new XMLByteStreamInterpreter();
             }
         } else {
             // external: we only need to connect if we don't use a cached response

Modified: cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLByteStreamCompiler.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLByteStreamCompiler.java?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLByteStreamCompiler.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLByteStreamCompiler.java Thu Jan  5 08:02:33 2006
@@ -15,19 +15,21 @@
  */
 package org.apache.cocoon.components.sax;
 
-import org.apache.avalon.excalibur.pool.Recyclable;
+import java.util.HashMap;
+
+import org.apache.cocoon.xml.XMLConsumer;
 import org.xml.sax.Attributes;
 import org.xml.sax.Locator;
 import org.xml.sax.SAXException;
 
-import java.util.HashMap;
-
 /**
  * This a simple xml compiler which outputs a byte array.
+ * If you want to reuse this instance, make sure to call {@link #recycle()}
+ * inbetween two compilation tasks.
  *
  * @version $Id$
  */
-public final class XMLByteStreamCompiler implements XMLSerializer, Recyclable {
+public final class XMLByteStreamCompiler implements XMLConsumer {
 
     private HashMap map;
     private int mapCount;

Modified: cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLByteStreamInterpreter.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLByteStreamInterpreter.java?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLByteStreamInterpreter.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/components/sax/XMLByteStreamInterpreter.java Thu Jan  5 08:02:33 2006
@@ -17,17 +17,23 @@
 
 import java.util.ArrayList;
 
-import org.apache.avalon.excalibur.pool.Recyclable;
-import org.apache.cocoon.xml.AbstractXMLProducer;
+import org.apache.cocoon.xml.DefaultLexicalHandler;
+import org.apache.cocoon.xml.XMLConsumer;
+import org.apache.cocoon.xml.XMLProducer;
+import org.xml.sax.ContentHandler;
 import org.xml.sax.SAXException;
+import org.xml.sax.ext.LexicalHandler;
 import org.xml.sax.helpers.AttributesImpl;
+import org.xml.sax.helpers.DefaultHandler;
 
 /**
  * This a simple xml compiler which takes a byte array as input.
+ * If you want to reuse this interpreter make sure to call first {@link #recycle()}
+ * and then set the new consumer for the sax events.
  *
  * @version $Id$
  */
-public final class XMLByteStreamInterpreter extends AbstractXMLProducer implements XMLDeserializer, Recyclable {
+public final class XMLByteStreamInterpreter implements XMLProducer {
 
     private static final int START_DOCUMENT         = 0;
     private static final int END_DOCUMENT           = 1;
@@ -52,8 +58,48 @@
     private byte[] input;
     private int currentPos;
 
+    protected static final ContentHandler EMPTY_CONTENT_HANDLER = new DefaultHandler();
+
+    /** The <code>ContentHandler</code> receiving SAX events. */
+    protected ContentHandler contentHandler = EMPTY_CONTENT_HANDLER;
+
+    /** The <code>LexicalHandler</code> receiving SAX events. */
+    protected LexicalHandler lexicalHandler = DefaultLexicalHandler.NULL_HANDLER;
+
+    /**
+     * 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) {
+        setContentHandler(consumer);
+        setLexicalHandler(consumer);
+    }
+
+    /**
+     * 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 handler) {
+        this.contentHandler = handler;
+    }
+
+    /**
+     * 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.
+     */
+    public void setLexicalHandler(LexicalHandler handler) {
+        this.lexicalHandler = handler;
+    }
+
     public void recycle() {
-        super.recycle();
+        this.contentHandler = EMPTY_CONTENT_HANDLER;
+        this.lexicalHandler = DefaultLexicalHandler.NULL_HANDLER;
         this.list.clear();
         this.input = null;
     }
@@ -112,11 +158,9 @@
                     break;
                 case COMMENT:
                     chars = this.readChars();
-                    if (this.lexicalHandler != null) {
-                        len = chars.length;
-                        while (len > 0 && chars[len-1]==0) len--;
-                        if (len > 0) lexicalHandler.comment(chars, 0, len);
-                    }
+                    len = chars.length;
+                    while (len > 0 && chars[len-1]==0) len--;
+                    if (len > 0) lexicalHandler.comment(chars, 0, len);
                     break;
                 case LOCATOR:
                     {

Modified: cocoon/trunk/src/java/org/apache/cocoon/generation/FragmentExtractorGenerator.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/generation/FragmentExtractorGenerator.java?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/generation/FragmentExtractorGenerator.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/generation/FragmentExtractorGenerator.java Thu Jan  5 08:02:33 2006
@@ -21,7 +21,7 @@
 import org.apache.cocoon.ResourceNotFoundException;
 import org.apache.cocoon.ProcessingException;
 import org.apache.cocoon.caching.CacheableProcessingComponent;
-import org.apache.cocoon.components.sax.XMLDeserializer;
+import org.apache.cocoon.components.sax.XMLByteStreamInterpreter;
 
 import org.apache.excalibur.source.SourceValidity;
 import org.apache.excalibur.source.impl.validity.NOPValidity;
@@ -73,7 +73,6 @@
         }
 
         Store store = null;
-        XMLDeserializer deserializer = null;
         Object fragment = null;
         try {
             store = (Store) this.manager.lookup(Store.TRANSIENT_STORE);
@@ -82,7 +81,7 @@
                 throw new ResourceNotFoundException("Could not find fragment " + source + " in store");
             }
 
-            deserializer = (XMLDeserializer) this.manager.lookup(XMLDeserializer.ROLE);
+            XMLByteStreamInterpreter deserializer = new XMLByteStreamInterpreter();
             deserializer.setConsumer(this.xmlConsumer);
             deserializer.deserialize(fragment);
 
@@ -93,7 +92,6 @@
             throw new SAXException("Could not lookup for component.", ce);
         } finally {
             this.manager.release(store);
-            this.manager.release(deserializer);
         }
     }
 }

Modified: cocoon/trunk/src/java/org/apache/cocoon/transformation/CIncludeTransformer.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/transformation/CIncludeTransformer.java?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/transformation/CIncludeTransformer.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/transformation/CIncludeTransformer.java Thu Jan  5 08:02:33 2006
@@ -15,15 +15,18 @@
  */
 package org.apache.cocoon.transformation;
 
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.Map;
+
 import org.apache.avalon.framework.activity.Disposable;
 import org.apache.avalon.framework.parameters.Parameters;
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
-
 import org.apache.cocoon.ProcessingException;
 import org.apache.cocoon.caching.CacheableProcessingComponent;
-import org.apache.cocoon.components.sax.XMLDeserializer;
-import org.apache.cocoon.components.sax.XMLSerializer;
+import org.apache.cocoon.components.sax.XMLByteStreamCompiler;
+import org.apache.cocoon.components.sax.XMLByteStreamInterpreter;
 import org.apache.cocoon.components.source.SourceUtil;
 import org.apache.cocoon.environment.SourceResolver;
 import org.apache.cocoon.transformation.helpers.IncludeCacheManager;
@@ -31,7 +34,6 @@
 import org.apache.cocoon.xml.IncludeXMLConsumer;
 import org.apache.cocoon.xml.XMLConsumer;
 import org.apache.cocoon.xml.XMLUtils;
-
 import org.apache.commons.lang.BooleanUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.excalibur.source.Source;
@@ -47,10 +49,6 @@
 import org.xml.sax.SAXException;
 import org.xml.sax.helpers.AttributesImpl;
 
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.Map;
-
 /**
  * @cocoon.sitemap.component.documentation
  * This transformer triggers for the element <code>include</code> in the
@@ -167,8 +165,6 @@
 
     protected IncludeXMLConsumer filter;
 
-    protected XMLSerializer recorder;
-
     protected AttributesImpl srcAttributes = new AttributesImpl();
 
     protected boolean supportCaching;
@@ -236,10 +232,6 @@
             this.cacheManager.terminateSession( this.cachingSession );
         }
         this.cachingSession = null;
-        if ( null != this.recorder) {
-            this.manager.release( this.recorder );
-            this.recorder = null;
-        }
 
         this.configurationParameters = null;
         this.resourceParameters = null;
@@ -370,12 +362,12 @@
                                               this.resourceParameters,
                                               this.resolver);
 
-                XMLSerializer serializer = null;
-                XMLDeserializer deserializer = null;
+                XMLByteStreamCompiler serializer = null;
+                XMLByteStreamInterpreter deserializer = null;
                 try {
                     if ( ignoreErrors ) {
-                        serializer = (XMLSerializer) this.manager.lookup(XMLSerializer.ROLE);
-                        deserializer = (XMLDeserializer)this.manager.lookup(XMLDeserializer.ROLE);
+                        serializer = new XMLByteStreamCompiler();
+                        deserializer = new XMLByteStreamInterpreter();
                         SourceUtil.toSAX(source, serializer, this.configurationParameters, true);
                         deserializer.setConsumer( this.xmlConsumer );
                         deserializer.deserialize( serializer.getSAXFragment() );
@@ -384,10 +376,6 @@
                     }
                 } catch (ProcessingException pe) {
                     if (!ignoreErrors) throw pe;
-                } catch (ServiceException ignore) {
-                } finally {
-                    this.manager.release( serializer );
-                    this.manager.release( deserializer );
                 }
             } catch (SourceException se) {
                 if (!ignoreErrors) throw SourceUtil.handle(se);
@@ -596,14 +584,8 @@
             this.getLogger().debug("BEGIN startCompiledXMLRecording");
         }
 
-        try {
-            this.recorder = (XMLSerializer)this.manager.lookup(XMLSerializer.ROLE);
-
-            this.addRecorder(recorder);
+        this.addRecorder(new XMLByteStreamCompiler());
 
-        } catch (ServiceException ce) {
-            throw new SAXException("Unable to lookup xml serializer for compiling xml.", ce);
-        }
         if (this.getLogger().isDebugEnabled()) {
            this.getLogger().debug("END startCompiledXMLRecording");
         }
@@ -619,7 +601,7 @@
             this.getLogger().debug("BEGIN endCompiledXMLRecording");
         }
 
-        XMLSerializer recorder = (XMLSerializer)this.removeRecorder();
+        XMLByteStreamCompiler recorder = (XMLByteStreamCompiler)this.removeRecorder();
         Object text = recorder.getSAXFragment();
 
         if (this.getLogger().isDebugEnabled()) {
@@ -643,16 +625,9 @@
     public void endDocument() throws SAXException {
         if ( this.compiling ) {
             Object compiledXML = this.endCompiledXMLRecording();
-            XMLDeserializer deserializer = null;
-            try {
-                deserializer = (XMLDeserializer)this.manager.lookup(XMLDeserializer.ROLE);
-                deserializer.setConsumer(this.filter);
-                deserializer.deserialize(compiledXML);
-            } catch (ServiceException ce) {
-                throw new SAXException("Unable to lookup xml deserializer.", ce);
-            } finally {
-                this.manager.release( deserializer );
-            }
+            XMLByteStreamInterpreter deserializer = new XMLByteStreamInterpreter();
+            deserializer.setConsumer(this.filter);
+            deserializer.deserialize(compiledXML);
         }
         super.endDocument();
     }

Modified: cocoon/trunk/src/java/org/apache/cocoon/transformation/FragmentExtractorTransformer.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/transformation/FragmentExtractorTransformer.java?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/transformation/FragmentExtractorTransformer.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/transformation/FragmentExtractorTransformer.java Thu Jan  5 08:02:33 2006
@@ -34,7 +34,7 @@
 
 import org.apache.cocoon.ProcessingException;
 import org.apache.cocoon.caching.CacheableProcessingComponent;
-import org.apache.cocoon.components.sax.XMLSerializer;
+import org.apache.cocoon.components.sax.XMLByteStreamCompiler;
 import org.apache.cocoon.environment.ObjectModelHelper;
 import org.apache.cocoon.environment.SourceResolver;
 import org.apache.cocoon.util.HashUtil;
@@ -85,7 +85,7 @@
     /** The ServiceManager instance */
     protected ServiceManager manager;
 
-    private XMLSerializer serializer;
+    private XMLByteStreamCompiler serializer;
 
     private Map prefixMap;
 
@@ -119,10 +119,7 @@
      * Recycle this component
      */
     public void recycle() {
-        if (this.manager != null) {
-            this.manager.release(serializer);
-            this.serializer = null;
-        }
+        this.serializer = null;
         super.recycle();        
     }
 
@@ -220,11 +217,7 @@
                 getLogger().debug("extractLevel now " + extractLevel + ".");
             }
 
-            try {
-                this.serializer = (XMLSerializer) this.manager.lookup(XMLSerializer.ROLE);
-            } catch (ServiceException se) {
-                throw new SAXException("Could not lookup for XMLSerializer.", se);
-            }
+            this.serializer = new XMLByteStreamCompiler();
 
             // Start the DOM document
             this.serializer.startDocument();

Modified: cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers/DefaultIncludeCacheManager.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers/DefaultIncludeCacheManager.java?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers/DefaultIncludeCacheManager.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers/DefaultIncludeCacheManager.java Thu Jan  5 08:02:33 2006
@@ -29,8 +29,9 @@
 import org.apache.avalon.framework.thread.ThreadSafe;
 import org.apache.cocoon.ProcessingException;
 import org.apache.cocoon.caching.CachedResponse;
-import org.apache.cocoon.components.sax.XMLDeserializer;
-import org.apache.cocoon.components.sax.XMLSerializer;
+
+import org.apache.cocoon.components.sax.XMLByteStreamCompiler;
+import org.apache.cocoon.components.sax.XMLByteStreamInterpreter;
 import org.apache.cocoon.components.sax.XMLTeePipe;
 import org.apache.cocoon.components.source.SourceUtil;
 import org.apache.cocoon.components.thread.RunnableManager;
@@ -177,10 +178,10 @@
             // now we start a parallel thread, this thread gets all required avalon components
             // so it does not have to lookup them by itself
             try {
-                XMLSerializer serializer = (XMLSerializer)this.manager.lookup(XMLSerializer.ROLE);
+                XMLByteStreamCompiler serializer = new XMLByteStreamCompiler();
                 Source source = session.resolveURI(uri, this.resolver);
 
-                LoaderThread loader = new LoaderThread(source, serializer, this.manager);
+                LoaderThread loader = new LoaderThread(source, serializer);
                 final RunnableManager runnableManager = (RunnableManager)this.manager.lookup( RunnableManager.ROLE );
                 session.add(uri, loader);
                 runnableManager.execute( new CocoonRunnable(loader) );
@@ -271,16 +272,9 @@
             }
             
             // stream the content
-            XMLDeserializer deserializer = null;
-            try {
-                deserializer = (XMLDeserializer)this.manager.lookup( XMLDeserializer.ROLE );
-                deserializer.setConsumer(handler);
-                deserializer.deserialize(result);
-            } catch (ServiceException ce) {
-                throw new SAXException("Unable to lookup xml deserializer.", ce);
-            } finally {
-                this.manager.release( deserializer );
-            }
+            XMLByteStreamInterpreter deserializer = new XMLByteStreamInterpreter();
+            deserializer.setConsumer(handler);
+            deserializer.deserialize(result);
             return;
             
         } else {
@@ -300,16 +294,9 @@
                     if (this.getLogger().isDebugEnabled()) {
                         this.getLogger().debug("Streaming from cached response.");
                     }
-                    XMLDeserializer deserializer = null;
-                    try {
-                        deserializer = (XMLDeserializer)this.manager.lookup( XMLDeserializer.ROLE );
-                        deserializer.setConsumer(handler);
-                        deserializer.deserialize(response.getResponse());
-                    } catch (ServiceException ce) {
-                        throw new SAXException("Unable to lookup xml deserializer.", ce);
-                    } finally {
-                        this.manager.release( deserializer );
-                    }
+                    XMLByteStreamInterpreter deserializer =  new XMLByteStreamInterpreter();
+                    deserializer.setConsumer(handler);
+                    deserializer.deserialize(response.getResponse());
                     
                     // load preemptive if the response is not valid
                     if ( session.getExpires() > 0
@@ -333,7 +320,7 @@
         }
 
         // we are not processing in parallel and have no (valid) cached response
-        XMLSerializer serializer = null;
+        XMLByteStreamCompiler serializer = null;
         try {
             final Source source = session.resolveURI(uri, this.resolver);
             
@@ -342,7 +329,7 @@
                 this.getLogger().debug("Streaming directly from source.");
             }
             if (session.getExpires() > 0) {
-                serializer = (XMLSerializer)this.manager.lookup(XMLSerializer.ROLE);
+                serializer = new XMLByteStreamCompiler();
                 XMLTeePipe tee = new XMLTeePipe(handler, serializer);
                 
                 SourceUtil.toSAX(source, tee);
@@ -358,10 +345,6 @@
             
         } catch (ProcessingException pe) {
             throw new SAXException("ProcessingException", pe);
-        } catch (ServiceException e) {
-            throw new SAXException("Unable to lookup xml serializer.", e);
-        } finally {
-            this.manager.release(serializer);
         }
     }
 
@@ -420,19 +403,16 @@
     final private static class LoaderThread implements Runnable {
         
         private final Source source;
-        private final XMLSerializer serializer;
+        private final XMLByteStreamCompiler serializer;
         private final CountDown finished;
         Exception exception;
         byte[]    content;
-        final private ServiceManager manager;
         
         public LoaderThread(Source source, 
-                            XMLSerializer serializer,
-                            ServiceManager manager) {
+                            XMLByteStreamCompiler serializer) {
             this.source = source;
             this.serializer = serializer;
             this.finished = new CountDown( 1 );
-            this.manager = manager;
         }
         
         public void run() {
@@ -442,7 +422,6 @@
             } catch (Exception local) {
                 this.exception = local;
             } finally {
-                this.manager.release( this.serializer );
                 this.finished.release();
             }
         }

Modified: cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers/PreemptiveLoader.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers/PreemptiveLoader.java?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers/PreemptiveLoader.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers/PreemptiveLoader.java Thu Jan  5 08:02:33 2006
@@ -21,9 +21,8 @@
 import java.util.Map;
 
 import org.apache.avalon.framework.logger.Logger;
-import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.cocoon.caching.CachedResponse;
-import org.apache.cocoon.components.sax.XMLSerializer;
+import org.apache.cocoon.components.sax.XMLByteStreamCompiler;
 import org.apache.cocoon.components.source.SourceUtil;
 import org.apache.excalibur.source.Source;
 import org.apache.excalibur.source.SourceResolver;
@@ -92,9 +91,8 @@
      * @param resolver  A source resolver
      * @param logger    A logger
      */
-    public void process(ServiceManager manager,
-                         SourceResolver  resolver,
-                         Logger          logger) {
+    public void process(SourceResolver  resolver,
+                        Logger          logger) {
         this.alive = true;
         if (logger.isDebugEnabled()) {
             logger.debug("PreemptiveLoader: Starting preemptive loading");
@@ -110,7 +108,7 @@
                 }
                 
                 Source source = null;
-                XMLSerializer serializer = null;
+                XMLByteStreamCompiler serializer = null;
 
                 try {
                     if (logger.isDebugEnabled()) {
@@ -118,7 +116,7 @@
                     }
 
                     source = resolver.resolveURI(uri);
-                    serializer = (XMLSerializer)manager.lookup(XMLSerializer.ROLE);
+                    serializer = new XMLByteStreamCompiler();
                 
                     SourceUtil.toSAX(source, serializer);
                 
@@ -132,7 +130,6 @@
                     // all exceptions are ignored!
                 } finally {
                     resolver.release( source );
-                    manager.release( serializer );
                 }
                 if (logger.isDebugEnabled()) {
                     logger.debug("PreemptiveLoader: Finished loading " + uri);

Modified: cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers/PreemptiveLoaderAction.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers/PreemptiveLoaderAction.java?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers/PreemptiveLoaderAction.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers/PreemptiveLoaderAction.java Thu Jan  5 08:02:33 2006
@@ -46,7 +46,7 @@
     throws Exception {
         PreemptiveLoader loader = PreemptiveLoader.getInstance();
         if (!loader.alive) {
-            loader.process(this.manager, resolver, this.getLogger());
+            loader.process(resolver, this.getLogger());
             return EMPTY_MAP;
         }
         return null;

Modified: cocoon/trunk/src/webapp/WEB-INF/xconf/cocoon-core.xconf
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/webapp/WEB-INF/xconf/cocoon-core.xconf?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/trunk/src/webapp/WEB-INF/xconf/cocoon-core.xconf (original)
+++ cocoon/trunk/src/webapp/WEB-INF/xconf/cocoon-core.xconf Thu Jan  5 08:02:33 2006
@@ -580,18 +580,6 @@
 <!-- ====================== System Components =========================== -->
 
   <!--+
-      | XML compiler/decompiler
-      |
-      | These components are used to process SAX events and produce a binary
-      | representation that is much more compact and efficient for
-      | subsequent parsing. These are used by the cache system to save
-      | the intermediate results of the pipeline stages reducing the overhead
-      | of xml parsing/serialization.
-      +-->
-  <xml-serializer class="org.apache.cocoon.components.sax.XMLByteStreamCompiler" logger="core.xml.serializer" pool-max="32"/>
-  <xml-deserializer class="org.apache.cocoon.components.sax.XMLByteStreamInterpreter" logger="core.xml.deserializer" pool-max="32"/>
-
-  <!--+
       | The Cache Manager is a component that can be used to cache content.
       | It is currently used by the cinclude transformer
       +-->

Modified: cocoon/trunk/status.xml
URL: http://svn.apache.org/viewcvs/cocoon/trunk/status.xml?rev=366211&r1=366210&r2=366211&view=diff
==============================================================================
--- cocoon/trunk/status.xml (original)
+++ cocoon/trunk/status.xml Thu Jan  5 08:02:33 2006
@@ -175,6 +175,10 @@
   <!-- These are the changes from the last 2.1.x version. -->
  <changes>
   <release version="@version@" date="@date@">
+    <action dev="CZ" type="update">
+      XMLSerializer and XMLDeserializer are no longer managed components. Use the XMLByteStreamCompiler
+      and XMLByteStreamInterpreter classes directly.
+    </action>
     <action dev="CZ" type="add">
       Add hierarchical property configuration for reloading. The various components checking
       for changes in files like sitemaps, xconfs or flow scripts can now be turned on or off



Mime
View raw message