cziegeler    01/07/06 02:58:45

  Modified:    src/org/apache/cocoon/acting Tag: cocoon_20_branch
                        AbstractComplementaryConfigurableAction.java
               src/org/apache/cocoon/components/language/markup/xsp Tag:
                        cocoon_20_branch XSPFormValidatorHelper.java
                        XSPGenerator.java
               src/org/apache/cocoon/components/source Tag:
                        cocoon_20_branch SitemapSource.java URLSource.java
               src/org/apache/cocoon/environment Tag: cocoon_20_branch
                        Source.java
               src/org/apache/cocoon/generation Tag: cocoon_20_branch
                        FileGenerator.java HTMLGenerator.java
               src/org/apache/cocoon/transformation Tag: cocoon_20_branch
                        CIncludeTransformer.java I18nTransformer.java
  Log:
  Using Source streaming instead of directly parsing
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.3.2.1   +10 -18    
xml-cocoon2/src/org/apache/cocoon/acting/AbstractComplementaryConfigurableAction.java
  
  Index: AbstractComplementaryConfigurableAction.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/acting/AbstractComplementaryConfigurableAction.java,v
  retrieving revision 1.3
  retrieving revision 1.3.2.1
  diff -u -r1.3 -r1.3.2.1
  --- AbstractComplementaryConfigurableAction.java      2001/05/31 15:38:51     1.3
  +++ AbstractComplementaryConfigurableAction.java      2001/07/06 09:58:32     1.3.2.1
  @@ -15,9 +15,8 @@
   import org.apache.avalon.framework.configuration.ConfigurationException;
   import org.apache.avalon.framework.configuration.SAXConfigurationHandler;
   import org.apache.cocoon.Roles;
  -import org.apache.cocoon.components.parser.Parser;
  -import org.apache.cocoon.components.url.URLFactory;
  -import org.xml.sax.InputSource;
  +import org.apache.cocoon.components.source.SourceHandler;
  +import org.apache.cocoon.environment.Source;
   
   /**
    * Set up environment for configurable form handling data.  This group
  @@ -27,7 +26,7 @@
    * effective.  The name of the root configuration element is irrelevant.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Berin Loritsch</a>
  - * @version CVS $Revision: 1.3 $ $Date: 2001/05/31 15:38:51 $
  + * @version CVS $Revision: 1.3.2.1 $ $Date: 2001/07/06 09:58:32 $
    */
   public abstract class AbstractComplementaryConfigurableAction extends 
ComposerAction {
       private static Map configurations = new HashMap();
  @@ -49,29 +48,22 @@
               conf = (Configuration) 
AbstractComplementaryConfigurableAction.configurations.get(descriptor);
   
               if (conf == null) {
  -                URLFactory urlFactory = null;
  -                Parser parser = null;
  -                URL resource = null;
  +                SourceHandler sourceHandler = null;
  +                Source resource = null;
   
                   try {
  -                    urlFactory = (URLFactory) 
this.manager.lookup(Roles.URL_FACTORY);
  -                    resource = urlFactory.getURL(descriptor);
  +                    sourceHandler = (SourceHandler) 
this.manager.lookup(Roles.SOURCE_HANDLER);
  +                    resource = sourceHandler.getSource(null, descriptor);
   
  -                    parser = (Parser)this.manager.lookup(Roles.PARSER);
                       SAXConfigurationHandler builder = new SAXConfigurationHandler();
  -                    InputSource inputSource = new 
InputSource(resource.openStream());
  -                    inputSource.setSystemId(resource.toExternalForm());
  +                    resource.stream(builder);
   
  -                    parser.setContentHandler(builder);
  -                    parser.parse(inputSource);
  -
                       conf = builder.getConfiguration();
                   } catch (Exception e) {
                       getLogger().error("Could not configure Database mapping 
environment", e);
  -                    throw new ConfigurationException("Error trying to load 
configurations for resource: " + resource.toExternalForm());
  +                    throw new ConfigurationException("Error trying to load 
configurations for resource: " + (resource == null ? "null" : resource.getSystemId()));
                   } finally {
  -                    if (urlFactory != null) this.manager.release((Component) 
urlFactory);
  -                    if (parser != null) this.manager.release(parser);
  +                    if (sourceHandler != null) this.manager.release((Component) 
sourceHandler);
                   }
   
                   this.cacheConfiguration(descriptor, conf);
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.4   +7 -17     
xml-cocoon2/src/org/apache/cocoon/components/language/markup/xsp/XSPFormValidatorHelper.java
  
  Index: XSPFormValidatorHelper.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/components/language/markup/xsp/XSPFormValidatorHelper.java,v
  retrieving revision 1.1.2.3
  retrieving revision 1.1.2.4
  diff -u -r1.1.2.3 -r1.1.2.4
  --- XSPFormValidatorHelper.java       2001/07/04 07:26:34     1.1.2.3
  +++ XSPFormValidatorHelper.java       2001/07/06 09:58:33     1.1.2.4
  @@ -15,9 +15,8 @@
   import org.apache.cocoon.Roles;
   import org.apache.cocoon.acting.ValidatorActionResult;
   import org.apache.cocoon.acting.ConfigurationHelper;
  -import org.apache.cocoon.components.parser.Parser;
  -import org.apache.cocoon.components.url.URLFactory;
   import org.apache.cocoon.components.language.markup.xsp.XSPObjectHelper;
  +import org.apache.cocoon.components.source.SourceHandler;
   import org.apache.cocoon.components.source.URLSource;
   import org.apache.cocoon.environment.Request;
   import org.apache.cocoon.environment.Source;
  @@ -39,7 +38,7 @@
    * The <code>ValidatorActionResult</code> object helper
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Christian Haul</a>
  - * @version CVS $Revision: 1.1.2.3 $ $Date: 2001/07/04 07:26:34 $
  + * @version CVS $Revision: 1.1.2.4 $ $Date: 2001/07/06 09:58:33 $
    */
   public class XSPFormValidatorHelper {
     /**
  @@ -466,12 +465,10 @@
           synchronized (XSPFormValidatorHelper.configurations) {
               conf = (ConfigurationHelper) 
XSPFormValidatorHelper.configurations.get(descriptor);
           Source source = null;
  -        Parser parser = null;
  -        URLFactory urlFactory = null;
  +            SourceHandler sourceHandler = null;
           try {
  -        urlFactory = (URLFactory) manager.lookup(Roles.URL_FACTORY);
  -        URL resource = urlFactory.getURL(descriptor);
  -        source = new URLSource(resource, manager);
  +                sourceHandler = (SourceHandler) 
manager.lookup(Roles.SOURCE_HANDLER);
  +                source = sourceHandler.getSource(null, descriptor);
   
           if (conf == null || ( reloadable && conf.lastModified < 
source.getLastModified())) {
               logger.debug("XSPFormValidatorHelper.getConfiguration: (Re)Loading " + 
descriptor);
  @@ -479,15 +476,9 @@
               if (conf == null)
               conf = new ConfigurationHelper();
   
  -            parser = (Parser) manager.lookup(Roles.PARSER);
               SAXConfigurationHandler builder = new SAXConfigurationHandler();
  +                    source.stream(builder);
   
  -            InputSource inputSource = source.getInputSource();
  -            inputSource.setSystemId(source.getSystemId());
  -
  -            parser.setContentHandler(builder);
  -            parser.parse(inputSource);
  -
               conf.lastModified = source.getLastModified();
               conf.configuration = builder.getConfiguration();
   
  @@ -499,8 +490,7 @@
           logger.error("XSPFormValidatorHelper.getConfiguration: Could not configure 
Database mapping environment", e);
           throw new ConfigurationException("Error trying to load configurations for 
resource: " + source.getSystemId());
           } finally {
  -        if (urlFactory != null) manager.release((Component) urlFactory);
  -        if (parser != null) manager.release(parser);
  +               if (sourceHandler != null) manager.release((Component) 
sourceHandler);
           }
           }
   
  
  
  
  1.2.2.2   +1 -2      
xml-cocoon2/src/org/apache/cocoon/components/language/markup/xsp/XSPGenerator.java
  
  Index: XSPGenerator.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/components/language/markup/xsp/XSPGenerator.java,v
  retrieving revision 1.2.2.1
  retrieving revision 1.2.2.2
  diff -u -r1.2.2.1 -r1.2.2.2
  --- XSPGenerator.java 2001/06/12 20:03:40     1.2.2.1
  +++ XSPGenerator.java 2001/07/06 09:58:34     1.2.2.2
  @@ -14,7 +14,6 @@
   import org.apache.avalon.framework.context.Contextualizable;
   import org.apache.cocoon.Roles;
   import org.apache.cocoon.components.language.generator.CompiledComponent;
  -import org.apache.cocoon.components.parser.Parser;
   import org.apache.cocoon.generation.AbstractServerPage;
   import org.apache.avalon.excalibur.pool.Recyclable;
   
  @@ -22,7 +21,7 @@
    * Base class for XSP-generated <code>ServerPagesGenerator</code> classes
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Ricardo Rocha</a>
  - * @version CVS $Revision: 1.2.2.1 $ $Date: 2001/06/12 20:03:40 $
  + * @version CVS $Revision: 1.2.2.2 $ $Date: 2001/07/06 09:58:34 $
    */
   public abstract class XSPGenerator extends AbstractServerPage implements 
CompiledComponent, Contextualizable, Recyclable {
     protected Context avalonContext = null;
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.4   +10 -2     
xml-cocoon2/src/org/apache/cocoon/components/source/SitemapSource.java
  
  Index: SitemapSource.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/components/source/SitemapSource.java,v
  retrieving revision 1.1.2.3
  retrieving revision 1.1.2.4
  diff -u -r1.1.2.3 -r1.1.2.4
  --- SitemapSource.java        2001/07/04 13:59:34     1.1.2.3
  +++ SitemapSource.java        2001/07/06 09:58:35     1.1.2.4
  @@ -24,7 +24,6 @@
   import org.apache.cocoon.Constants;
   import org.apache.cocoon.ProcessingException;
   import org.apache.cocoon.Roles;
  -import org.apache.cocoon.components.parser.Parser;
   import org.apache.cocoon.components.pipeline.EventPipeline;
   import org.apache.cocoon.components.pipeline.StreamPipeline;
   import org.apache.cocoon.environment.Environment;
  @@ -33,8 +32,10 @@
   import org.apache.cocoon.serialization.Serializer;
   import org.apache.cocoon.sitemap.Sitemap;
   import org.apache.cocoon.sitemap.SitemapComponentSelector;
  +import org.apache.cocoon.xml.ContentHandlerWrapper;
   import org.apache.cocoon.xml.XMLConsumer;
   import org.apache.cocoon.xml.XMLProducer;
  +import org.xml.sax.ContentHandler;
   import org.xml.sax.InputSource;
   import org.xml.sax.SAXException;
   
  @@ -42,7 +43,7 @@
    * Description of a source which is defined by a pipeline.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Carsten Ziegeler</a>
  - * @version CVS $Revision: 1.1.2.3 $ $Date: 2001/07/04 13:59:34 $
  + * @version CVS $Revision: 1.1.2.4 $ $Date: 2001/07/06 09:58:35 $
    */
   
   public final class SitemapSource
  @@ -239,5 +240,12 @@
           }
       }
   
  +    /**
  +     * Stream content to the content handler
  +     */
  +    public void stream(ContentHandler contentHandler)
  +    throws ProcessingException, SAXException, IOException {
  +        this.stream(new ContentHandlerWrapper(contentHandler));
  +    }
   }
   
  
  
  
  1.1.2.2   +20 -1     
xml-cocoon2/src/org/apache/cocoon/components/source/URLSource.java
  
  Index: URLSource.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/components/source/URLSource.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- URLSource.java    2001/07/04 07:30:02     1.1.2.1
  +++ URLSource.java    2001/07/06 09:58:36     1.1.2.2
  @@ -24,6 +24,7 @@
   import org.apache.cocoon.components.parser.Parser;
   import org.apache.cocoon.environment.Source;
   import org.apache.cocoon.xml.XMLConsumer;
  +import org.xml.sax.ContentHandler;
   import org.xml.sax.InputSource;
   import org.xml.sax.SAXException;
   
  @@ -31,7 +32,7 @@
    * Description of a source which is described by an URL.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Carsten Ziegeler</a>
  - * @version CVS $Revision: 1.1.2.1 $ $Date: 2001/07/04 07:30:02 $
  + * @version CVS $Revision: 1.1.2.2 $ $Date: 2001/07/06 09:58:36 $
    */
   
   public final class URLSource
  @@ -280,6 +281,24 @@
               parser = (Parser)this.manager.lookup(Roles.PARSER);
   
               parser.setConsumer(consumer);
  +            parser.parse(this.getInputSource());
  +        } catch (ComponentException e){
  +            throw new ProcessingException("Exception in URLSource.stream()", e);
  +        } finally {
  +            if (parser != null) this.manager.release(parser);
  +        }
  +    }
  +
  +    /**
  +     * Stream content to the content handler
  +     */
  +    public void stream(ContentHandler contentHandler)
  +    throws ProcessingException, SAXException, IOException {
  +        Parser parser = null;
  +        try {
  +            parser = (Parser)this.manager.lookup(Roles.PARSER);
  +
  +            parser.setContentHandler(contentHandler);
               parser.parse(this.getInputSource());
           } catch (ComponentException e){
               throw new ProcessingException("Exception in URLSource.stream()", e);
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.6.2.2   +9 -1      xml-cocoon2/src/org/apache/cocoon/environment/Source.java
  
  Index: Source.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/environment/Source.java,v
  retrieving revision 1.6.2.1
  retrieving revision 1.6.2.2
  diff -u -r1.6.2.1 -r1.6.2.2
  --- Source.java       2001/06/28 09:58:16     1.6.2.1
  +++ Source.java       2001/07/06 09:58:37     1.6.2.2
  @@ -19,6 +19,7 @@
   import java.net.URLConnection;
   import org.apache.cocoon.ProcessingException;
   import org.apache.cocoon.xml.XMLConsumer;
  +import org.xml.sax.ContentHandler;
   import org.xml.sax.InputSource;
   import org.xml.sax.SAXException;
   
  @@ -27,7 +28,7 @@
    * for accessing any resource (URL, local file etc).
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Carsten Ziegeler</a>
  - * @version CVS $Revision: 1.6.2.1 $ $Date: 2001/06/28 09:58:16 $
  + * @version CVS $Revision: 1.6.2.2 $ $Date: 2001/07/06 09:58:37 $
    */
   
   public interface Source {
  @@ -83,5 +84,12 @@
        */
       void stream(XMLConsumer consumer)
       throws ProcessingException, SAXException, IOException;
  +
  +    /**
  +     * Stream content to the content handler
  +     */
  +    void stream(ContentHandler contentHandler)
  +    throws ProcessingException, SAXException, IOException;
  +
   }
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.9.2.6   +1 -2      xml-cocoon2/src/org/apache/cocoon/generation/FileGenerator.java
  
  Index: FileGenerator.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/generation/FileGenerator.java,v
  retrieving revision 1.9.2.5
  retrieving revision 1.9.2.6
  diff -u -r1.9.2.5 -r1.9.2.6
  --- FileGenerator.java        2001/06/28 09:58:19     1.9.2.5
  +++ FileGenerator.java        2001/07/06 09:58:41     1.9.2.6
  @@ -22,7 +22,6 @@
   import org.apache.cocoon.caching.CacheValidity;
   import org.apache.cocoon.caching.Cacheable;
   import org.apache.cocoon.caching.TimeStampCacheValidity;
  -import org.apache.cocoon.components.parser.Parser;
   import org.apache.cocoon.environment.Source;
   import org.apache.cocoon.environment.SourceResolver;
   import org.apache.cocoon.util.HashUtil;
  @@ -39,7 +38,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Pierpaolo Fumagalli</a>
    *         (Apache Software Foundation, Exoffice Technologies)
    * @author <a href="mailto:[EMAIL PROTECTED]";>Carsten Ziegeler</a>
  - * @version CVS $Revision: 1.9.2.5 $ $Date: 2001/06/28 09:58:19 $
  + * @version CVS $Revision: 1.9.2.6 $ $Date: 2001/07/06 09:58:41 $
    */
   public class FileGenerator extends ComposerGenerator
   implements Cacheable, Recyclable {
  
  
  
  1.4.2.1   +2 -3      xml-cocoon2/src/org/apache/cocoon/generation/HTMLGenerator.java
  
  Index: HTMLGenerator.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/generation/HTMLGenerator.java,v
  retrieving revision 1.4
  retrieving revision 1.4.2.1
  diff -u -r1.4 -r1.4.2.1
  --- HTMLGenerator.java        2001/05/22 14:40:55     1.4
  +++ HTMLGenerator.java        2001/07/06 09:58:41     1.4.2.1
  @@ -25,7 +25,6 @@
   import org.apache.cocoon.caching.Cacheable;
   import org.apache.cocoon.caching.CacheValidity;
   import org.apache.cocoon.caching.TimeStampCacheValidity;
  -import org.apache.cocoon.components.parser.Parser;
   import org.apache.cocoon.environment.Source;
   import org.apache.cocoon.environment.SourceResolver;
   import org.apache.cocoon.util.HashUtil;
  @@ -36,7 +35,7 @@
   /**
    * @author <a href="mailto:[EMAIL PROTECTED]";>Davanum Srinivas</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Carsten Ziegeler</a>
  - * @version CVS $Revision: 1.4 $ $Date: 2001/05/22 14:40:55 $
  + * @version CVS $Revision: 1.4.2.1 $ $Date: 2001/07/06 09:58:41 $
    */
   public class HTMLGenerator extends ComposerGenerator implements Cacheable, 
Recyclable {
   
  @@ -115,7 +114,7 @@
               getLogger().error("HTMLGenerator.generate()", e);
               throw(e);
           } catch (Exception e){
  -            getLogger().error("Could not get parser", e);
  +            getLogger().error("Could not setup jtidy", e);
               throw new ProcessingException("Exception in 
HTMLGenerator.generate()",e);
           }
       }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.2   +4 -14     
xml-cocoon2/src/org/apache/cocoon/transformation/CIncludeTransformer.java
  
  Index: CIncludeTransformer.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/transformation/CIncludeTransformer.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- CIncludeTransformer.java  2001/06/19 13:38:26     1.1.2.1
  +++ CIncludeTransformer.java  2001/07/06 09:58:43     1.1.2.2
  @@ -15,7 +15,6 @@
   import org.apache.avalon.framework.parameters.Parameters;
   import org.apache.cocoon.ProcessingException;
   import org.apache.cocoon.Roles;
  -import org.apache.cocoon.components.parser.Parser;
   import org.apache.cocoon.environment.SourceResolver;
   import org.apache.cocoon.xml.IncludeXMLConsumer;
   import org.xml.sax.Attributes;
  @@ -32,7 +31,7 @@
    * which surrounds the included content.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Carsten Ziegeler</a>
  - * @version CVS $Revision: 1.1.2.1 $ $Date: 2001/06/19 13:38:26 $ $Author: 
cziegeler $
  + * @version CVS $Revision: 1.1.2.2 $ $Date: 2001/07/06 09:58:43 $ $Author: 
cziegeler $
    */
   public class CIncludeTransformer extends AbstractTransformer
   implements Recyclable, Composable {
  @@ -124,23 +123,14 @@
                                  attrs);
           }
   
  -        Parser parser = null;
           try {
  -            parser = (Parser)this.manager.lookup(Roles.PARSER);
  -
  -            parser.setConsumer(consumer);
  -            parser.parse(this.sourceResolver.resolve(src).getInputSource());
  +            this.sourceResolver.resolve(src).stream(consumer);
           } catch (IOException e) {
               getLogger().error("CIncludeTransformer", e);
               throw new SAXException("CIncludeTransformer could not read resource", 
e);
  -        } catch (SAXException e) {
  -            getLogger().error("CIncludeTransformer", e);
  -            throw(e);
  -        } catch (Exception e){
  -            getLogger().error("Could not get parser", e);
  +        } catch (ProcessingException e){
  +            getLogger().error("Could not stream input", e);
               throw new SAXException("Exception in CIncludeTransformer",e);
  -        } finally {
  -            if (parser != null) this.manager.release(parser);
           }
   
           if (!"".equals(element)) {
  
  
  
  1.8.2.4   +1 -12     
xml-cocoon2/src/org/apache/cocoon/transformation/I18nTransformer.java
  
  Index: I18nTransformer.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/org/apache/cocoon/transformation/I18nTransformer.java,v
  retrieving revision 1.8.2.3
  retrieving revision 1.8.2.4
  diff -u -r1.8.2.3 -r1.8.2.4
  --- I18nTransformer.java      2001/06/28 09:58:24     1.8.2.3
  +++ I18nTransformer.java      2001/07/06 09:58:44     1.8.2.4
  @@ -12,7 +12,6 @@
   import org.apache.cocoon.Roles;
   import org.apache.cocoon.ProcessingException;
   import org.apache.cocoon.acting.LangSelect;
  -import org.apache.cocoon.components.parser.Parser;
   import org.apache.cocoon.environment.Source;
   import org.apache.cocoon.environment.SourceResolver;
   
  @@ -857,18 +856,13 @@
       private void initialiseDictionary(Source inputSource)
       throws ProcessingException, SAXException, MalformedURLException, IOException {
   
  -        Parser parser = null;
   
           try
           {
  -            parser = (Parser)(manager.lookup(Roles.PARSER));
  -            InputSource input = new InputSource(inputSource.getInputStream());
  -
               // How this could be cached?
               this.dictionary = new HashMap();
               I18nContentHandler i18n_handler = new I18nContentHandler();
  -            parser.setContentHandler(i18n_handler);
  -            parser.parse(input);
  +            inputSource.stream(i18n_handler);
           } catch(SAXException e) {
               getLogger().error("Error in initialiseDictionary", e);
               throw e;
  @@ -878,11 +872,6 @@
           } catch(IOException e) {
               getLogger().error("Error in initialiseDictionary", e);
               throw e;
  -        } catch(ComponentException e) {
  -            getLogger().error("Error in initialiseDictionary", e);
  -            throw new SAXException(e);
  -        } finally {
  -            if(parser != null) this.manager.release((Component) parser);
           }
       }
   
  
  
  

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