cziegeler    02/02/14 01:30:14

  Modified:    .        changes.xml
               lib/core avalon-scratchpad-20020212.jar
               src/java/org/apache/cocoon Cocoon.java Constants.java
                        cocoon.roles
               src/java/org/apache/cocoon/components/parser JaxpParser.java
                        Parser.java PooledJaxpParser.java XercesParser.java
               src/webapp cocoon.xconf
  Log:
  Installed Avalon XML Parser and deprecated Cocoon parser
  
  Revision  Changes    Path
  1.106     +4 -1      xml-cocoon2/changes.xml
  
  Index: changes.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/changes.xml,v
  retrieving revision 1.105
  retrieving revision 1.106
  diff -u -r1.105 -r1.106
  --- changes.xml       13 Feb 2002 08:23:40 -0000      1.105
  +++ changes.xml       14 Feb 2002 09:30:13 -0000      1.106
  @@ -4,7 +4,7 @@
   
   <!--
     History of Cocoon changes
  -  $Id: changes.xml,v 1.105 2002/02/13 08:23:40 cziegeler Exp $
  +  $Id: changes.xml,v 1.106 2002/02/14 09:30:13 cziegeler Exp $
   -->
   
   <changes title="History of Changes">
  @@ -31,6 +31,9 @@
    </devs>
   
    <release version="@version@" date="@date@">
  +  <action dev="CZ" type="update">
  +   Using migrated XML Parser von Avalon Excalibur instead of own component.
  +  </action>
     <action dev="CZ" type="update">
      Added subprotocol "raw" to the cocoon: protocol. When the subprotocol is
      appended, the request parameters of the original request are not
  
  
  
  1.2       +16 -22    xml-cocoon2/lib/core/avalon-scratchpad-20020212.jar
  
        <<Binary file>>
  
  
  1.16      +19 -9     xml-cocoon2/src/java/org/apache/cocoon/Cocoon.java
  
  Index: Cocoon.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/Cocoon.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- Cocoon.java       13 Feb 2002 11:05:10 -0000      1.15
  +++ Cocoon.java       14 Feb 2002 09:30:13 -0000      1.16
  @@ -55,6 +55,7 @@
   
   package org.apache.cocoon;
   
  +import org.apache.avalon.excalibur.xml.Parser;
   import org.apache.avalon.excalibur.component.DefaultRoleManager;
   import org.apache.avalon.excalibur.component.ExcaliburComponentManager;
   import org.apache.avalon.excalibur.logger.LogKitManageable;
  @@ -74,7 +75,6 @@
   import org.apache.avalon.framework.thread.ThreadSafe;
   import org.apache.cocoon.components.language.generator.CompiledComponent;
   import org.apache.cocoon.components.language.generator.ProgramGenerator;
  -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.components.source.DelayedRefreshSourceWrapper;
  @@ -103,7 +103,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Pierpaolo Fumagalli</a> (Apache 
Software Foundation, Exoffice Technologies)
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stefano Mazzocchi</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Leo Sutic</a>
  - * @version CVS $Id: Cocoon.java,v 1.15 2002/02/13 11:05:10 cziegeler Exp $
  + * @version CVS $Id: Cocoon.java,v 1.16 2002/02/14 09:30:13 cziegeler Exp $
    */
   public class Cocoon
           extends AbstractLoggable
  @@ -232,7 +232,20 @@
   
           // Setup the default parser, for parsing configuration.
           // If one need to use a different parser, set the given system property
  -        String parser = System.getProperty(Constants.PARSER_PROPERTY, 
Constants.DEFAULT_PARSER);
  +        // first check for deprecated property to be compatible:
  +        String parser = System.getProperty(Constants.DEPRECATED_PARSER_PROPERTY, 
Constants.DEFAULT_PARSER);
  +        if ( !Constants.DEFAULT_PARSER.equals( parser ) ) {
  +            this.getLogger().warn("Deprecated property " 
+Constants.DEPRECATED_PARSER_PROPERTY+ " is used. Please use 
"+Constants.PARSER_PROPERTY+" instead.");
  +            if ( "org.apache.cocoon.components.parser.XercesParser".equals(parser) 
) {
  +                parser = "org.apache.avalon.excalibur.xml.XercesParser";
  +            } else {
  +                this.getLogger().warn("Unknown value for deprecated property: " +
  +                                      Constants.DEPRECATED_PARSER_PROPERTY + ", 
value: " + parser +
  +                                      ". If you experience problems during startup, 
check the parser configuration section of the documentation.");
  +            }
  +        } else {
  +            parser = System.getProperty(Constants.PARSER_PROPERTY, 
Constants.DEFAULT_PARSER);
  +        }
           if (getLogger().isDebugEnabled()) {
               getLogger().debug("Using parser: " + parser);
           }
  @@ -316,8 +329,7 @@
               InputStream inputStream = 
ClassUtils.getResource("org/apache/cocoon/cocoon.roles").openStream();
               InputSource is = new InputSource(inputStream);
               is.setSystemId(this.configurationFile.getSystemId());
  -            p.setContentHandler(b);
  -            p.parse(is);
  +            p.parse(is, b);
               roleConfig = b.getConfiguration();
           } catch (Exception e) {
               getLogger().error("Could not configure Cocoon environment", e);
  @@ -335,8 +347,7 @@
               p = (Parser)startupManager.lookup(Parser.ROLE);
               SAXConfigurationHandler b = new SAXConfigurationHandler();
               InputSource is = this.configurationFile.getInputSource();
  -            p.setContentHandler(b);
  -            p.parse(is);
  +            p.parse(is, b);
               this.configuration = b.getConfiguration();
           } catch (Exception e) {
               getLogger().error("Could not configure Cocoon environment", e);
  @@ -370,8 +381,7 @@
                   URL url = context.getResource(userRoles);
                   InputSource is = new InputSource(new 
BufferedInputStream(url.openStream()));
                   is.setSystemId(this.configurationFile.getSystemId());
  -                p.setContentHandler(b);
  -                p.parse(is);
  +                p.parse(is, b);
                   roleConfig = b.getConfiguration();
               } catch (Exception e) {
                   getLogger().error("Could not configure Cocoon environment with user 
roles file", e);
  
  
  
  1.7       +7 -3      xml-cocoon2/src/java/org/apache/cocoon/Constants.java
  
  Index: Constants.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/Constants.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Constants.java    6 Feb 2002 08:41:11 -0000       1.6
  +++ Constants.java    14 Feb 2002 09:30:13 -0000      1.7
  @@ -60,7 +60,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stefano Mazzocchi</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Peter Royal</a>
  - * @version CVS $Id: Constants.java,v 1.6 2002/02/06 08:41:11 cziegeler Exp $
  + * @version CVS $Id: Constants.java,v 1.7 2002/02/14 09:30:13 cziegeler Exp $
    */
   public interface Constants {
   
  @@ -139,10 +139,14 @@
       String DEFAULT_CONF_FILE   = "cocoon.xconf";
   
       /** The name of the property holding the class for a XML parser */
  -    String PARSER_PROPERTY = "org.apache.cocoon.components.parser.Parser";
  +    String PARSER_PROPERTY = "org.apache.avalon.excalibur.xml.Parser";
   
       /** The name of the class for the default XML parser to use */
  -    String DEFAULT_PARSER  = "org.apache.cocoon.components.parser.JaxpParser";
  +    String DEFAULT_PARSER  = "org.apache.avalon.excalibur.xml.JaxpParser";
  +
  +    /** The name of the property holding the class for a XML parser
  +     *  @deprecated This will be removed in future release */
  +    String DEPRECATED_PARSER_PROPERTY = 
"org.apache.cocoon.components.parser.Parser";
   
       /** The namespace prefix for the XSP core logicsheet. */
       String XSP_PREFIX                = "xsp";
  
  
  
  1.10      +7 -4      xml-cocoon2/src/java/org/apache/cocoon/cocoon.roles
  
  Index: cocoon.roles
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/cocoon.roles,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- cocoon.roles      13 Feb 2002 13:26:33 -0000      1.9
  +++ cocoon.roles      14 Feb 2002 09:30:13 -0000      1.10
  @@ -17,10 +17,6 @@
           shorthand="xml-parser"
           default-class="org.apache.avalon.excalibur.xml.JaxpParser"/>
   
  -  <role name="org.apache.cocoon.components.parser.Parser"
  -        shorthand="parser"
  -        default-class="org.apache.cocoon.components.parser.JaxpParser"/>
  -
     <role name="org.apache.cocoon.components.xslt.XSLTProcessor"
           shorthand="xslt-processor"
           default-class="org.apache.cocoon.components.xslt.XSLTProcessorImpl"/>
  @@ -190,5 +186,12 @@
     <role name="org.apache.cocoon.reading.ReaderSelector"
           shorthand="readers"
           default-class="org.apache.cocoon.sitemap.DefaultSitemapComponentSelector"/>
  +
  +  <!-- DEPRECATED, use the xml-parser instead ! -->
  +
  +  <role name="org.apache.cocoon.components.parser.Parser"
  +        shorthand="parser"
  +        default-class="org.apache.cocoon.components.parser.JaxpParser"/>
  +
   
   </role-list>
  
  
  
  1.8       +4 -1      
xml-cocoon2/src/java/org/apache/cocoon/components/parser/JaxpParser.java
  
  Index: JaxpParser.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/parser/JaxpParser.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- JaxpParser.java   4 Feb 2002 12:25:11 -0000       1.7
  +++ JaxpParser.java   14 Feb 2002 09:30:13 -0000      1.8
  @@ -104,10 +104,13 @@
    * </li>
    * </ul>
    *
  + * @deprecated The Avalon XML Parser is now used inside Cocoon. This role
  + *             will be removed in future releases.
  +
    * @author <a href="mailto:[EMAIL PROTECTED]";>Berin Loritsch</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Carsten Ziegeler</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Sylvain Wallez</a>
  - * @version CVS $Id: JaxpParser.java,v 1.7 2002/02/04 12:25:11 cziegeler Exp $
  + * @version CVS $Id: JaxpParser.java,v 1.8 2002/02/14 09:30:13 cziegeler Exp $
    */
   public class JaxpParser extends AbstractXMLProducer
   implements Parser, ErrorHandler, Composable, Parameterizable, Disposable, Poolable {
  
  
  
  1.5       +3 -1      
xml-cocoon2/src/java/org/apache/cocoon/components/parser/Parser.java
  
  Index: Parser.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/parser/Parser.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Parser.java       4 Feb 2002 12:25:11 -0000       1.4
  +++ Parser.java       14 Feb 2002 09:30:13 -0000      1.5
  @@ -67,10 +67,12 @@
   import java.io.IOException;
   
   /**
  + * @deprecated The Avalon XML Parser is now used inside Cocoon. This role
  + *             will be removed in future releases.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Pierpaolo Fumagalli</a>
    *         (Apache Software Foundation, Exoffice Technologies)
  - * @version CVS $Id: Parser.java,v 1.4 2002/02/04 12:25:11 cziegeler Exp $
  + * @version CVS $Id: Parser.java,v 1.5 2002/02/14 09:30:13 cziegeler Exp $
    */
   public interface Parser extends Component, XMLProducer, DOMFactory {
   
  
  
  
  1.5       +3 -1      
xml-cocoon2/src/java/org/apache/cocoon/components/parser/PooledJaxpParser.java
  
  Index: PooledJaxpParser.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/parser/PooledJaxpParser.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- PooledJaxpParser.java     4 Feb 2002 12:25:11 -0000       1.4
  +++ PooledJaxpParser.java     14 Feb 2002 09:30:13 -0000      1.5
  @@ -60,9 +60,11 @@
    * @deprecated <code>PooledJaxpParser</code> is now the default parser for Cocoon
    *             and has thus been moved to {@link JaxpParser} - this class will be
    *             removed in a future release.
  + *             The Avalon XML Parser is now used inside Cocoon. This role
  + *             will be removed in future releases.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Sylvain Wallez</a>
  - * @version CVS $Id: PooledJaxpParser.java,v 1.4 2002/02/04 12:25:11 cziegeler Exp $
  + * @version CVS $Id: PooledJaxpParser.java,v 1.5 2002/02/14 09:30:13 cziegeler Exp $
    */
   public class PooledJaxpParser extends JaxpParser {
   
  
  
  
  1.7       +4 -1      
xml-cocoon2/src/java/org/apache/cocoon/components/parser/XercesParser.java
  
  Index: XercesParser.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/parser/XercesParser.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XercesParser.java 5 Feb 2002 20:58:03 -0000       1.6
  +++ XercesParser.java 14 Feb 2002 09:30:13 -0000      1.7
  @@ -75,9 +75,12 @@
   
   /**
    *
  + * @deprecated The Avalon XML Parser is now used inside Cocoon. This role
  + *             will be removed in future releases.
  +
    * @author <a href="mailto:[EMAIL PROTECTED]";>Pierpaolo Fumagalli</a>
    *         (Apache Software Foundation, Exoffice Technologies)
  - * @version CVS $Id: XercesParser.java,v 1.6 2002/02/05 20:58:03 vgritsenko Exp $
  + * @version CVS $Id: XercesParser.java,v 1.7 2002/02/14 09:30:13 cziegeler Exp $
    */
   public class XercesParser extends AbstractXMLProducer
   implements Parser, ErrorHandler, Composable, Disposable {
  
  
  
  1.27      +44 -14    xml-cocoon2/src/webapp/cocoon.xconf
  
  Index: cocoon.xconf
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/cocoon.xconf,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- cocoon.xconf      11 Feb 2002 16:39:26 -0000      1.26
  +++ cocoon.xconf      14 Feb 2002 09:30:13 -0000      1.27
  @@ -14,28 +14,58 @@
   <!-- ===================== General Components =========================== -->
   
     <!-- Parser:
  -    The default parser used in the Apache Cocoon 2 system is
  -    org.apache.cocoon.components.parser.JaxpParser
  -    Apache Cocoon 2 system requires a JAXP 1.1 parser.
  +    The default parser used in Apache Cocoon is
  +    org.apache.avalon.excalibur.xml.JaxpParser. Apache Cocoon requires a 
  +    JAXP 1.1 parser.
       If you have problems because your servlet environment uses its own
       parser not conforming to JAXP 1.1 try using the alternative
       XercesParser instead of the JaxpParser. To activate the XercesParser,
       change the class attribute to
  -      class="org.apache.cocoon.components.parser.XercesParser"
  +      class="org.apache.avalon.excalibur.xml.XercesParser"
       You will also need to add a system property to your JVM,
       probably on the startup of your servlet engine like this:
  -    
-Dorg.apache.cocoon.components.parser.Parser=org.apache.cocoon.components.parser.XercesParser
  +    
-Dorg.apache.avalon.excalibur.xml.Parser=org.apache.avalon.excalibur.xml.XercesParser
   
  -    validate: This parameter causes the parser to be a validating parser.
  -      XML validation is only being used for the documentation build.
  -      (If you are going to use it elsewhere, then do so with caution.)
  -      You really should have validated all of your XML documents already,
  -      according to their proper DTD or schema. Do not expect Cocoon to do it.
  -      <parameter name="validate" value="false"/>
  +    Configuration for the JaxpParser (not the XercesParser!):
  +    - validate (boolean, default = false): This parameter causes the parser 
  +        to be a validating parser.
  +        XML validation is only being used for the documentation build.
  +        (If you are going to use it elsewhere, then do so with caution.)
  +        You really should have validated all of your XML documents already,
  +        according to their proper DTD or schema. Do not expect Cocoon to do it.
  +    - namespace-prefixes (boolean, default = false) : do we want
  +        namespaces declarations also as 'xmlns:' attributes ?
  +        Note : setting this to true confuses some XSL processors (e.g. Saxon).
  +    - stop-on-warning (boolean, default = true) : should the parser
  +        stop parsing if a warning occurs ?
  +    - stop-on-recoverable-error (boolean, default = true) : should the parser
  +        stop parsing if a recoverable error occurs ?
  +    - reuse-parsers (boolean, default = true) : do we want to reuse
  +        parsers or create a new parser for each parse ?
  +        Note : even if this parameter is true, parsers are not
  +        recycled in case of parsing errors : some parsers (e.g. Xerces) don't like
  +        to be reused after failure.
  +    - sax-parser-factory (string) : the name of the SAXParserFactory
  +        implementation class to be used instead of using the standard JAXP mechanism
  +        (SAXParserFactory.newInstance()). This allows to choose
  +        unambiguously the JAXP implementation to be used when several of them are
  +        available in the classpath.
  +    - document-builder-factory (string) : the name of the
  +        DocumentBuilderFactory implementation to be used (similar to
  +        sax-parser-factory for DOM).
     -->
  -  <parser class="org.apache.cocoon.components.parser.JaxpParser"
  -          logger="core.parser">
  -  </parser>
  +  <xml-parser class="org.apache.avalon.excalibur.xml.JaxpParser"
  +              logger="core.xml-parser">
  +    <parameter name="validate" value="false"/>
  +    <parameter name="namespace-prefixes" value="false"/>
  +    <parameter name="stop-on-warning" value="true"/>
  +    <parameter name="stop-on-recoverable-error" value="true"/>
  +    <!--
  +    <parameter name="reuse-parsers" value="true"/>
  +    <parameter name="sax-parser-factory" value="???"/>
  +    <parameter name="document-builder-factory" value="???"/>
  +    -->
  +  </xml-parser>
     
     <!-- ============================ STORE ============================ -->
     <!-- Store for the generated code. Used by compiled sitemap engine and
  
  
  

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