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 2005/01/03 10:44:00 UTC

svn commit: r123952 - /cocoon/trunk/src/core/java/org/apache/cocoon/core/container/ConfigurationBuilder.java /cocoon/trunk/src/core/java/org/apache/cocoon/core/container/CoreServiceManager.java /cocoon/trunk/src/core/java/org/apache/cocoon/core/container/RoleManager.java

Author: cziegeler
Date: Mon Jan  3 01:43:58 2005
New Revision: 123952

URL: http://svn.apache.org/viewcvs?view=rev&rev=123952
Log:
Start using own configuration builder (For testing)
Modified:
   cocoon/trunk/src/core/java/org/apache/cocoon/core/container/ConfigurationBuilder.java
   cocoon/trunk/src/core/java/org/apache/cocoon/core/container/CoreServiceManager.java
   cocoon/trunk/src/core/java/org/apache/cocoon/core/container/RoleManager.java

Modified: cocoon/trunk/src/core/java/org/apache/cocoon/core/container/ConfigurationBuilder.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/core/java/org/apache/cocoon/core/container/ConfigurationBuilder.java?view=diff&rev=123952&p1=cocoon/trunk/src/core/java/org/apache/cocoon/core/container/ConfigurationBuilder.java&r1=123951&p2=cocoon/trunk/src/core/java/org/apache/cocoon/core/container/ConfigurationBuilder.java&r2=123952
==============================================================================
--- cocoon/trunk/src/core/java/org/apache/cocoon/core/container/ConfigurationBuilder.java	(original)
+++ cocoon/trunk/src/core/java/org/apache/cocoon/core/container/ConfigurationBuilder.java	Mon Jan  3 01:43:58 2005
@@ -16,6 +16,7 @@
 package org.apache.cocoon.core.container;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.BitSet;
 import java.util.Iterator;
@@ -114,6 +115,52 @@
     }
 
     /**
+     * Build a configuration object using an InputStream.
+     * @param inputStream an <code>InputStream</code> value
+     * @return a <code>Configuration</code> object
+     * @throws SAXException if a parsing error occurs
+     * @throws IOException if an I/O error occurs
+     * @throws ConfigurationException if an error occurs
+     */
+    public Configuration build( final InputStream inputStream )
+    throws SAXException, IOException, ConfigurationException {
+        return this.build( new InputSource( inputStream ) );
+    }
+
+    /**
+     * Build a configuration object using an InputStream;
+     * supplying a systemId to make messages about all
+     * kinds of errors more meaningfull.
+     * @param inputStream an <code>InputStream</code> value
+     * @param systemId the systemId to set on the intermediate sax
+     *         inputSource
+     * @return a <code>Configuration</code> object
+     * @throws SAXException if a parsing error occurs
+     * @throws IOException if an I/O error occurs
+     * @throws ConfigurationException if an error occurs
+     */
+    public Configuration build( final InputStream inputStream, 
+                                final String systemId )
+    throws SAXException, IOException, ConfigurationException {
+        final InputSource inputSource = new InputSource( inputStream );
+        inputSource.setSystemId( systemId );
+        return this.build( inputSource );
+    }
+
+    /**
+     * Build a configuration object using an URI
+     * @param uri a <code>String</code> value
+     * @return a <code>Configuration</code> object
+     * @throws SAXException if a parsing error occurs
+     * @throws IOException if an I/O error occurs
+     * @throws ConfigurationException if an error occurs
+     */
+    public Configuration build( final String uri )
+    throws SAXException, IOException, ConfigurationException {
+        return this.build( new InputSource( uri ) );
+    }
+
+    /**
      * Build a configuration object using an XML InputSource object
      * @param input an <code>InputSource</code> value
      * @return a <code>Configuration</code> object
@@ -219,7 +266,7 @@
             String finishedValue;
             if( this.preserveSpace.get( depth ) ) {
                 finishedValue = accumulatedValue;
-            } else if( 0 == accumulatedValue.length() ) {
+            } else if( accumulatedValue.length() == 0 ) {
                 finishedValue = null;
             } else {
                 finishedValue = accumulatedValue.trim();
@@ -234,7 +281,7 @@
             }
         }
 
-        if( 0 == depth ) {
+        if( depth == 0 ) {
             this.configuration = finishedConfiguration;
         }
         this.namespaceSupport.popContext();
@@ -355,15 +402,13 @@
      * @return a <code>String</code> value
      */
     private String getLocationString() {
-        if( null == this.locator ) {
+        if( this.locator == null ) {
             return "Unknown";
-        } else {
-            final int columnNumber = this.locator.getColumnNumber();
-            return
-            this.locator.getSystemId() + ":"
-                + this.locator.getLineNumber()
-                + ( columnNumber >= 0 ? ( ":" + columnNumber ) : "" );
-        }
+        } 
+        final int columnNumber = this.locator.getColumnNumber();
+        return this.locator.getSystemId() + ":"
+            + this.locator.getLineNumber()
+            + ( columnNumber >= 0 ? ( ":" + columnNumber ) : "" );
     }
     
     /* (non-Javadoc)

Modified: cocoon/trunk/src/core/java/org/apache/cocoon/core/container/CoreServiceManager.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/core/java/org/apache/cocoon/core/container/CoreServiceManager.java?view=diff&rev=123952&p1=cocoon/trunk/src/core/java/org/apache/cocoon/core/container/CoreServiceManager.java&r1=123951&p2=cocoon/trunk/src/core/java/org/apache/cocoon/core/container/CoreServiceManager.java&r2=123952
==============================================================================
--- cocoon/trunk/src/core/java/org/apache/cocoon/core/container/CoreServiceManager.java	(original)
+++ cocoon/trunk/src/core/java/org/apache/cocoon/core/container/CoreServiceManager.java	Mon Jan  3 01:43:58 2005
@@ -28,7 +28,6 @@
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.ConfigurationException;
 import org.apache.avalon.framework.configuration.DefaultConfiguration;
-import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
 import org.apache.avalon.framework.context.Context;
 import org.apache.avalon.framework.context.ContextException;
 import org.apache.avalon.framework.logger.Logger;
@@ -554,10 +553,9 @@
             while(handler == null && current.parentManager != null) {
                 if (!(current.parentManager instanceof CoreServiceManager)) {
                     throw new ServiceException(newRole, "Cannot alias to components not managed by CoreServiceManager");
-                } else {
-                    current = (CoreServiceManager)current.parentManager;
-                    handler = (ComponentHandler)current.componentHandlers.get(existingRole);
                 }
+                current = (CoreServiceManager)current.parentManager;
+                handler = (ComponentHandler)current.componentHandlers.get(existingRole);
             }
         }
         
@@ -689,7 +687,7 @@
                 // load it and store it in the read set
                 Configuration includeConfig = null;
                 try {
-                    DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
+                    ConfigurationBuilder builder = new ConfigurationBuilder();
                     includeConfig = builder.build(src.getInputStream(), uri);
                 } catch (ConfigurationException ce) {
                     throw ce;

Modified: cocoon/trunk/src/core/java/org/apache/cocoon/core/container/RoleManager.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/core/java/org/apache/cocoon/core/container/RoleManager.java?view=diff&rev=123952&p1=cocoon/trunk/src/core/java/org/apache/cocoon/core/container/RoleManager.java&r1=123951&p2=cocoon/trunk/src/core/java/org/apache/cocoon/core/container/RoleManager.java&r2=123952
==============================================================================
--- cocoon/trunk/src/core/java/org/apache/cocoon/core/container/RoleManager.java	(original)
+++ cocoon/trunk/src/core/java/org/apache/cocoon/core/container/RoleManager.java	Mon Jan  3 01:43:58 2005
@@ -26,7 +26,6 @@
 import org.apache.avalon.framework.configuration.Configurable;
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.ConfigurationException;
-import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
 import org.apache.avalon.framework.logger.AbstractLogEnabled;
 import org.apache.cocoon.components.ServiceInfo;
 
@@ -271,7 +270,7 @@
         if (!hasLoaded(resource)) {
             loadedURLs.add(resource);
 
-            DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
+            ConfigurationBuilder builder = new ConfigurationBuilder();
             Configuration config = builder.build(resource);
             configure(config);
         }

Re: svn commit: r123952 - /cocoon/trunk/src/core/java/org/apache/cocoon/core/container/ConfigurationBuilder.java /cocoon/trunk/src/core/java/org/apache/cocoon/core/container/CoreServiceManager.java /cocoon/trunk/src/core/java/org/apache/cocoon/core/container/RoleManager.java

Posted by Sylvain Wallez <sy...@apache.org>.
Daniel Fagerstrom wrote:

> Sylvain Wallez wrote:
>
>> cziegeler@apache.org wrote:
>>
>>> Author: cziegeler
>>> Date: Mon Jan  3 01:43:58 2005
>>> New Revision: 123952
>>>
>>> URL: http://svn.apache.org/viewcvs?view=rev&rev=123952
>>> Log:
>>> Start using own configuration builder (For testing)
>>
>>
>> Why do we need our own config builder? Do you have some hidden plans?
>
>
> I don't know anything about Carsten's secret plans ;) But an own 
> config builder that handles names spaces and mixed content it could be 
> usefull. CForms need its own configuration handling, just to handle 
> name spaces and mixed content in configuration files IIUC.


Excalibur's (formerly Avalon's) configuration builder already supports 
namespaces (we use it to build the sitemap). But the Configuration API 
doesn't support mixed content, unrelated to the used builder.

Hence my question about secret plans ;-)

Sylvain

-- 
Sylvain Wallez                                  Anyware Technologies
http://www.apache.org/~sylvain           http://www.anyware-tech.com
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }


Re: svn commit: r123952 - /cocoon/trunk/src/core/java/org/apache/cocoon/core/container/ConfigurationBuilder.java /cocoon/trunk/src/core/java/org/apache/cocoon/core/container/CoreServiceManager.java /cocoon/trunk/src/core/java/org/apache/cocoon/core/container/RoleManager.java

Posted by Daniel Fagerstrom <da...@nada.kth.se>.
Sylvain Wallez wrote:

> cziegeler@apache.org wrote:
>
>> Author: cziegeler
>> Date: Mon Jan  3 01:43:58 2005
>> New Revision: 123952
>>
>> URL: http://svn.apache.org/viewcvs?view=rev&rev=123952
>> Log:
>> Start using own configuration builder (For testing)
>>  
>>
>
> Why do we need our own config builder? Do you have some hidden plans?

I don't know anything about Carsten's secret plans ;) But an own config 
builder that handles names spaces and mixed content it could be usefull. 
CForms need its own configuration handling, just to handle name spaces 
and mixed content in configuration files IIUC.

/Daniel


Re: svn commit: r123952 - /cocoon/trunk/src/core/java/org/apache/cocoon/core/container/ConfigurationBuilder.java /cocoon/trunk/src/core/java/org/apache/cocoon/core/container/CoreServiceManager.java /cocoon/trunk/src/core/java/org/apache/cocoon/core/container/RoleManager.java

Posted by Sylvain Wallez <sy...@apache.org>.
Carsten Ziegeler wrote:

> Sylvain Wallez wrote:
>
>> cziegeler@apache.org wrote:
>>
>>> Author: cziegeler
>>> Date: Mon Jan  3 01:43:58 2005
>>> New Revision: 123952
>>>
>>> URL: http://svn.apache.org/viewcvs?view=rev&rev=123952
>>> Log:
>>> Start using own configuration builder (For testing)
>>>
>>
>> Why do we need our own config builder? Do you have some hidden plans?
>
>
> Hidden plans? Oh well, I just wanted to add a new simple feature:
> property replacement in the cocoon.xconf - if you use ${something} and
> start cocoon using -Dsomething=anything it get's replaced.


Aha! Cool feature indeed ;-)

Sylvain

-- 
Sylvain Wallez                                  Anyware Technologies
http://www.apache.org/~sylvain           http://www.anyware-tech.com
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }


Re: svn commit: r123952 - /cocoon/trunk/src/core/java/org/apache/cocoon/core/container/ConfigurationBuilder.java /cocoon/trunk/src/core/java/org/apache/cocoon/core/container/CoreServiceManager.java /cocoon/trunk/src/core/java/org/apache/cocoon/core/container/RoleManager.java

Posted by Carsten Ziegeler <cz...@apache.org>.
Sylvain Wallez wrote:
> cziegeler@apache.org wrote:
> 
>> Author: cziegeler
>> Date: Mon Jan  3 01:43:58 2005
>> New Revision: 123952
>>
>> URL: http://svn.apache.org/viewcvs?view=rev&rev=123952
>> Log:
>> Start using own configuration builder (For testing)
>>  
>>
> 
> Why do we need our own config builder? Do you have some hidden plans?
> 
Hidden plans? Oh well, I just wanted to add a new simple feature:
property replacement in the cocoon.xconf - if you use ${something} and
start cocoon using -Dsomething=anything it get's replaced.

Carsten

Re: svn commit: r123952 - /cocoon/trunk/src/core/java/org/apache/cocoon/core/container/ConfigurationBuilder.java /cocoon/trunk/src/core/java/org/apache/cocoon/core/container/CoreServiceManager.java /cocoon/trunk/src/core/java/org/apache/cocoon/core/container/RoleManager.java

Posted by Sylvain Wallez <sy...@anyware-tech.com>.
cziegeler@apache.org wrote:

>Author: cziegeler
>Date: Mon Jan  3 01:43:58 2005
>New Revision: 123952
>
>URL: http://svn.apache.org/viewcvs?view=rev&rev=123952
>Log:
>Start using own configuration builder (For testing)
>  
>

Why do we need our own config builder? Do you have some hidden plans?

Sylvain

-- 
Sylvain Wallez                                  Anyware Technologies
http://www.apache.org/~sylvain           http://www.anyware-tech.com
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }