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/04/19 16:53:50 UTC
cvs commit: cocoon-2.1/src/blocks/xmldb/java/org/apache/cocoon/components/source/impl XMLDBSource.java XMLDBSourceFactory.java
cziegeler 2004/04/19 07:53:50
Modified: src/blocks/xmldb/java/org/apache/cocoon/components/source/impl
XMLDBSource.java XMLDBSourceFactory.java
Log:
Use offical way to get service manager
Revision Changes Path
1.14 +21 -13 cocoon-2.1/src/blocks/xmldb/java/org/apache/cocoon/components/source/impl/XMLDBSource.java
Index: XMLDBSource.java
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/blocks/xmldb/java/org/apache/cocoon/components/source/impl/XMLDBSource.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- XMLDBSource.java 5 Mar 2004 13:02:36 -0000 1.13
+++ XMLDBSource.java 19 Apr 2004 14:53:50 -0000 1.14
@@ -15,17 +15,18 @@
*/
package org.apache.cocoon.components.source.impl;
-import org.apache.avalon.framework.component.ComponentException;
-import org.apache.avalon.framework.component.ComponentSelector;
-import org.apache.avalon.framework.component.ComponentManager;
+import org.apache.avalon.framework.context.Context;
+import org.apache.avalon.framework.context.ContextException;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.logger.Logger;
+import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
+import org.apache.avalon.framework.service.ServiceSelector;
import org.apache.cocoon.CascadingIOException;
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.ResourceNotFoundException;
import org.apache.cocoon.components.source.helpers.SourceCredential;
-import org.apache.cocoon.components.CocoonComponentManager;
+import org.apache.cocoon.components.ContextHelper;
import org.apache.cocoon.serialization.Serializer;
import org.apache.cocoon.xml.IncludeXMLConsumer;
import org.apache.excalibur.source.ModifiableSource;
@@ -132,10 +133,14 @@
protected String systemId;
/** ServiceManager */
- protected ServiceManager manager;
+ protected final ServiceManager manager;
/** XMLDBOutputStream for writing to Modifiable resource */
protected XMLDBOutputStream os;
+
+ /** The Avalon context */
+ protected final Context context;
+
/**
* The constructor.
*
@@ -147,8 +152,10 @@
public XMLDBSource(Logger logger,
SourceCredential credential,
String url,
- ServiceManager manager) {
+ ServiceManager manager,
+ Context context) {
enableLogging(logger);
+ this.context = context;
this.manager = manager;
this.user = credential.getPrincipal();
@@ -432,12 +439,13 @@
public InputStream getInputStream()
throws IOException {
- ComponentSelector serializerSelector = null;
+ ServiceManager manager = null;
+ ServiceSelector serializerSelector = null;
Serializer serializer = null;
// this.manager does not have Serializer
- ComponentManager manager = CocoonComponentManager.getSitemapComponentManager();
try {
- serializerSelector = (ComponentSelector) manager.lookup(Serializer.ROLE + "Selector");
+ manager = (ServiceManager) this.context.get(ContextHelper.CONTEXT_SITEMAP_SERVICE_MANAGER);
+ serializerSelector = (ServiceSelector) manager.lookup(Serializer.ROLE + "Selector");
serializer = (Serializer)serializerSelector.select("xml");
ByteArrayOutputStream os = new ByteArrayOutputStream();
serializer.setOutputStream(os);
@@ -445,10 +453,10 @@
toSAX(serializer);
return new ByteArrayInputStream(os.toByteArray());
-// } catch (ServiceException e) {
-// throw new CascadingIOException("Could not lookup pipeline components", e);
- } catch (ComponentException e) {
+ } catch (ServiceException e) {
throw new CascadingIOException("Could not lookup pipeline components", e);
+ } catch (ContextException ce) {
+ throw new CascadingIOException("Could not get service manager.", ce);
} catch (Exception e) {
throw new CascadingIOException("Exception during processing of " + getURI(), e);
} finally {
1.8 +16 -3 cocoon-2.1/src/blocks/xmldb/java/org/apache/cocoon/components/source/impl/XMLDBSourceFactory.java
Index: XMLDBSourceFactory.java
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/blocks/xmldb/java/org/apache/cocoon/components/source/impl/XMLDBSourceFactory.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- XMLDBSourceFactory.java 5 Mar 2004 13:02:36 -0000 1.7
+++ XMLDBSourceFactory.java 19 Apr 2004 14:53:50 -0000 1.8
@@ -23,6 +23,9 @@
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.context.Context;
+import org.apache.avalon.framework.context.ContextException;
+import org.apache.avalon.framework.context.Contextualizable;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.Serviceable;
@@ -43,7 +46,7 @@
* @version CVS $Id$
*/
public final class XMLDBSourceFactory extends AbstractLogEnabled
- implements SourceFactory, Configurable, Serviceable, ThreadSafe {
+ implements SourceFactory, Contextualizable, Configurable, Serviceable, ThreadSafe {
/** The ServiceManager instance */
protected ServiceManager m_manager;
@@ -51,6 +54,15 @@
/** A Map containing the authentication credentials */
protected HashMap credentialMap;
+ /** The avalon context */
+ protected Context context;
+
+ /* (non-Javadoc)
+ * @see org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache.avalon.framework.context.Context)
+ */
+ public void contextualize(Context context) throws ContextException {
+ this.context = context;
+ }
/**
* Configure the instance and initialize XML:DB connections (load and register the drivers).
*/
@@ -125,7 +137,8 @@
return new XMLDBSource(this.getLogger(),
credential, location,
- this.m_manager);
+ this.m_manager,
+ this.context);
}
public void release(org.apache.excalibur.source.Source source) {