cziegeler 2003/01/09 07:21:49 Modified: src/scratchpad/src/org/apache/cocoon/components/source/impl SlideSourceFactory.java SlideSource.java Log: Fixing SlideSource Revision Changes Path 1.5 +30 -3 xml-cocoon2/src/scratchpad/src/org/apache/cocoon/components/source/impl/SlideSourceFactory.java Index: SlideSourceFactory.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/components/source/impl/SlideSourceFactory.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- SlideSourceFactory.java 7 Jan 2003 23:56:14 -0000 1.4 +++ SlideSourceFactory.java 9 Jan 2003 15:21:49 -0000 1.5 @@ -64,6 +64,9 @@ import org.apache.avalon.framework.component.ComponentManager; import org.apache.avalon.framework.component.ComponentSelector; import org.apache.avalon.framework.component.Composable; +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.thread.ThreadSafe; @@ -83,10 +86,11 @@ * @version $Id$ */ public class SlideSourceFactory extends AbstractLogEnabled - implements SourceFactory, ThreadSafe, Composable { + implements SourceFactory, ThreadSafe, Composable, Contextualizable { /** The component manager instance */ private ComponentManager manager = null; + private Context context; /** * Set the current <code>ComponentManager</code> instance used by this @@ -166,8 +170,12 @@ if (sliderepository.getDomain().getNamespaceToken(namespace)==null) throw new SourceException("Repository with the namespace '"+namespace+"' couldn't be found"); - return new SlideSource(sliderepository.getDomain().getNamespaceToken(namespace), + SlideSource source = new SlideSource(sliderepository.getDomain().getNamespaceToken(namespace), protocol, location, credential, revision, branch); + source.contextualize(this.context); + source.compose(this.manager); + + return source; } catch (ComponentException ce) { getLogger().error("Could not lookup for component.", ce); @@ -183,5 +191,24 @@ return null; } + + /** + * Release a {@link Source} object. + */ + public void release( Source source ) { + if ( null != source ) { + if ( this.getLogger().isDebugEnabled() ) { + this.getLogger().debug("Releasing source " + source.getSystemId()); + } + // simply do nothing + } + } + /** + * @see org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache.avalon.framework.context.Context) + */ + public void contextualize(Context context) throws ContextException { + this.context = context; + } + } 1.25 +8 -9 xml-cocoon2/src/scratchpad/src/org/apache/cocoon/components/source/impl/SlideSource.java Index: SlideSource.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/components/source/impl/SlideSource.java,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- SlideSource.java 9 Jan 2003 14:35:25 -0000 1.24 +++ SlideSource.java 9 Jan 2003 15:21:49 -0000 1.25 @@ -162,7 +162,7 @@ private CredentialsToken credToken; /** Slide token. */ - SlideToken slideToken; + private SlideToken slideToken; /** Pseudo protocol */ private String protocol = "slide"; @@ -243,7 +243,7 @@ * @param context the context * @throws ContextException if context is invalid */ - public void contextualize(Context context) throws ContextException { + public void contextualize(Context context) { this.context = context; } @@ -1519,13 +1519,12 @@ throw new SourceException("Could not retrieve revision descriptor", se); } } - /* (non-Javadoc) - * @see org.apache.excalibur.source.Source#getProtocol() - */ - public String getProtocol() - { - return null; - } + /** + * @see org.apache.excalibur.source.Source#getProtocol() + */ + public String getProtocol() { + return this.protocol; + } }
---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]