You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by gh...@apache.org on 2003/10/26 00:31:39 UTC

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

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);
       }
   }
  
  
  

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

Posted by Geoff Howard <co...@leverageweb.com>.
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);
>       }
>   }
>  
>  
>  
>
>
>
>  
>