cziegeler    2003/07/04 05:50:11

  Modified:    src/blocks/woody/java/org/apache/cocoon/woody
                        FormManager.java
               src/blocks/woody/java/org/apache/cocoon/woody/acting
                        AbstractWoodyAction.java
  Log:
  Releasing form manager
  
  Revision  Changes    Path
  1.5       +2 -1      
cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/FormManager.java
  
  Index: FormManager.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/FormManager.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- FormManager.java  26 Jun 2003 09:15:57 -0000      1.4
  +++ FormManager.java  4 Jul 2003 12:50:11 -0000       1.5
  @@ -59,7 +59,8 @@
    * Work interface for the component that can create [EMAIL PROTECTED] Form}s.
    */
   public interface FormManager {
  -    public static final String ROLE = "org.apache.cocoon.woody.FormManager";
  +    
  +    public static final String ROLE = FormManager.class.getName();
   
       public Form createForm(Source source) throws Exception;
   
  
  
  
  1.2       +19 -3     
cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/acting/AbstractWoodyAction.java
  
  Index: AbstractWoodyAction.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/acting/AbstractWoodyAction.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbstractWoodyAction.java  22 Apr 2003 12:04:18 -0000      1.1
  +++ AbstractWoodyAction.java  4 Jul 2003 12:50:11 -0000       1.2
  @@ -52,6 +52,8 @@
   
   import org.apache.cocoon.woody.FormManager;
   import org.apache.cocoon.acting.Action;
  +import org.apache.avalon.framework.activity.Disposable;
  +import org.apache.avalon.framework.component.Component;
   import org.apache.avalon.framework.component.ComponentManager;
   import org.apache.avalon.framework.component.ComponentException;
   import org.apache.avalon.framework.component.Composable;
  @@ -60,10 +62,24 @@
   /**
    * Abstract base class for Woody actions.
    */
  -public abstract class AbstractWoodyAction implements Action, ThreadSafe, Composable 
{
  +public abstract class AbstractWoodyAction 
  +  implements Action, ThreadSafe, Composable, Disposable {
  +      
  +    protected ComponentManager manager;
  +    
       protected FormManager formManager;
   
  -    public void compose(ComponentManager componentManager) throws 
ComponentException {
  -        formManager = (FormManager)componentManager.lookup(FormManager.ROLE);
  +    public void compose(ComponentManager componentManager) 
  +    throws ComponentException {
  +        this.manager = componentManager;
  +        this.formManager = (FormManager)componentManager.lookup(FormManager.ROLE);
  +    }
  +    
  +    public void dispose() {
  +        if ( this.manager != null ) {
  +            this.manager.release( (Component)this.formManager );
  +            this.manager = null;
  +            this.formManager = null;
  +        }
       }
   }
  
  
  

Reply via email to