You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by Geoff Howard <co...@leverageweb.com> on 2003/10/26 03:11:20 UTC

Re: cvs commit: cocoon-2.1/src/java/org/apache/cocoon/components/source/impl PartSource.java PartSourceFactory.java

Oh, by the way - when I was testing this I traced things through a few 
times with the debugger and found that contextualize() is being called 
twice for each request.  Is that expected?  Is there any conceivable 
mis-coding or mis-configuration of the component that could cause this?

Geoff

ghoward@apache.org wrote:

>ghoward     2003/10/25 15:31:39
>
>  Modified:    src/java/org/apache/cocoon/components/source/impl
>                        PartSource.java PartSourceFactory.java
>  Log:
>  use contextualize instead of static 
>
>  CocoonComponentManager.getCurrentEnvironment()
>
>  
>
>  
>  Revision  Changes    Path
>  1.2       +2 -7      cocoon-2.1/src/java/org/apache/cocoon/components/source/impl/PartSource.java
>  
>  Index: PartSource.java
>  ===================================================================
>  RCS file: /home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/source/impl/PartSource.java,v
>  retrieving revision 1.1
>  retrieving revision 1.2
>  diff -u -r1.1 -r1.2
>  --- PartSource.java	23 Oct 2003 01:45:34 -0000	1.1
>  +++ PartSource.java	25 Oct 2003 22:31:39 -0000	1.2
>  @@ -58,8 +58,6 @@
>   import org.apache.cocoon.servlet.multipart.Part;
>   import org.apache.cocoon.environment.ObjectModelHelper;
>   import org.apache.cocoon.environment.Request;
>  -import org.apache.cocoon.components.CocoonComponentManager;
>  -
>   import java.net.MalformedURLException;
>   import java.util.Map;
>   import java.io.IOException;
>  @@ -91,7 +89,7 @@
>        * @throws SourceException
>        * @throws MalformedURLException
>        */
>  -	public PartSource(String uri) throws MalformedURLException, SourceException
>  +	public PartSource(String uri, Map objectModel) throws MalformedURLException, SourceException
>   	{
>   		// set the uri for use in getURI()
>   	    this.uri = uri;
>  @@ -110,9 +108,6 @@
>   
>   		// get the request parameter name: the bit after ://
>   		String location = uri.substring(position + 2);
>  -
>  -		// get the object model from the component managers curr env.
>  -		Map objectModel = CocoonComponentManager.getCurrentEnvironment().getObjectModel();
>   
>   		// get the cocoon request from the object model.
>   		Request request = ObjectModelHelper.getRequest(objectModel);
>  
>  
>  
>  1.2       +16 -3     cocoon-2.1/src/java/org/apache/cocoon/components/source/impl/PartSourceFactory.java
>  
>  Index: PartSourceFactory.java
>  ===================================================================
>  RCS file: /home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/source/impl/PartSourceFactory.java,v
>  retrieving revision 1.1
>  retrieving revision 1.2
>  diff -u -r1.1 -r1.2
>  --- PartSourceFactory.java	23 Oct 2003 01:45:34 -0000	1.1
>  +++ PartSourceFactory.java	25 Oct 2003 22:31:39 -0000	1.2
>  @@ -50,6 +50,9 @@
>   */
>   package org.apache.cocoon.components.source.impl;
>   
>  +import org.apache.avalon.framework.context.ContextException;
>  +import org.apache.avalon.framework.context.Contextualizable;
>  +import org.apache.cocoon.components.ContextHelper;
>   import org.apache.excalibur.source.Source;
>   import org.apache.excalibur.source.SourceFactory;
>   
>  @@ -62,16 +65,18 @@
>    *
>    * @author <a href="mailto:paul.crabtree@dna.co.uk">Paul Crabtree</a>
>    */
>  -public class PartSourceFactory implements SourceFactory
>  +public class PartSourceFactory implements SourceFactory, Contextualizable
>   {
>  -	/*
>  +	Map objectModel;
>  +    
>  +    /*
>   	 * Returns a new {@link PartSource} based on the uri.
>   	 *
>   	 * @see org.apache.excalibur.source.SourceFactory#getSource(java.lang.String, java.util.Map)
>   	 */
>       public Source getSource(String uri, Map parameters) throws IOException, MalformedURLException
>       {
>  -        return new PartSource(uri);
>  +        return new PartSource(uri, this.objectModel);
>       }
>   
>   	/**
>  @@ -82,5 +87,13 @@
>       public void release(Source source)
>       {
>           // Nothing to do here
>  +    }
>  +
>  +	/**
>  +     * Get the objectModel from the Context
>  +     */
>  +    public void contextualize(org.apache.avalon.framework.context.Context context)
>  +    throws ContextException {
>  +         this.objectModel = ContextHelper.getObjectModel(context);
>       }
>   }
>  
>  
>  
>
>
>
>  
>