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 }