bruno 2003/06/30 06:25:28
Modified: src/blocks/woody/java/org/apache/cocoon/woody FormContext.java src/blocks/woody/java/org/apache/cocoon/woody/acting HandleFormSubmitAction.java src/blocks/woody/java/org/apache/cocoon/woody/formmodel Form.java Log: Make the FormHandler a property of the Form rather than the FormContext. Revision Changes Path 1.2 +1 -11 cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/FormContext.java Index: FormContext.java =================================================================== RCS file: /home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/FormContext.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- FormContext.java 14 May 2003 11:33:37 -0000 1.1 +++ FormContext.java 30 Jun 2003 13:25:28 -0000 1.2 @@ -62,17 +62,11 @@ private Request request; private Locale locale; private ActionEvent actionEvent; - private FormHandler formHandler; private boolean doValidation; public FormContext(Request request, Locale locale) { - this(request, locale, null); - } - - public FormContext(Request request, Locale locale, FormHandler formHandler) { this.request = request; - this.locale = locale; - this.formHandler = formHandler; + this.locale = locale;; doValidation = true; } @@ -107,9 +101,5 @@ public boolean doValidation() { return doValidation; - } - - public FormHandler getFormHandler() { - return formHandler; } } 1.4 +2 -5 cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/acting/HandleFormSubmitAction.java Index: HandleFormSubmitAction.java =================================================================== RCS file: /home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/acting/HandleFormSubmitAction.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- HandleFormSubmitAction.java 14 May 2003 11:33:38 -0000 1.3 +++ HandleFormSubmitAction.java 30 Jun 2003 13:25:28 -0000 1.4 @@ -96,13 +96,10 @@ Class clazz = Class.forName(formHandlerClassName); formHandler = (FormHandler)clazz.newInstance(); formHandler.setup(form); + form.setFormHandler(formHandler); } - FormContext formContext; - if (formHandler == null) - formContext = new FormContext(request, Locale.US); - else - formContext = new FormContext(request, Locale.US, formHandler); + FormContext formContext = new FormContext(request, Locale.US); boolean finished = form.process(formContext); request.setAttribute(formAttribute, form); 1.4 +8 -2 cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/formmodel/Form.java Index: Form.java =================================================================== RCS file: /home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/formmodel/Form.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- Form.java 14 May 2003 11:45:44 -0000 1.3 +++ Form.java 30 Jun 2003 13:25:28 -0000 1.4 @@ -52,6 +52,7 @@ import org.apache.cocoon.woody.Constants; import org.apache.cocoon.woody.FormContext; +import org.apache.cocoon.woody.FormHandler; import org.apache.cocoon.xml.AttributesImpl; import org.xml.sax.ContentHandler; import org.xml.sax.SAXException; @@ -66,6 +67,7 @@ private List widgets; private Map widgetsById; private FormDefinition definition; + private FormHandler formHandler; public Form(FormDefinition definition) { widgets = new ArrayList(); @@ -79,6 +81,10 @@ widgetsById.put(widget.getId(), widget); } + public void setFormHandler(FormHandler formHandler) { + this.formHandler = formHandler; + } + /** * Processes a form submit. This consists of multiple steps: * <ul> @@ -94,8 +100,8 @@ */ public boolean process(FormContext formContext) { readFromRequest(formContext); - if (formContext.getActionEvent() != null && formContext.getFormHandler() != null) { - formContext.getFormHandler().handleActionEvent(formContext.getActionEvent()); + if (formContext.getActionEvent() != null && formHandler != null) { + formHandler.handleActionEvent(formContext.getActionEvent()); } if (formContext.doValidation()) return validate(formContext);