You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2005/06/20 23:29:15 UTC

cvs commit: jakarta-tapestry/src/documentation/content/xdocs links.ent

hlship      2005/06/20 14:29:15

  Modified:    .        status.xml
               framework/src/java/org/apache/tapestry/form TextField.jwc
                        TextArea.jwc DatePicker.jwc
               framework/src/java/org/apache/tapestry/form/translator
                        TranslatorBindingFactory.java
               framework/src/descriptor/META-INF
                        tapestry.form.validator.xml
               framework/src/java/org/apache/tapestry/form/validator
                        ValidatorContribution.java
               src/documentation/content/xdocs/UsersGuide bindings.xml
               examples/Workbench/src/context/WEB-INF Fields.page
               examples/Workbench/src/context/css workbench.css
               src/documentation/content/xdocs links.ent
  Added:       framework/src/java/org/apache/tapestry/form/validator
                        ValidatorsBinding.java
                        ValidatorsBindingFactory.java
               framework/src/test/org/apache/tapestry/form/validator
                        TestValidatorsBinding.java
  Log:
  Add validators: binding prefix, which allows validators to be specified as a succinct list.
  
  Revision  Changes    Path
  1.139     +2 -0      jakarta-tapestry/status.xml
  
  Index: status.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/status.xml,v
  retrieving revision 1.138
  retrieving revision 1.139
  diff -u -r1.138 -r1.139
  --- status.xml	19 Jun 2005 16:21:15 -0000	1.138
  +++ status.xml	20 Jun 2005 21:29:15 -0000	1.139
  @@ -87,6 +87,8 @@
          <action type="add" dev="HLS">Listener methods may now return a page name, or a page instance, to activate and render the response.</action>
          <action type="add" dev="HLS">Add injection of pages.</action>
          <action type="add" dev="HLS">Add InjectPage annotation.</action>
  +       <action type="add" dev="HLS">Add validators: binding prefix, which allows validators to be
  +        specified as a succinct list.</action>
       </release>
       <release version="4.0-alpha-3" date="May 16 2005">
         <action type="add" dev="HLS">Add initial support for the validator: binding prefix.</action>
  
  
  
  1.10      +1 -1      jakarta-tapestry/framework/src/java/org/apache/tapestry/form/TextField.jwc
  
  Index: TextField.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/TextField.jwc,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- TextField.jwc	18 Jun 2005 18:09:13 -0000	1.9
  +++ TextField.jwc	20 Jun 2005 21:29:15 -0000	1.10
  @@ -53,7 +53,7 @@
     </parameter>
     
     <parameter name="translator" default-binding="translator" default-value="string"/>
  -  <parameter name="validators" default-binding="ognl"/>
  +  <parameter name="validators" default-binding="validators"/>
     
     <reserved-parameter name="name"/>
     <reserved-parameter name="type"/>
  
  
  
  1.10      +1 -1      jakarta-tapestry/framework/src/java/org/apache/tapestry/form/TextArea.jwc
  
  Index: TextArea.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/TextArea.jwc,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- TextArea.jwc	18 Jun 2005 18:09:13 -0000	1.9
  +++ TextArea.jwc	20 Jun 2005 21:29:15 -0000	1.10
  @@ -45,7 +45,7 @@
     </parameter>
   
     <parameter name="translator" default-binding="translator" default-value="string"/>
  -  <parameter name="validators" default-binding="ognl"/>
  +  <parameter name="validators" default-binding="validators"/>
   
     <reserved-parameter name="name"/>
   
  
  
  
  1.12      +1 -1      jakarta-tapestry/framework/src/java/org/apache/tapestry/form/DatePicker.jwc
  
  Index: DatePicker.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/DatePicker.jwc,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- DatePicker.jwc	18 Jun 2005 18:09:13 -0000	1.11
  +++ DatePicker.jwc	20 Jun 2005 21:29:15 -0000	1.12
  @@ -29,7 +29,7 @@
     
     <parameter name="displayName" default-binding="literal"/>
     <parameter name="translator" default-binding="translator" default-value="date,pattern=dd MMM yyyy"/>
  -  <parameter name="validators" default-binding="ognl"/>
  +  <parameter name="validators" default-binding="validators"/>
   
     <asset name="defaultIcon" path="DatePickerIcon.png"/>
          
  
  
  
  1.2       +4 -11     jakarta-tapestry/framework/src/java/org/apache/tapestry/form/translator/TranslatorBindingFactory.java
  
  Index: TranslatorBindingFactory.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/translator/TranslatorBindingFactory.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TranslatorBindingFactory.java	16 Jun 2005 20:57:10 -0000	1.1
  +++ TranslatorBindingFactory.java	20 Jun 2005 21:29:15 -0000	1.2
  @@ -19,8 +19,7 @@
   import org.apache.hivemind.lib.BeanFactory;
   import org.apache.tapestry.IBinding;
   import org.apache.tapestry.IComponent;
  -import org.apache.tapestry.binding.BindingFactory;
  -import org.apache.tapestry.coerce.ValueConverter;
  +import org.apache.tapestry.binding.AbstractBindingFactory;
   
   /**
    * Uses the tapestry.form.translator.TranslatorBeanFactory service to obtain configured
  @@ -30,12 +29,10 @@
    * @author Howard Lewis Ship
    * @since 4.0
    */
  -public class TranslatorBindingFactory implements BindingFactory
  +public class TranslatorBindingFactory extends AbstractBindingFactory
   {
       private BeanFactory _translatorBeanFactory;
   
  -    private ValueConverter _valueConverter;
  -
       public IBinding createBinding(IComponent root, String bindingDescription, String path,
               Location location)
       {
  @@ -43,7 +40,8 @@
           {
               Translator translator = (Translator) _translatorBeanFactory.get(path);
   
  -            return new TranslatorBinding(bindingDescription, _valueConverter, location, translator);
  +            return new TranslatorBinding(bindingDescription, getValueConverter(), location,
  +                    translator);
           }
           catch (Exception ex)
           {
  @@ -55,9 +53,4 @@
       {
           _translatorBeanFactory = translatorBeanFactory;
       }
  -
  -    public void setValueConverter(ValueConverter valueConverter)
  -    {
  -        _valueConverter = valueConverter;
  -    }
   }
  
  
  
  1.2       +37 -0     jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.form.validator.xml
  
  Index: tapestry.form.validator.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.form.validator.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- tapestry.form.validator.xml	20 Jun 2005 20:20:08 -0000	1.1
  +++ tapestry.form.validator.xml	20 Jun 2005 21:29:15 -0000	1.2
  @@ -39,5 +39,42 @@
       </schema>
       
     </configuration-point>
  +  
  +  <contribution configuration-id="Validators">
  +    <validator name="email" configurable="false" class="Email"/>
  +    <validator name="required" configurable="false" class="Required"/>
  +    <validator name="max" class="Max"/>
  +    <validator name="maxDate" class="MaxDate"/>
  +    <validator name="maxLength" class="MaxLength"/>
  +    <validator name="min" class="Min"/>
  +    <validator name="minDate" class="MinDate"/>
  +    <validator name="minLength" class="MinLength"/>
  +    <validator name="pattern" class="Pattern"/>    
  +  </contribution>
  +  
  +  <service-point id="ValidatorFactory">
       
  +    <invoke-factory>
  +      <construct class="ValidatorFactoryImpl">
  +        <set-configuration property="validators" configuration-id="Validators"/>
  +      </construct>
  +    </invoke-factory>
  +  </service-point>
  +    
  +  <service-point id="ValidatorsBindingFactory" interface="org.apache.tapestry.binding.BindingFactory">
  +    
  +    Factory for the "translator:" binding prefix.
  +    
  +    <invoke-factory>
  +      <construct class="ValidatorsBindingFactory">
  +        <set-service property="validatorFactory" service-id="ValidatorFactory"/>
  +        <set-object property="valueConverter" value="infrastructure:valueConverter"/>  
  +      </construct>
  +    </invoke-factory>
  +    
  +  </service-point>
  +  
  +  <contribution configuration-id="tapestry.bindings.BindingFactories">
  +    <binding prefix="validators" service-id="ValidatorsBindingFactory"/>
  +  </contribution>    
   </module>
  \ No newline at end of file
  
  
  
  1.2       +15 -3     jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/ValidatorContribution.java
  
  Index: ValidatorContribution.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/ValidatorContribution.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ValidatorContribution.java	20 Jun 2005 20:20:08 -0000	1.1
  +++ ValidatorContribution.java	20 Jun 2005 21:29:15 -0000	1.2
  @@ -22,10 +22,22 @@
    */
   public class ValidatorContribution
   {
  -    private boolean _configurable;
  +    private boolean _configurable = true;
  +
  +    private String _name;
   
       private Class _validatorClass;
   
  +    public String getName()
  +    {
  +        return _name;
  +    }
  +
  +    public Class getValidatorClass()
  +    {
  +        return _validatorClass;
  +    }
  +
       public boolean isConfigurable()
       {
           return _configurable;
  @@ -36,9 +48,9 @@
           _configurable = configurable;
       }
   
  -    public Class getValidatorClass()
  +    public void setName(String name)
       {
  -        return _validatorClass;
  +        _name = name;
       }
   
       public void setValidatorClass(Class validatorClass)
  
  
  
  1.1                  jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/ValidatorsBinding.java
  
  Index: ValidatorsBinding.java
  ===================================================================
  // Copyright 2005 The Apache Software Foundation
  //
  // Licensed under the Apache License, Version 2.0 (the "License");
  // you may not use this file except in compliance with the License.
  // You may obtain a copy of the License at
  //
  //     http://www.apache.org/licenses/LICENSE-2.0
  //
  // Unless required by applicable law or agreed to in writing, software
  // distributed under the License is distributed on an "AS IS" BASIS,
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  // See the License for the specific language governing permissions and
  // limitations under the License.
  
  package org.apache.tapestry.form.validator;
  
  import java.util.List;
  
  import org.apache.hivemind.Location;
  import org.apache.hivemind.util.Defense;
  import org.apache.tapestry.binding.AbstractBinding;
  import org.apache.tapestry.coerce.ValueConverter;
  
  /**
   * Binding used to hold a list of {@link org.apache.tapestry.form.validator.Validator}s.
   * 
   * @author Howard Lewis Ship
   * @since 4.0
   */
  public class ValidatorsBinding extends AbstractBinding
  {
      private final List _validators;
  
      public ValidatorsBinding(String description, ValueConverter valueConverter, Location location,
              List validators)
      {
          super(description, valueConverter, location);
  
          Defense.notNull(validators, "validator");
  
          _validators = validators;
      }
  
      public Object getObject()
      {
          return _validators;
      }
  
  }
  
  
  
  1.1                  jakarta-tapestry/framework/src/java/org/apache/tapestry/form/validator/ValidatorsBindingFactory.java
  
  Index: ValidatorsBindingFactory.java
  ===================================================================
  // Copyright 2005 The Apache Software Foundation
  //
  // Licensed under the Apache License, Version 2.0 (the "License");
  // you may not use this file except in compliance with the License.
  // You may obtain a copy of the License at
  //
  //     http://www.apache.org/licenses/LICENSE-2.0
  //
  // Unless required by applicable law or agreed to in writing, software
  // distributed under the License is distributed on an "AS IS" BASIS,
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  // See the License for the specific language governing permissions and
  // limitations under the License.
  
  package org.apache.tapestry.form.validator;
  
  import java.util.List;
  
  import org.apache.hivemind.ApplicationRuntimeException;
  import org.apache.hivemind.Location;
  import org.apache.tapestry.IBinding;
  import org.apache.tapestry.IComponent;
  import org.apache.tapestry.binding.AbstractBindingFactory;
  
  public class ValidatorsBindingFactory extends AbstractBindingFactory
  {
      private ValidatorFactory _validatorFactory;
  
      public void setValidatorFactory(ValidatorFactory validatorFactory)
      {
          _validatorFactory = validatorFactory;
      }
  
      public IBinding createBinding(IComponent root, String bindingDescription, String path,
              Location location)
      {
          try
          {
              List validators = _validatorFactory.constructValidatorList(path);
  
              return new ValidatorsBinding(bindingDescription, getValueConverter(), location,
                      validators);
          }
          catch (Exception ex)
          {
              throw new ApplicationRuntimeException(ex.getMessage(), null, location, ex);
          }
      }
  }
  
  
  
  1.1                  jakarta-tapestry/framework/src/test/org/apache/tapestry/form/validator/TestValidatorsBinding.java
  
  Index: TestValidatorsBinding.java
  ===================================================================
  // Copyright 2005 The Apache Software Foundation
  //
  // Licensed under the Apache License, Version 2.0 (the "License");
  // you may not use this file except in compliance with the License.
  // You may obtain a copy of the License at
  //
  //     http://www.apache.org/licenses/LICENSE-2.0
  //
  // Unless required by applicable law or agreed to in writing, software
  // distributed under the License is distributed on an "AS IS" BASIS,
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  // See the License for the specific language governing permissions and
  // limitations under the License.
  
  package org.apache.tapestry.form.validator;
  
  import java.util.List;
  
  import org.apache.hivemind.ApplicationRuntimeException;
  import org.apache.hivemind.Location;
  import org.apache.tapestry.IBinding;
  import org.apache.tapestry.binding.BindingTestCase;
  import org.apache.tapestry.coerce.ValueConverter;
  import org.easymock.MockControl;
  
  /**
   * Tests for {@link org.apache.tapestry.form.validator.ValidatorsBinding} and
   * {@link org.apache.tapestry.form.validator.ValidatorsBindingFactory}.
   * 
   * @author Howard Lewis Ship
   * @since 4.0
   */
  public class TestValidatorsBinding extends BindingTestCase
  {
      public void testSuccess()
      {
          Location l = newLocation();
          List validators = (List) newMock(List.class);
          ValueConverter vc = newValueConverter();
  
          MockControl control = newControl(ValidatorFactory.class);
          ValidatorFactory vf = (ValidatorFactory) control.getMock();
  
          vf.constructValidatorList("required");
          control.setReturnValue(validators);
  
          replayControls();
  
          ValidatorsBindingFactory factory = new ValidatorsBindingFactory();
          factory.setValueConverter(vc);
          factory.setValidatorFactory(vf);
  
          IBinding binding = factory.createBinding(null, "my desc", "required", l);
  
          assertSame(validators, binding.getObject());
          assertSame(l, binding.getLocation());
          assertEquals("my desc", binding.getDescription());
  
          verifyControls();
      }
  
      public void testFailure()
      {
          Throwable t = new RuntimeException("Boom!");
          Location l = newLocation();
  
          ValueConverter vc = newValueConverter();
  
          MockControl control = newControl(ValidatorFactory.class);
          ValidatorFactory vf = (ValidatorFactory) control.getMock();
  
          vf.constructValidatorList("required");
          control.setThrowable(t);
  
          replayControls();
  
          ValidatorsBindingFactory factory = new ValidatorsBindingFactory();
          factory.setValueConverter(vc);
          factory.setValidatorFactory(vf);
  
          try
          {
              factory.createBinding(null, "my desc", "required", l);
              unreachable();
          }
          catch (ApplicationRuntimeException ex)
          {
              assertEquals("Boom!", ex.getMessage());
              assertSame(t, ex.getRootCause());
              assertSame(l, ex.getLocation());
          }
  
          verifyControls();
      }
  }
  
  
  
  1.6       +9 -2      jakarta-tapestry/src/documentation/content/xdocs/UsersGuide/bindings.xml
  
  Index: bindings.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/src/documentation/content/xdocs/UsersGuide/bindings.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- bindings.xml	16 Jun 2005 20:57:10 -0000	1.5
  +++ bindings.xml	20 Jun 2005 21:29:15 -0000	1.6
  @@ -123,15 +123,22 @@
     
     <tr>
       <td>validator</td>
  -    <td>Initializer used to obtain and configure an &IValidator; instance.</td>
  +    <td>Initializer used to obtain and configure an &IValidator; instance (used with &ValidField;).</td>
       <td>validator:string,required,minimumLength=5</td>
       <td></td>
     </tr>
  +  
  +  <tr>
  +    <td>validators</td>
  +    <td>List of configured &Validator; instances (used with &TextField; and others). </td>
  +    <td>validators:email,required,minLength=10</td>
  +    <td></td>
  +  </tr>
   </table>
   
   <p>
    Most of these are quite straight forward; the 
  -  <link href="validation.html#validation.validator-binding">validator and translator</link> prefixes
  +  <link href="validation.html#validation.validator-binding">validator, validators and translator</link> prefixes
    require some additional description.
   </p>
   
  
  
  
  1.13      +10 -36    jakarta-tapestry/examples/Workbench/src/context/WEB-INF/Fields.page
  
  Index: Fields.page
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/examples/Workbench/src/context/WEB-INF/Fields.page,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- Fields.page	18 Jun 2005 18:09:14 -0000	1.12
  +++ Fields.page	20 Jun 2005 21:29:15 -0000	1.13
  @@ -26,36 +26,10 @@
     <bean name="required" class="org.apache.tapestry.form.validator.Required"/>
     <bean name="delegate" class="org.apache.tapestry.workbench.WorkbenchValidationDelegate" property="delegate"/>
   
  -  <bean name="dateValidator" lifecycle="render" class="org.apache.tapestry.form.validator.DateValidator">
  -    <set name="min" value="new java.util.Date()"/>
  +  <bean name="dateValidator" lifecycle="render" class="org.apache.tapestry.form.validator.MinDate">
  +    <set name="minDate" value="new java.util.Date()"/>
     </bean>
     
  -  <bean name="intValidator" lifecycle="render" class="org.apache.tapestry.form.validator.NumberValidator">
  -    <set name="min" value="@org.apache.tapestry.workbench.fields.Fields@INT_MIN"/>
  -    <set name="max" value="@org.apache.tapestry.workbench.fields.Fields@INT_MAX"/>
  -  </bean>
  -  
  -  <bean name="doubleValidator" lifecycle="render" class="org.apache.tapestry.form.validator.NumberValidator">
  -    <set name="min" value="@org.apache.tapestry.workbench.fields.Fields@DOUBLE_MIN"/>
  -    <set name="max" value="@org.apache.tapestry.workbench.fields.Fields@DOUBLE_MAX"/>
  -  </bean>
  -  
  -  <bean name="bigDecimalValidator" lifecycle="render" class="org.apache.tapestry.form.validator.NumberValidator">
  -    <set name="min" value="@org.apache.tapestry.workbench.fields.Fields@DECIMAL_MIN"/>
  -    <set name="max" value="@org.apache.tapestry.workbench.fields.Fields@DECIMAL_MAX"/>
  -  </bean>
  -
  -  <bean name="longValidator" lifecycle="render" class="org.apache.tapestry.form.validator.NumberValidator">
  -    <set name="min" value="@org.apache.tapestry.workbench.fields.Fields@LONG_MIN"/>
  -    <set name="max" value="@org.apache.tapestry.workbench.fields.Fields@LONG_MAX"/>
  -  </bean>
  -
  -  <bean name="stringValidator" lifecycle="render" class="org.apache.tapestry.form.validator.StringValidator">
  -  	<set name="minLength" value="@org.apache.tapestry.workbench.fields.Fields@STRING_MIN_LENGTH"/>
  -  </bean>
  -
  -  <bean name="emailValidator" lifecycle="render" class="org.apache.tapestry.form.validator.EmailValidator"></bean>
  -
     <component id="inputEnabled" type="Checkbox">
       <binding name="selected" value="clientValidationEnabled"/> 
       <binding name="onchange" value="'this.form.submit()'"/>
  @@ -77,46 +51,46 @@
       <binding name="value" value="ognl:visit.intValue"/>
       <binding name="translator" value="number,pattern=#"/>
       <binding name="displayName" value="Integer Field"/>
  -    <binding name="validators" value="ognl:{beans.required, beans.intValidator}"/>
  +    <binding name="validators" value="required,min=5,max=20"/>
     </component>
     
     <component id="inputDouble" type="TextField">
       <binding name="value" value="ognl:visit.doubleValue"/>
       <binding name="translator" value="number,pattern=#.#"/>
  -    <binding name="validators" value="ognl:{beans.required, beans.doubleValidator}"/>
  +    <binding name="validators" value="required,min=3.14,max=27.5"/>
       <binding name="displayName" value="Double Field"/>
     </component>
   
     <component id="inputBigDecimal" type="TextField">
       <binding name="value" value="ognl:visit.bigDecimalValue"/>
       <binding name="translator" value="number,pattern=#.#"/>
  -    <binding name="validators" value="ognl:{beans.required, beans.bigDecimalValidator}"/>
  +    <binding name="validators" value="required,min=2,max=100.123456234563456734563456356734567456784567456784567845675678456785678"/>
       <binding name="displayName" value="Big Decimal Field"/>
     </component>
   
     <component id="inputLong" type="TextField">
       <binding name="value" value="ognl:visit.longValue"/>
       <binding name="translator" value="number,pattern=#"/>
  -    <binding name="validators" value="ognl:{beans.required, beans.longValidator}"/>
  +    <binding name="validators" value="required,min=6,max=21"/>
       <binding name="displayName" value="Long Field"/>
     </component>
   
     <component id="inputString" type="TextField">
       <binding name="value" value="ognl:visit.stringValue"/>
  -    <binding name="validators" value="ognl:{beans.required, beans.stringValidator}"/>
  +    <binding name="validators" value="required,minLength=3"/>
       <binding name="displayName" value="String Field"/>
     </component>
   
     <component id="inputEmail" type="TextField">
       <binding name="value" value="ognl:visit.emailValue"/>
  -    <binding name="validators" value="ognl:{beans.required,beans.emailValidator}"/>
  +    <binding name="validators" value="required,email"/>
       <binding name="displayName" value="Email Field"/>
     </component>
     
     <component id="textArea" type="TextArea">
       <binding name="value" value="ognl:visit.textValue"></binding>
  -    <binding name="validators" value="ognl:{beans.required, beans.stringValidator}"/>
  -    <binding name="displayName" value="Text Field"/>
  +    <binding name="validators" value="required,minLength=20"/>
  +    <binding name="displayName" value="Text Area"/>
     </component>
     
     <asset name="continue" path="images/Continue.gif"/>
  
  
  
  1.3       +1 -1      jakarta-tapestry/examples/Workbench/src/context/css/workbench.css
  
  Index: workbench.css
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/examples/Workbench/src/context/css/workbench.css,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- workbench.css	8 Mar 2005 22:36:40 -0000	1.2
  +++ workbench.css	20 Jun 2005 21:29:15 -0000	1.3
  @@ -4,7 +4,7 @@
   }
   
   
  -INPUT.field-error
  +.field-error
   {
     color: White;
     background-color: Red;
  
  
  
  1.17      +1 -0      jakarta-tapestry/src/documentation/content/xdocs/links.ent
  
  Index: links.ent
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/src/documentation/content/xdocs/links.ent,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- links.ent	17 Jun 2005 18:04:58 -0000	1.16
  +++ links.ent	20 Jun 2005 21:29:15 -0000	1.17
  @@ -111,6 +111,7 @@
   <!ENTITY StateObjectFactory			'<link href="&apiroot;/engine/state/StateObjectFactory.html">StateObjectFactory</link>'>
   <!ENTITY Tapestry 					'<link href="&apiroot;/Tapestry.html">Tapestry</link>'>
   <!ENTITY Translator					'<link href="&apiroot;/form/translator/Translator.html">Translator</link>'>
  +<!ENTITY Validator					'<link href="&apiroot;/form/validator/Validator.html">Validator</link>'>
   <!ENTITY ValidationDelegate 		'<link href="&apiroot;/valid/ValidationDelegate.html">ValidationDelegate</link>'>
   <!ENTITY WebRequest					'<link href="&apiroot;/web/WebRequest.html">WebRequest</link>'>
   <!ENTITY WebResponse			    '<link href="&apiroot;/web/WebResponse.html">WebResponse</link>'>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org