cziegeler    02/04/08 07:36:34

  Modified:    src/java/org/apache/cocoon Cocoon.java cocoon.roles
               src/java/org/apache/cocoon/environment
                        AbstractEnvironment.java Environment.java
  Log:
  Next step in source resolving
  
  Revision  Changes    Path
  1.22      +10 -1     xml-cocoon2/src/java/org/apache/cocoon/Cocoon.java
  
  Index: Cocoon.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/Cocoon.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- Cocoon.java       2 Apr 2002 13:13:06 -0000       1.21
  +++ Cocoon.java       8 Apr 2002 14:36:34 -0000       1.22
  @@ -99,7 +99,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Pierpaolo Fumagalli</a> (Apache 
Software Foundation, Exoffice Technologies)
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stefano Mazzocchi</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Leo Sutic</a>
  - * @version CVS $Id: Cocoon.java,v 1.21 2002/04/02 13:13:06 cziegeler Exp $
  + * @version CVS $Id: Cocoon.java,v 1.22 2002/04/08 14:36:34 cziegeler Exp $
    */
   public class Cocoon
           extends AbstractLoggable
  @@ -146,6 +146,9 @@
       /** the Processor if it is ThreadSafe */
       private Processor threadSafeProcessor = null;
   
  +    /** The Source Resolver */
  +    private org.apache.avalon.excalibur.source.SourceResolver sourceResolver;
  +
       /**
        * Creates a new <code>Cocoon</code> instance.
        *
  @@ -283,6 +286,8 @@
               }
               this.componentManager.release(processor);
           }
  +
  +        this.sourceResolver = 
(org.apache.avalon.excalibur.source.SourceResolver)this.componentManager.lookup(org.apache.avalon.excalibur.source.SourceResolver.ROLE);
       }
   
       /** Dump System Properties */
  @@ -444,6 +449,8 @@
        */
       public void dispose() {
           this.componentManager.release(this.threadSafeProcessor);
  +        this.componentManager.release(this.sourceResolver);
  +        this.sourceResolver = null;
           this.componentManager.dispose();
           if (this.configurationFile != null) {
               this.configurationFile.recycle();
  @@ -564,6 +571,7 @@
               throw new IllegalStateException("You cannot process a Disposed Cocoon 
engine.");
           }
   
  +        environment.setSourceResolver( this.sourceResolver );
           try {
               if (this.getLogger().isDebugEnabled()) {
                   ++activeRequestCount;
  @@ -587,6 +595,7 @@
               if (this.getLogger().isDebugEnabled()) {
                   --activeRequestCount;
               }
  +            environment.setSourceResolver( null );
           }
       }
   
  
  
  
  1.18      +4 -0      xml-cocoon2/src/java/org/apache/cocoon/cocoon.roles
  
  Index: cocoon.roles
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/cocoon.roles,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- cocoon.roles      29 Mar 2002 17:55:19 -0000      1.17
  +++ cocoon.roles      8 Apr 2002 14:36:34 -0000       1.18
  @@ -110,6 +110,10 @@
           shorthand="source-handler"
           default-class="org.apache.cocoon.components.source.SourceHandlerImpl"/>
   
  +  <role name="org.apache.avalon.excalibur.source.SourceFactorySelector"
  +        shorthand="source-factories"
  +        
default-class="org.apache.avalon.excalibur.component.ExcaliburComponentSelector"/>
  +
     <role name="org.apache.avalon.excalibur.source.SourceResolver"
           shorthand="source-resolver"
           default-class="org.apache.avalon.excalibur.source.SourceResolverImpl"/>
  
  
  
  1.12      +13 -3     
xml-cocoon2/src/java/org/apache/cocoon/environment/AbstractEnvironment.java
  
  Index: AbstractEnvironment.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/environment/AbstractEnvironment.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- AbstractEnvironment.java  8 Apr 2002 12:28:24 -0000       1.11
  +++ AbstractEnvironment.java  8 Apr 2002 14:36:34 -0000       1.12
  @@ -70,7 +70,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Giacomo Pati</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Carsten Ziegeler</a>
  - * @version CVS $Id: AbstractEnvironment.java,v 1.11 2002/04/08 12:28:24 cziegeler 
Exp $
  + * @version CVS $Id: AbstractEnvironment.java,v 1.12 2002/04/08 14:36:34 cziegeler 
Exp $
    */
   public abstract class AbstractEnvironment extends AbstractLoggable implements 
Environment {
   
  @@ -98,6 +98,9 @@
       /** The source handler for the current environment */
       protected SourceHandler sourceHandler;
   
  +    /** The real source resolver */
  +    protected org.apache.avalon.excalibur.source.SourceResolver sourceResolver;
  +
       /** The attributes */
       private Map attributes = new HashMap();
   
  @@ -160,6 +163,13 @@
           this.sourceHandler = sourceHandler;
       }
   
  +    /**
  +     * Set the <code>SourceResolver</code>
  +     */
  +    public void setSourceResolver(org.apache.avalon.excalibur.source.SourceResolver 
resolver) {
  +        this.sourceResolver = resolver;
  +    }
  +
       // Sitemap methods
   
       /**
  @@ -420,14 +430,14 @@
                                                                   String baseURI,
                                                                   final Map    
parameters)
       throws MalformedURLException, IOException, ComponentException {
  -        throw new RuntimeException("AbstractEnvironment.resolveURI() is not 
implemented yet.");
  +        return this.sourceResolver.resolveURI(location, baseURI, parameters);
       }
   
       /**
        * Releases a resolved resource
        */
       public void release( final org.apache.avalon.excalibur.source.Source source ) {
  -        throw new RuntimeException("AbstractEnvironment.release() is not 
implemented yet.");
  +        this.sourceResolver.release( source );
       }
   
   }
  
  
  
  1.6       +6 -1      
xml-cocoon2/src/java/org/apache/cocoon/environment/Environment.java
  
  Index: Environment.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/environment/Environment.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Environment.java  22 Feb 2002 07:03:49 -0000      1.5
  +++ Environment.java  8 Apr 2002 14:36:34 -0000       1.6
  @@ -63,7 +63,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Giacomo Pati</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Carsten Ziegeler</a>
  - * @version CVS $Id: Environment.java,v 1.5 2002/02/22 07:03:49 cziegeler Exp $
  + * @version CVS $Id: Environment.java,v 1.6 2002/04/08 14:36:34 cziegeler Exp $
    */
   
   public interface Environment extends SourceResolver {
  @@ -77,6 +77,11 @@
        * Set the <code>SourceHandler</code> for the current request
        */
       void setSourceHandler(SourceHandler sourceHandler);
  +
  +    /**
  +     * Set the <code>SourceResolver</code>
  +     */
  +    void setSourceResolver(org.apache.avalon.excalibur.source.SourceResolver 
resolver);
   
       /**
        * Get the URI to process. The prefix is stripped off.
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to