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