You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by sy...@apache.org on 2004/04/13 23:28:24 UTC

cvs commit: cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/formmodel Field.java Union.java

sylvain     2004/04/13 14:28:24

  Modified:    src/blocks/forms/java/org/apache/cocoon/forms/formmodel
                        Field.java Union.java
  Log:
  Avoid to always validate in ReadFromRequest()
  
  Revision  Changes    Path
  1.7       +9 -22     cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Field.java
  
  Index: Field.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Field.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Field.java	10 Apr 2004 13:41:41 -0000	1.6
  +++ Field.java	13 Apr 2004 21:28:24 -0000	1.7
  @@ -48,11 +48,10 @@
   public class Field extends AbstractWidget implements ValidationErrorAware, DataWidget, SelectableWidget {
       protected SelectionList selectionList;
       
  -    private final FieldDefinition definition;
  +    private final FieldDefinition fieldDefinition;
   
       protected String enteredValue;
       protected Object value;
  -    private Object oldValue;
   
       // At startup, we don't need to parse (both enteredValue and value are null),
       // but need to validate (error if field is required)
  @@ -63,19 +62,15 @@
   
   
       public Field(FieldDefinition fieldDefinition) {
  -        this.definition = fieldDefinition;
  +        this.fieldDefinition = fieldDefinition;
       }
   
       public final FieldDefinition getFieldDefinition() {
  -        return this.definition;
  +        return this.fieldDefinition;
       }
   
       protected WidgetDefinition getDefinition() {
  -        return this.definition;
  -    }
  -
  -    public Object getOldValue() {
  -        return oldValue;
  +        return this.fieldDefinition;
       }
   
       public Object getValue() {
  @@ -158,9 +153,6 @@
                   getForm().addWidgetEvent(new ValueChangedEvent(this, oldValue, newValue));
               }
           }
  -        // If set comes before a form is first sent then the new value will be the old value by the time of the next form request.
  -        // If the set occurs in an event handler then again the new value will be the old value by the time of the next form request.
  -        this.oldValue = newValue;
       }
   
       public void readFromRequest(FormContext formContext) {
  @@ -178,16 +170,11 @@
               }
           }
   
  -        // TODO: This cause validation to occur too early.
  -        getValue();
  -        this.oldValue = value;
  -
           // Only convert if the text value actually changed. Otherwise, keep the old value
           // and/or the old validation error (allows to keep errors when clicking on actions)
           if (!(newEnteredValue == null ? "" : newEnteredValue).equals((enteredValue == null ? "" : enteredValue))) {
               // TODO: Hmmm...
  -            //getForm().addWidgetEvent(new DeferredValueChangedEvent(this, value));
  -            getForm().addWidgetEvent(new DeferredValueChangedEvent(this, getValue()));
  +            getForm().addWidgetEvent(new DeferredValueChangedEvent(this, value));
               enteredValue = newEnteredValue;
               validationError = null;
               value = null;
  @@ -257,7 +244,7 @@
           }
   
           // generate label, help, hint, etc.
  -        definition.generateDisplayData(contentHandler);
  +        fieldDefinition.generateDisplayData(contentHandler);
   
           // generate selection list, if any
           if (selectionList != null) {
  @@ -267,13 +254,13 @@
           }
   
           // include some info about the datatype
  -        definition.getDatatype().generateSaxFragment(contentHandler, locale);
  +        fieldDefinition.getDatatype().generateSaxFragment(contentHandler, locale);
   
           contentHandler.endElement(Constants.INSTANCE_NS, FIELD_EL, Constants.INSTANCE_PREFIX_COLON + FIELD_EL);
       }
   
       public void generateLabel(ContentHandler contentHandler) throws SAXException {
  -        definition.generateLabel(contentHandler);
  +        fieldDefinition.generateLabel(contentHandler);
       }
   
       /**
  
  
  
  1.4       +6 -7      cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Union.java
  
  Index: Union.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Union.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Union.java	12 Apr 2004 14:05:09 -0000	1.3
  +++ Union.java	13 Apr 2004 21:28:24 -0000	1.4
  @@ -66,18 +66,17 @@
           return ELEMENT;
       }
   
  -    public Object getOldValue() {
  -        return ((Field)caseWidget).getOldValue();
  -    }
  -
       public Object getValue() {
           return caseWidget.getValue();
       }
   
       public void readFromRequest(FormContext formContext) {
  +        // Ensure the case widget has read its value
  +        caseWidget.readFromRequest(formContext);
  +        
           Widget widget;
           // Read current case from request
  -        String value = (String)getOldValue();
  +        String value = (String)getValue();
           if (value != null && !value.equals(""))
               if ((widget = getWidget(value)) != null)
                   widget.readFromRequest(formContext);
  @@ -91,7 +90,7 @@
           Widget widget;
           boolean valid = true;
           // Read current case from request
  -        String value = (String)getOldValue();
  +        String value = (String)getValue();
           if (value != null && !value.equals(""))
               if ((widget = getWidget(value)) != null)
                   valid = valid & widget.validate(formContext);