You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2004/03/01 21:34:28 UTC

cvs commit: cocoon-2.1/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl AbstractCopletAdapter.java

cziegeler    2004/03/01 12:34:28

  Modified:    src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl
                        AbstractCopletAdapter.java
  Log:
  Use SaxBuffer instead of xmlserializer
  
  Revision  Changes    Path
  1.8       +6 -32     cocoon-2.1/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/AbstractCopletAdapter.java
  
  Index: AbstractCopletAdapter.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/AbstractCopletAdapter.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- AbstractCopletAdapter.java	12 Feb 2004 09:33:30 -0000	1.7
  +++ AbstractCopletAdapter.java	1 Mar 2004 20:34:28 -0000	1.8
  @@ -58,17 +58,13 @@
   import org.apache.avalon.framework.service.ServiceManager;
   import org.apache.avalon.framework.service.Serviceable;
   import org.apache.avalon.framework.thread.ThreadSafe;
  -import org.apache.cocoon.components.sax.XMLDeserializer;
  -import org.apache.cocoon.components.sax.XMLSerializer;
   import org.apache.cocoon.portal.coplet.CopletData;
   import org.apache.cocoon.portal.coplet.CopletInstanceData;
   import org.apache.cocoon.portal.coplet.adapter.CopletAdapter;
  -import org.apache.cocoon.xml.ContentHandlerWrapper;
  -import org.apache.cocoon.xml.XMLConsumer;
  +import org.apache.cocoon.xml.SaxBuffer;
   import org.apache.cocoon.xml.XMLUtils;
   import org.xml.sax.ContentHandler;
   import org.xml.sax.SAXException;
  -import org.xml.sax.ext.LexicalHandler;
   
   /**
    * This is the adapter to use pipelines as coplets
  @@ -124,14 +120,12 @@
           
           if ( bool != null && bool.booleanValue() ) {
               boolean read = false;
  -            XMLSerializer serializer = null;
  -            Object data = null;
  +            SaxBuffer buffer = new SaxBuffer();
               try {
  -                serializer = (XMLSerializer)this.manager.lookup(XMLSerializer.ROLE);
                   
                   if ( timeout != null ) {
                       final int milli = timeout.intValue() * 1000;
  -                    LoaderThread loader = new LoaderThread(this, coplet, serializer);
  +                    LoaderThread loader = new LoaderThread(this, coplet, buffer);
                       Thread thread = new Thread(loader);
                       thread.start();
                       try {
  @@ -139,38 +133,18 @@
                       } catch (InterruptedException ignore) {
                       }
                       if ( loader.finished ) {
  -                        data = serializer.getSAXFragment();
                           read = true;
                       }
                   } else {
  -                    this.streamContent( coplet, serializer );
  -                    data = serializer.getSAXFragment();
  +                    this.streamContent( coplet, buffer );
                       read = true;
                   }
  -            } catch (ServiceException ce) {
  -                throw new SAXException("Unable to lookup xml serializer.", ce);
               } catch (Exception exception ) {
                   this.getLogger().warn("Unable to get content of coplet: " + coplet.getId(), exception);
  -            } finally {
  -                this.manager.release( serializer );
               }
               
               if ( read ) {
  -                XMLDeserializer deserializer = null;
  -                try {
  -                    deserializer = (XMLDeserializer)this.manager.lookup(XMLDeserializer.ROLE);
  -                    if ( contentHandler instanceof XMLConsumer ) {
  -                        deserializer.setConsumer( (XMLConsumer)contentHandler );
  -                    } else {
  -                        LexicalHandler lh = (contentHandler instanceof LexicalHandler ? (LexicalHandler)contentHandler : null);
  -                        deserializer.setConsumer(  new ContentHandlerWrapper(contentHandler, lh));
  -                    }
  -                    deserializer.deserialize( data );
  -                } catch (ServiceException ce) {
  -                    throw new SAXException("Unable to lookup xml deserializer.", ce);
  -                } finally {
  -                    this.manager.release( deserializer );
  -                }
  +                buffer.toSAX( contentHandler );
               } else {
                   if ( !this.renderErrorContent(coplet, contentHandler)) {
                       // FIXME - get correct error message