You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by bd...@apache.org on 2004/02/28 14:10:19 UTC

cvs commit: cocoon-2.1/src/java/org/apache/cocoon/components CocoonComponentManager.java

bdelacretaz    2004/02/28 05:10:19

  Modified:    src/java/org/apache/cocoon/components
                        CocoonComponentManager.java
  Log:
  Added log messages to track bug 27249
  
  Revision  Changes    Path
  1.21      +16 -1     cocoon-2.1/src/java/org/apache/cocoon/components/CocoonComponentManager.java
  
  Index: CocoonComponentManager.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/CocoonComponentManager.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- CocoonComponentManager.java	7 Nov 2003 14:15:53 -0000	1.20
  +++ CocoonComponentManager.java	28 Feb 2004 13:10:19 -0000	1.21
  @@ -113,6 +113,9 @@
        * our lifecycle. */
       private ArrayList parentAwareComponents = new ArrayList();
   
  +    /** has this been disposed? */
  +    private boolean wasDisposed;
  +
       /** Create the ComponentManager */
       public CocoonComponentManager() {
           super( null, Thread.currentThread().getContextClassLoader() );
  @@ -299,6 +302,11 @@
           }
           if ( role.equals(SourceResolver.ROLE) ) {
               if ( null == this.sourceResolver ) {
  +                if(wasDisposed) {
  +                    // (BD) working on bug 27249: I think we could throw an Exception here, as
  +                    // the following call fails anyway, but I'm not sure enough ;-)
  +                    getLogger().warn("Trying to lookup SourceResolver on disposed CocoonComponentManager");
  +                }
                   this.sourceResolver = (SourceResolver) super.lookup( role );
               }
               return this;
  @@ -480,6 +488,10 @@
        * Dispose
        */
       public void dispose() {
  +        if(getLogger().isDebugEnabled()) {
  +            getLogger().debug("CocoonComponentManager.dispose() called");
  +        }
  +
           if ( null != this.sourceResolver ) {
               super.release( this.sourceResolver );
               // We cannot null out sourceResolver here yet as some other not
  @@ -493,6 +505,9 @@
           // All components now are released so sourceResolver should be not
           // needed anymore.
           this.sourceResolver = null;
  +
  +        // This is used to track bug 27249
  +        this.wasDisposed = true;
       }
   
       /**