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/11/04 11:16:24 UTC

svn commit: rev 56582 - in cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms: . acting binding datatype datatype/convertor datatype/typeimpl datatype/validationruleimpl event event/impl expression flow/javascript flow/javascript/v2 flow/javascript/v3 formmodel generation samples samples/bindings samples/dreamteam transformation util validation validation/impl

Author: sylvain
Date: Thu Nov  4 02:16:22 2004
New Revision: 56582

Added:
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/WidgetState.java   (contents, props changed)
Modified:
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/CacheManager.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/Constants.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/DefaultFormManager.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/FormContext.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/FormManager.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/acting/AbstractFormsAction.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/acting/MakeFormAction.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/AggregateJXPathBinding.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/AggregateJXPathBindingBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/Binding.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/BindingException.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/BindingManager.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/CaseJXPathBinding.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/CaseJXPathBindingBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ClassJXPathBinding.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ClassJXPathBindingBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ComposedJXPathBindingBase.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ContextJXPathBinding.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ContextJXPathBindingBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/CustomJXPathBindingBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/DeleteNodeJXPathBinding.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/DeleteNodeJXPathBindingBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/InsertBeanJXPathBinding.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/InsertBeanJXPathBindingBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/InsertNodeJXPathBinding.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/InsertNodeJXPathBindingBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/JavaScriptJXPathBinding.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/MultiValueJXPathBinding.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/NewJXPathBinding.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/NewJXPathBindingBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/RepeaterJXPathBinding.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/RepeaterJXPathBindingBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/SetAttributeJXPathBinding.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/SetAttributeJXPathBindingBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/SimpleRepeaterJXPathBinding.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/SimpleRepeaterJXPathBindingBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/StructJXPathBinding.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/StructJXPathBindingBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/TempRepeaterJXPathBindingBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/UnionJXPathBinding.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/UnionJXPathBindingBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ValueJXPathBinding.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/AbstractJavaSelectionList.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/Datatype.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/DatatypeManager.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/DefaultDatatypeManager.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/DefaultSelectionListBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/EmptySelectionList.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/EnumSelectionListBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionList.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/JavaSelectionListBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/SelectionList.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/SelectionListBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/StaticSelectionList.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/ValidationRule.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/Convertor.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/ConvertorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/DefaultFormatCache.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/DummyStringConvertor.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/DummyStringConvertorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/EnumConvertor.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/EnumConvertorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDateConvertor.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDateConvertorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDecimalConvertor.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDecimalConvertorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDoubleConvertor.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDoubleConvertorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingFloatConvertor.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingFloatConvertorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingIntegerConvertor.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingIntegerConvertorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingLongConvertor.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingLongConvertorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/LocaleMap.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/MillisDateConvertor.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/MillisDateConvertorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainBooleanConvertor.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainBooleanConvertorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainDecimalConvertor.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainDecimalConvertorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainDoubleConvertor.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainDoubleConvertorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainFloatConvertor.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainFloatConvertorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainIntegerConvertor.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainIntegerConvertorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainLongConvertor.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainLongConvertorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/AbstractDatatype.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/AbstractDatatypeBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/BooleanType.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/BooleanTypeBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DateType.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DateTypeBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DecimalType.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DecimalTypeBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DoubleType.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DoubleTypeBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/EnumType.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/EnumTypeBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/FloatType.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/FloatTypeBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/IntegerType.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/IntegerTypeBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/LongType.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/LongTypeBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/StringType.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/StringTypeBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/AbstractValidationRule.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/AssertValidationRule.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/AssertValidationRuleBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/EmailValidationRuleBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/LengthValidationRule.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/LengthValidationRuleBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/Mod10ValidationRule.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/Mod10ValidationRuleBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/RangeValidationRule.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/RangeValidationRuleBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/RegExpValidationRule.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/RegExpValidationRuleBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/ValueCountValidationRule.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/ValueCountValidationRuleBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/AbstractFormHandler.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ActionEvent.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ActionListener.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/CreateEvent.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/CreateListener.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/DeferredValueChangedEvent.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/FormHandler.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ProcessingPhaseEvent.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ValueChangedEvent.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ValueChangedListener.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/WidgetEvent.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/WidgetEventMulticaster.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/WidgetListener.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/WidgetListenerBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/impl/JavaClassWidgetListenerBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/impl/JavaScriptWidgetListener.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/impl/JavaScriptWidgetListenerBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/expression/ExpressionManager.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/expression/IsNullFunction.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/expression/NullFunction.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/expression/StringFunction.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/Form.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/ScriptableWidget.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/v2/ScriptableWidget.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/v3/ScriptableWidget.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractContainerDefinition.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractContainerWidget.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractDatatypeWidgetDefinitionBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidget.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidgetDefinition.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidgetDefinitionBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Action.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ActionDefinition.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AddRowActionDefinition.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AggregateField.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AggregateFieldDefinitionBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/BooleanField.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/BooleanFieldDefinition.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ButtonDefinitionBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/CannotYetResolveWarning.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ClassDefinition.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ContainerDefinition.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ContainerWidget.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/DataWidget.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/DuplicateIdException.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ExpressionContextImpl.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Field.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/FieldDefinition.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Form.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/FormDefinition.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Messages.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MessagesDefinition.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MultiValueField.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MultiValueFieldDefinition.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Output.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/OutputDefinition.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Repeater.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterAction.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinition.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterDefinition.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RowAction.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Struct.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/StructDefinition.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Submit.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/SubmitDefinition.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Union.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/UnionDefinition.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Upload.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/UploadDefinition.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Widget.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/WidgetList.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/generation/FormsGenerator.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/generation/JXMacrosHelper.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/generation/jx-macros.xml
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/Contact.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/Form1Handler.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/Form2Bean.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/InitForm1Action.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/Sex.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/bindings/LenientBaseBean.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/bindings/LenientNotOKBean.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/bindings/LenientOKBean.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/bindings/ValuesBean.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/dreamteam/Team.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/dreamteam/TeamMember.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/EffectPipe.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/EffectWidgetReplacingPipe.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/FormsPipelineConfig.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/FormsTemplateTransformer.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/WidgetReplacingPipe.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/DomHelper.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/I18nMessage.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/JavaScriptHelper.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/StringMessage.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/XMLAdapter.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/ValidationError.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/ValidationErrorAware.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/WidgetValidator.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/WidgetValidatorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/AssertValidatorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/EmailValidatorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/JavaScriptValidator.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/JavaScriptValidatorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/LengthValidatorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/Mod10ValidatorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/RangeValidatorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/RegExpValidatorBuilder.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/ValidationRuleValidator.java
   cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/ValueCountValidatorBuilder.java
Log:
merging 2.1 and 2.2

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/CacheManager.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/CacheManager.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/CacheManager.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
 /**
  * Work interface for the component that caches objects for Cocoon Forms.
  * 
- * @version $Id: CacheManager.java,v 1.2 2004/03/11 02:56:33 joerg Exp $
+ * @version $Id$
  */
 public interface CacheManager {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/Constants.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/Constants.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/Constants.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 /**
  * Various constants used in the Cocoon Forms framework.
  * 
- * @version $Id: Constants.java,v 1.6 2004/03/18 21:04:41 joerg Exp $
+ * @version $Id$
  */
 public final class Constants {
 // TODO : see this later

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/DefaultFormManager.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/DefaultFormManager.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/DefaultFormManager.java	Thu Nov  4 02:16:22 2004
@@ -67,7 +67,7 @@
         return this.avalonContext;
     }
 
-	public void service(ServiceManager manager) throws ServiceException {
+    public void service(ServiceManager manager) throws ServiceException {
         this.manager = manager;
         this.cacheManager = (CacheManager)manager.lookup(CacheManager.ROLE);
     }

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/FormContext.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/FormContext.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/FormContext.java	Thu Nov  4 02:16:22 2004
@@ -20,7 +20,7 @@
 import org.apache.cocoon.environment.Request;
 
 /**
- * @version $Id: FormContext.java,v 1.1 2004/03/09 10:34:12 reinhard Exp $
+ * @version $Id$
  * 
  */
 public class FormContext {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/FormManager.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/FormManager.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/FormManager.java	Thu Nov  4 02:16:22 2004
@@ -23,7 +23,7 @@
 /**
  * Work interface for the component that can create {@link Form}s.
  * 
- * @version $Id: FormManager.java,v 1.3 2004/06/01 10:51:28 bruno Exp $
+ * @version $Id$
  */
 public interface FormManager {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/acting/AbstractFormsAction.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/acting/AbstractFormsAction.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/acting/AbstractFormsAction.java	Thu Nov  4 02:16:22 2004
@@ -26,7 +26,7 @@
 /**
  * Abstract base class for Cocoon Forms actions.
  * 
- * @version $Id: AbstractFormsAction.java,v 1.4 2004/03/28 20:51:24 antonio Exp $
+ * @version $Id$
  */
 public abstract class AbstractFormsAction 
   implements Action, ThreadSafe, Serviceable, Disposable {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/acting/MakeFormAction.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/acting/MakeFormAction.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/acting/MakeFormAction.java	Thu Nov  4 02:16:22 2004
@@ -40,7 +40,7 @@
  *  <li><strong>attribute-name</strong>: name of the request attribute in which to store the form instance
  * </ul>
  * 
- * @version $Id: MakeFormAction.java,v 1.1 2004/03/09 10:33:54 reinhard Exp $
+ * @version $Id$
  */
 public class MakeFormAction implements Action, ThreadSafe, Serviceable {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/AggregateJXPathBinding.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/AggregateJXPathBinding.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/AggregateJXPathBinding.java	Thu Nov  4 02:16:22 2004
@@ -28,7 +28,7 @@
  * that contains other widgets.</li>
  * </ol>
  *
- * @version CVS $Id: AggregateJXPathBinding.java,v 1.2 2004/04/23 11:42:58 mpo Exp $
+ * @version CVS $Id$
  */
 public class AggregateJXPathBinding extends ComposedJXPathBindingBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/AggregateJXPathBindingBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/AggregateJXPathBindingBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/AggregateJXPathBindingBuilder.java	Thu Nov  4 02:16:22 2004
@@ -29,7 +29,7 @@
  * &lt;/fb:aggregate&gt;
  * </code></pre>
  *
- * @version CVS $Id: AggregateJXPathBindingBuilder.java,v 1.2 2004/04/01 13:07:55 mpo Exp $
+ * @version CVS $Id$
  */
 public class AggregateJXPathBindingBuilder
     extends JXPathBindingBuilderBase {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/Binding.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/Binding.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/Binding.java	Thu Nov  4 02:16:22 2004
@@ -22,7 +22,7 @@
  * information elements from some back-end model (2nd argument) to and from
  * a existing Cocoon Form Widget.
  *
- * @version CVS $Id: Binding.java,v 1.2 2004/03/11 02:56:32 joerg Exp $
+ * @version CVS $Id$
  */
 public interface Binding {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/BindingException.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/BindingException.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/BindingException.java	Thu Nov  4 02:16:22 2004
@@ -20,7 +20,7 @@
 /**
  * This exception is thrown when something goes wrong with the binding.
  *
- * @version CVS $Id: BindingException.java,v 1.1 2004/03/09 10:33:55 reinhard Exp $
+ * @version CVS $Id$
  */
 public class BindingException extends CascadingException {
     public BindingException(String message) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/BindingManager.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/BindingManager.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/BindingManager.java	Thu Nov  4 02:16:22 2004
@@ -19,7 +19,7 @@
 
 /**
  * BindingManager declares the factory method that produces actual Bindings.
- * @version CVS $Id: BindingManager.java,v 1.2 2004/06/01 10:51:28 bruno Exp $
+ * @version CVS $Id$
  */
 public interface BindingManager {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/CaseJXPathBinding.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/CaseJXPathBinding.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/CaseJXPathBinding.java	Thu Nov  4 02:16:22 2004
@@ -28,7 +28,7 @@
  * case of a union.</li>
  * </ol>
  *
- * @version CVS $Id: CaseJXPathBinding.java,v 1.2 2004/04/12 14:05:08 tim Exp $
+ * @version CVS $Id$
  */
 public class CaseJXPathBinding extends ComposedJXPathBindingBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/CaseJXPathBindingBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/CaseJXPathBindingBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/CaseJXPathBindingBuilder.java	Thu Nov  4 02:16:22 2004
@@ -30,7 +30,7 @@
  * &lt;/fb:case&gt;
  * </code></pre>
  *
- * @version CVS $Id: CaseJXPathBindingBuilder.java,v 1.3 2004/04/12 14:05:08 tim Exp $
+ * @version CVS $Id$
  */
 public class CaseJXPathBindingBuilder extends JXPathBindingBuilderBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ClassJXPathBinding.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ClassJXPathBinding.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ClassJXPathBinding.java	Thu Nov  4 02:16:22 2004
@@ -26,7 +26,7 @@
  * <li>This Binding uses the provided widget-id as the name for the class.</li>
  * </ol>
  *
- * @version CVS $Id: ClassJXPathBinding.java,v 1.2 2004/04/12 14:05:08 tim Exp $
+ * @version CVS $Id$
  */
 public class ClassJXPathBinding extends ComposedJXPathBindingBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ClassJXPathBindingBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ClassJXPathBindingBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ClassJXPathBindingBuilder.java	Thu Nov  4 02:16:22 2004
@@ -30,7 +30,7 @@
  * &lt;/fb:class&gt;
  * </code></pre>
  *
- * @version CVS $Id: ClassJXPathBindingBuilder.java,v 1.3 2004/04/12 14:05:08 tim Exp $
+ * @version CVS $Id$
  */
 public class ClassJXPathBindingBuilder
     extends JXPathBindingBuilderBase {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ComposedJXPathBindingBase.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ComposedJXPathBindingBase.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ComposedJXPathBindingBase.java	Thu Nov  4 02:16:22 2004
@@ -26,7 +26,7 @@
  * into specific {@link JXPathBindingBase} implementations that have nested
  * child-bindings.
  *
- * @version CVS $Id: ComposedJXPathBindingBase.java,v 1.3 2004/06/15 07:33:43 sylvain Exp $
+ * @version CVS $Id$
  */
 public class ComposedJXPathBindingBase extends JXPathBindingBase {
     private final JXPathBindingBase[] subBindings;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ContextJXPathBinding.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ContextJXPathBinding.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ContextJXPathBinding.java	Thu Nov  4 02:16:22 2004
@@ -24,7 +24,7 @@
  * that narrows the binding scope to some xpath-context on the target
  * objectModel to load and save from.
  *
- * @version CVS $Id: ContextJXPathBinding.java,v 1.2 2004/03/11 02:56:32 joerg Exp $
+ * @version CVS $Id$
  */
 public class ContextJXPathBinding extends ComposedJXPathBindingBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ContextJXPathBindingBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ContextJXPathBindingBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ContextJXPathBindingBuilder.java	Thu Nov  4 02:16:22 2004
@@ -29,7 +29,7 @@
  * &lt;/fb:context&gt;
  * </code></pre>
  *
- * @version CVS $Id: ContextJXPathBindingBuilder.java,v 1.2 2004/04/01 12:59:57 mpo Exp $
+ * @version CVS $Id$
  */
 public class ContextJXPathBindingBuilder extends JXPathBindingBuilderBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/CustomJXPathBindingBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/CustomJXPathBindingBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/CustomJXPathBindingBuilder.java	Thu Nov  4 02:16:22 2004
@@ -46,7 +46,7 @@
  * &lt;/fb:context&gt;
  * </code></pre>
  *
- * @version CVS $Id: CustomJXPathBindingBuilder.java,v 1.4 2004/04/08 14:51:19 mpo Exp $
+ * @version CVS $Id$
  */
 public class CustomJXPathBindingBuilder extends JXPathBindingBuilderBase {
     private static final Class[] DOMELEMENT_METHODARGS;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/DeleteNodeJXPathBinding.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/DeleteNodeJXPathBinding.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/DeleteNodeJXPathBinding.java	Thu Nov  4 02:16:22 2004
@@ -27,7 +27,7 @@
  * <li>This Binding does not perform any actions when loading.</li>
  * </ol>
  *
- * @version CVS $Id: DeleteNodeJXPathBinding.java,v 1.1 2004/03/09 10:33:55 reinhard Exp $
+ * @version CVS $Id$
  */
 public class DeleteNodeJXPathBinding extends JXPathBindingBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/DeleteNodeJXPathBindingBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/DeleteNodeJXPathBindingBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/DeleteNodeJXPathBindingBuilder.java	Thu Nov  4 02:16:22 2004
@@ -27,7 +27,7 @@
  * &lt;fb:delete-node /&gt;
  * </code></pre>
  *
- * @version CVS $Id: DeleteNodeJXPathBindingBuilder.java,v 1.2 2004/04/01 12:59:57 mpo Exp $
+ * @version CVS $Id$
  */
 public class DeleteNodeJXPathBindingBuilder
     extends JXPathBindingBuilderBase {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/InsertBeanJXPathBinding.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/InsertBeanJXPathBinding.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/InsertBeanJXPathBinding.java	Thu Nov  4 02:16:22 2004
@@ -31,7 +31,7 @@
  * <li>This expects the back-end model to be a Java Bean model.</li>
  * </ol>
  *
- * @version CVS $Id: InsertBeanJXPathBinding.java,v 1.2 2004/04/01 12:59:57 mpo Exp $
+ * @version CVS $Id$
  */
 public class InsertBeanJXPathBinding extends JXPathBindingBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/InsertBeanJXPathBindingBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/InsertBeanJXPathBindingBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/InsertBeanJXPathBindingBuilder.java	Thu Nov  4 02:16:22 2004
@@ -28,7 +28,7 @@
  * &lt;fb:insert-bean classname="..child-bean-class.." addmethod="..method-to-add.."/&gt;
  * </code></pre>
  *
- * @version CVS $Id: InsertBeanJXPathBindingBuilder.java,v 1.2 2004/04/01 12:59:57 mpo Exp $
+ * @version CVS $Id$
  */
 public class InsertBeanJXPathBindingBuilder extends JXPathBindingBuilderBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/InsertNodeJXPathBinding.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/InsertNodeJXPathBinding.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/InsertNodeJXPathBinding.java	Thu Nov  4 02:16:22 2004
@@ -31,7 +31,7 @@
  * <li>This expects the back-end model to be an XML file.</li>
  * </ol>
  *
- * @version CVS $Id: InsertNodeJXPathBinding.java,v 1.1 2004/03/09 10:33:55 reinhard Exp $
+ * @version CVS $Id$
  */
 public class InsertNodeJXPathBinding extends JXPathBindingBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/InsertNodeJXPathBindingBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/InsertNodeJXPathBindingBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/InsertNodeJXPathBindingBuilder.java	Thu Nov  4 02:16:22 2004
@@ -39,7 +39,7 @@
  * &lt;/fb:insert-node&gt;
  * </code></pre>
  *
- * @version CVS $Id: InsertNodeJXPathBindingBuilder.java,v 1.3 2004/04/01 12:59:57 mpo Exp $
+ * @version CVS $Id$
  */
 public class InsertNodeJXPathBindingBuilder
     extends JXPathBindingBuilderBase {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/JavaScriptJXPathBinding.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/JavaScriptJXPathBinding.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/JavaScriptJXPathBinding.java	Thu Nov  4 02:16:22 2004
@@ -32,7 +32,7 @@
 /**
  *
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: JavaScriptJXPathBinding.java,v 1.8 2004/06/24 11:32:47 cziegeler Exp $
+ * @version CVS $Id$
  */
 public class JavaScriptJXPathBinding extends JXPathBindingBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/MultiValueJXPathBinding.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/MultiValueJXPathBinding.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/MultiValueJXPathBinding.java	Thu Nov  4 02:16:22 2004
@@ -30,7 +30,7 @@
  * Simple binding for multi fields: on save, first deletes the target data
  * before recreating it from scratch.
  *
- * @version CVS $Id: MultiValueJXPathBinding.java,v 1.4 2004/05/11 08:22:54 bruno Exp $
+ * @version CVS $Id$
  */
 public class MultiValueJXPathBinding extends JXPathBindingBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/NewJXPathBinding.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/NewJXPathBinding.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/NewJXPathBinding.java	Thu Nov  4 02:16:22 2004
@@ -27,7 +27,7 @@
  * class that contains other widgets.</li>
  * </ol>
  *
- * @version CVS $Id: NewJXPathBinding.java,v 1.2 2004/04/12 14:05:08 tim Exp $
+ * @version CVS $Id$
  */
 public class NewJXPathBinding extends ComposedJXPathBindingBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/NewJXPathBindingBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/NewJXPathBindingBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/NewJXPathBindingBuilder.java	Thu Nov  4 02:16:22 2004
@@ -30,7 +30,7 @@
  * &lt;/fb:new&gt;
  * </code></pre>
  *
- * @version CVS $Id: NewJXPathBindingBuilder.java,v 1.3 2004/04/12 14:05:08 tim Exp $
+ * @version CVS $Id$
  */
 public class NewJXPathBindingBuilder
     extends JXPathBindingBuilderBase {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/RepeaterJXPathBinding.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/RepeaterJXPathBinding.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/RepeaterJXPathBinding.java	Thu Nov  4 02:16:22 2004
@@ -34,7 +34,7 @@
  * that allows for bidirectional binding of a repeater-widget to/from
  * repeating structures in the back-end object model.
  *
- * @version CVS $Id: RepeaterJXPathBinding.java,v 1.10 2004/05/26 01:31:06 joerg Exp $
+ * @version CVS $Id$
  */
 public class RepeaterJXPathBinding extends JXPathBindingBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/RepeaterJXPathBindingBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/RepeaterJXPathBindingBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/RepeaterJXPathBindingBuilder.java	Thu Nov  4 02:16:22 2004
@@ -49,7 +49,7 @@
  * &lt;/fb:repeater&gt;
  * </code></pre>
  *
- * @version CVS $Id: RepeaterJXPathBindingBuilder.java,v 1.5 2004/07/07 22:20:37 joerg Exp $
+ * @version CVS $Id$
  */
 public class RepeaterJXPathBindingBuilder extends JXPathBindingBuilderBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/SetAttributeJXPathBinding.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/SetAttributeJXPathBinding.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/SetAttributeJXPathBinding.java	Thu Nov  4 02:16:22 2004
@@ -26,7 +26,7 @@
  * <li>This Binding does not perform any actions when loading.</li>
  * </ol>
  *
- * @version CVS $Id: SetAttributeJXPathBinding.java,v 1.1 2004/03/09 10:33:55 reinhard Exp $
+ * @version CVS $Id$
  */
 public class SetAttributeJXPathBinding extends JXPathBindingBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/SetAttributeJXPathBindingBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/SetAttributeJXPathBindingBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/SetAttributeJXPathBindingBuilder.java	Thu Nov  4 02:16:22 2004
@@ -28,7 +28,7 @@
  *                      value="<i>attribute-value</i>"/&gt;
  * </code></pre>
  *
- * @version CVS $Id: SetAttributeJXPathBindingBuilder.java,v 1.2 2004/04/01 12:59:57 mpo Exp $
+ * @version CVS $Id$
  */
 public class SetAttributeJXPathBindingBuilder
     extends JXPathBindingBuilderBase {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/SimpleRepeaterJXPathBinding.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/SimpleRepeaterJXPathBinding.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/SimpleRepeaterJXPathBinding.java	Thu Nov  4 02:16:22 2004
@@ -31,7 +31,7 @@
  * {@link org.apache.cocoon.forms.binding.RepeaterJXPathBinding}
  *
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: SimpleRepeaterJXPathBinding.java,v 1.4 2004/06/15 07:33:43 sylvain Exp $
+ * @version CVS $Id$
  */
 public class SimpleRepeaterJXPathBinding extends JXPathBindingBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/SimpleRepeaterJXPathBindingBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/SimpleRepeaterJXPathBindingBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/SimpleRepeaterJXPathBindingBuilder.java	Thu Nov  4 02:16:22 2004
@@ -30,7 +30,7 @@
  * </pre>
  *
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: SimpleRepeaterJXPathBindingBuilder.java,v 1.2 2004/04/01 12:59:57 mpo Exp $
+ * @version CVS $Id$
  */
 public class SimpleRepeaterJXPathBindingBuilder
     extends JXPathBindingBuilderBase {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/StructJXPathBinding.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/StructJXPathBinding.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/StructJXPathBinding.java	Thu Nov  4 02:16:22 2004
@@ -28,7 +28,7 @@
  * that contains other widgets.</li>
  * </ol>
  *
- * @version CVS $Id: StructJXPathBinding.java,v 1.3 2004/04/23 11:42:58 mpo Exp $
+ * @version CVS $Id$
  */
 public class StructJXPathBinding extends ComposedJXPathBindingBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/StructJXPathBindingBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/StructJXPathBindingBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/StructJXPathBindingBuilder.java	Thu Nov  4 02:16:22 2004
@@ -30,7 +30,7 @@
  * &lt;/fb:struct&gt;
  * </code></pre>
  *
- * @version CVS $Id: StructJXPathBindingBuilder.java,v 1.3 2004/04/12 14:05:08 tim Exp $
+ * @version CVS $Id$
  */
 public class StructJXPathBindingBuilder
     extends JXPathBindingBuilderBase {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/TempRepeaterJXPathBindingBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/TempRepeaterJXPathBindingBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/TempRepeaterJXPathBindingBuilder.java	Thu Nov  4 02:16:22 2004
@@ -30,7 +30,7 @@
  * &lt;/fb:temp-repeater&gt;
  * </pre>
  *
- * @version CVS $Id: TempRepeaterJXPathBindingBuilder.java,v 1.3 2004/04/12 14:05:08 tim Exp $
+ * @version CVS $Id$
  */
 public class TempRepeaterJXPathBindingBuilder
     extends JXPathBindingBuilderBase {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/UnionJXPathBinding.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/UnionJXPathBinding.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/UnionJXPathBinding.java	Thu Nov  4 02:16:22 2004
@@ -28,7 +28,7 @@
  * union widget.</li>
  * </ol>
  *
- * @version CVS $Id: UnionJXPathBinding.java,v 1.3 2004/04/23 11:42:58 mpo Exp $
+ * @version CVS $Id$
  */
 public class UnionJXPathBinding extends ComposedJXPathBindingBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/UnionJXPathBindingBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/UnionJXPathBindingBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/UnionJXPathBindingBuilder.java	Thu Nov  4 02:16:22 2004
@@ -30,7 +30,7 @@
  * &lt;/fb:union&gt;
  * </code></pre>
  *
- * @version CVS $Id: UnionJXPathBindingBuilder.java,v 1.3 2004/04/12 14:05:08 tim Exp $
+ * @version CVS $Id$
  */
 public class UnionJXPathBindingBuilder extends JXPathBindingBuilderBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ValueJXPathBinding.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ValueJXPathBinding.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/binding/ValueJXPathBinding.java	Thu Nov  4 02:16:22 2004
@@ -30,7 +30,7 @@
  * (pointing to an attribute or text-node) to and from a specific CForms
  * widget as identified by its id.
  *
- * @version CVS $Id: ValueJXPathBinding.java,v 1.7 2004/05/11 08:22:54 bruno Exp $
+ * @version CVS $Id$
  */
 public class ValueJXPathBinding extends JXPathBindingBase {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/AbstractJavaSelectionList.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/AbstractJavaSelectionList.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/AbstractJavaSelectionList.java	Thu Nov  4 02:16:22 2004
@@ -235,4 +235,4 @@
         }
     }
 
-}
\ No newline at end of file
+}

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/Datatype.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/Datatype.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/Datatype.java	Thu Nov  4 02:16:22 2004
@@ -39,7 +39,7 @@
  * influence on the {@link #validate(Object, ExpressionContext)} method, which should in that case be passed
  * an array of objects. See also {@link #isArrayType()}.
  * 
- * @version $Id: Datatype.java,v 1.4 2004/05/06 14:59:44 bruno Exp $
+ * @version $Id$
  */
 public interface Datatype {
     /**

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/DatatypeManager.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/DatatypeManager.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/DatatypeManager.java	Thu Nov  4 02:16:22 2004
@@ -23,7 +23,7 @@
  *
  * <p>See also {@link Datatype} and {@link DefaultDatatypeManager}.
  * 
- * @version $Id: DatatypeManager.java,v 1.1 2004/03/09 10:34:00 reinhard Exp $
+ * @version $Id$
  */
 public interface DatatypeManager {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/DefaultDatatypeManager.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/DefaultDatatypeManager.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/DefaultDatatypeManager.java	Thu Nov  4 02:16:22 2004
@@ -42,7 +42,7 @@
  * Currently the list of datatype and validationrule builders is hardcoded, but this will
  * become externally configurable in the future.
  * 
- * @version $Id: DefaultDatatypeManager.java,v 1.3 2004/04/21 13:20:27 bruno Exp $
+ * @version $Id$
  *
  */
 public class DefaultDatatypeManager extends AbstractLogEnabled implements DatatypeManager, ThreadSafe, Serviceable,

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/DefaultSelectionListBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/DefaultSelectionListBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/DefaultSelectionListBuilder.java	Thu Nov  4 02:16:22 2004
@@ -38,9 +38,6 @@
 /**
  * Builds {@link SelectionList}s from an XML description or an URL.
  *
- * <p>Note: the class {@link DynamicSelectionList} also interprets the same wd:selection-list XML, so if
- * anything changes here to how that XML is interpreted, it also needs to change over there and vice versa.
- *
  * <p>Note: the class {@link DynamicSelectionList} also interprets the same
  * <code>fd:selection-list</code> XML, so if anything changes here to how
  * that XML is interpreted, it also needs to change over there and vice

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/EmptySelectionList.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/EmptySelectionList.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/EmptySelectionList.java	Thu Nov  4 02:16:22 2004
@@ -27,7 +27,7 @@
 /**
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: EmptySelectionList.java,v 1.3 2004/03/09 13:17:26 cziegeler Exp $
+ * @version CVS $Id$
  */
 public class EmptySelectionList implements SelectionList {
     private String text;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/EnumSelectionListBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/EnumSelectionListBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/EnumSelectionListBuilder.java	Thu Nov  4 02:16:22 2004
@@ -20,7 +20,7 @@
 
 /**
  * Description of EnumSelectionListBuilder.
- * @version CVS $Id: EnumSelectionListBuilder.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version CVS $Id$
  */
 public class EnumSelectionListBuilder implements SelectionListBuilder {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionList.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionList.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionList.java	Thu Nov  4 02:16:22 2004
@@ -36,7 +36,7 @@
  *
  * @see org.apache.cocoon.forms.datatype.FlowJXPathSelectionListBuilder
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: FlowJXPathSelectionList.java,v 1.4 2004/03/09 13:17:26 cziegeler Exp $
+ * @version CVS $Id$
  */
 public class FlowJXPathSelectionList implements SelectionList {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/JavaSelectionListBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/JavaSelectionListBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/JavaSelectionListBuilder.java	Thu Nov  4 02:16:22 2004
@@ -90,4 +90,4 @@
 		this.manager = manager;
 
 	}
-}
\ No newline at end of file
+}

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/SelectionList.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/SelectionList.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/SelectionList.java	Thu Nov  4 02:16:22 2004
@@ -22,7 +22,7 @@
 
 /**
  * Interface to be implemented by selection lists.
- * @version $Id: SelectionList.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version $Id$
  */
 public interface SelectionList {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/SelectionListBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/SelectionListBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/SelectionListBuilder.java	Thu Nov  4 02:16:22 2004
@@ -20,7 +20,7 @@
 /**
  * Builds {@link SelectionList}s from an XML description.
  * 
- * @version CVS $Id: SelectionListBuilder.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version CVS $Id$
  */
 public interface SelectionListBuilder {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/StaticSelectionList.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/StaticSelectionList.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/StaticSelectionList.java	Thu Nov  4 02:16:22 2004
@@ -36,7 +36,7 @@
  * cached as part of this object. In contrast, the {@link DynamicSelectionList}
  * will retrieve its content from its source each time it's needed.
  * 
- * @version $Id: StaticSelectionList.java,v 1.3 2004/03/09 13:17:26 cziegeler Exp $
+ * @version $Id$
  */
 public class StaticSelectionList implements SelectionList {
     /** The datatype to which this selection list belongs */

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/ValidationRule.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/ValidationRule.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/ValidationRule.java	Thu Nov  4 02:16:22 2004
@@ -23,7 +23,7 @@
  * perform their validation by checking a number of these validation rules
  * (though strictly spoken this is not required).
  * 
- * @version $Id: ValidationRule.java,v 1.2 2004/03/09 14:58:45 cziegeler Exp $
+ * @version $Id$
  */
 public interface ValidationRule {
     /**

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/Convertor.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/Convertor.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/Convertor.java	Thu Nov  4 02:16:22 2004
@@ -32,7 +32,7 @@
  * Some convertors need to build and configure parser or formatting objects,
  * which can be expensive if it needs to be done repeatedly.
  *
- * @version CVS $Id: Convertor.java,v 1.3 2004/05/06 14:59:44 bruno Exp $
+ * @version CVS $Id$
  */
 public interface Convertor {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/ConvertorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/ConvertorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/ConvertorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -26,7 +26,7 @@
  * but attributes and content of the element can vary depending on the
  * ConvertorBuilder implementation.
  *
- * @version CVS $Id: ConvertorBuilder.java,v 1.2 2004/03/11 02:56:32 joerg Exp $
+ * @version CVS $Id$
  */
 public interface ConvertorBuilder {
     /**

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/DefaultFormatCache.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/DefaultFormatCache.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/DefaultFormatCache.java	Thu Nov  4 02:16:22 2004
@@ -17,7 +17,7 @@
 
 /**
  *
- * @version CVS $Id: DefaultFormatCache.java,v 1.1 2004/03/09 10:34:06 reinhard Exp $
+ * @version CVS $Id$
  */
 public class DefaultFormatCache implements Convertor.FormatCache {
     private Object object;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/DummyStringConvertor.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/DummyStringConvertor.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/DummyStringConvertor.java	Thu Nov  4 02:16:22 2004
@@ -24,7 +24,7 @@
  * Convertor that converts between strings and strings, in other words,
  * it does nothing.
  *
- * @version CVS $Id: DummyStringConvertor.java,v 1.3 2004/05/06 14:59:44 bruno Exp $
+ * @version CVS $Id$
  */
 public class DummyStringConvertor implements Convertor {
     public ConversionResult convertFromString(String value, Locale locale, Convertor.FormatCache formatCache) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/DummyStringConvertorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/DummyStringConvertorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/DummyStringConvertorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -20,7 +20,7 @@
 /**
  * Builds {@link DummyStringConvertor}s.
  *
- * @version CVS $Id: DummyStringConvertorBuilder.java,v 1.1 2004/03/09 10:34:06 reinhard Exp $
+ * @version CVS $Id$
  */
 public class DummyStringConvertorBuilder implements ConvertorBuilder {
     public Convertor build(Element configElement) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/EnumConvertor.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/EnumConvertor.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/EnumConvertor.java	Thu Nov  4 02:16:22 2004
@@ -31,7 +31,7 @@
  * typesafe enum</a> pattern.
  * 
  * @see org.apache.cocoon.forms.datatype.typeimpl.EnumType
- * @version CVS $Id: EnumConvertor.java,v 1.4 2004/05/06 14:59:44 bruno Exp $
+ * @version CVS $Id$
  */
 public class EnumConvertor implements Convertor {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/EnumConvertorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/EnumConvertorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/EnumConvertorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -22,7 +22,7 @@
 /**
  * Builds {@link EnumConvertor}s.
  * 
- * @version CVS $Id: EnumConvertorBuilder.java,v 1.3 2004/03/11 02:56:32 joerg Exp $
+ * @version CVS $Id$
  */
 public class EnumConvertorBuilder implements ConvertorBuilder {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDateConvertor.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDateConvertor.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDateConvertor.java	Thu Nov  4 02:16:22 2004
@@ -44,7 +44,7 @@
  * java.text.SimpleDateFormat or com.ibm.icu.text.SimpleDateFormat. The com.ibm version will automatically
  * be used if it is present on the classpath, otherwise the java.text version will be used.
  *
- * @version CVS $Id: FormattingDateConvertor.java,v 1.6 2004/07/04 14:35:41 joerg Exp $
+ * @version CVS $Id$
  */
 public class FormattingDateConvertor implements Convertor {
     /** See {@link #setStyle}. */

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDateConvertorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDateConvertorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDateConvertorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -26,7 +26,7 @@
 /**
  * Builds {@link FormattingDateConvertor}s.
  *
- * @version CVS $Id: FormattingDateConvertorBuilder.java,v 1.3 2004/07/04 14:35:41 joerg Exp $
+ * @version CVS $Id$
  */
 public class FormattingDateConvertorBuilder implements ConvertorBuilder {
     public Convertor build(Element configElement) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDecimalConvertor.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDecimalConvertor.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDecimalConvertor.java	Thu Nov  4 02:16:22 2004
@@ -43,7 +43,7 @@
  * java.text.DecimalFormat or com.ibm.icu.text.DecimalFormat. The com.ibm version will automatically
  * be used if it is present on the classpath, otherwise the java.text version will be used.
  *
- * @version CVS $Id: FormattingDecimalConvertor.java,v 1.5 2004/05/26 01:41:21 joerg Exp $
+ * @version CVS $Id$
  */
 public class FormattingDecimalConvertor implements Convertor {
     private int variant;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDecimalConvertorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDecimalConvertorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDecimalConvertorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -25,7 +25,7 @@
 /**
  * Builds {@link FormattingDecimalConvertor}s.
  *
- * @version CVS $Id: FormattingDecimalConvertorBuilder.java,v 1.2 2004/03/09 13:08:46 cziegeler Exp $
+ * @version CVS $Id$
  */
 public class FormattingDecimalConvertorBuilder implements ConvertorBuilder {
     public Convertor build(Element configElement) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDoubleConvertor.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDoubleConvertor.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDoubleConvertor.java	Thu Nov  4 02:16:22 2004
@@ -27,7 +27,7 @@
  * <p>This class is mostly the same as the {@link FormattingDecimalConvertor},
  * so see there for more information.
  *
- * @version CVS $Id: FormattingDoubleConvertor.java,v 1.2 2004/05/06 14:59:44 bruno Exp $
+ * @version CVS $Id$
  */
 public class FormattingDoubleConvertor extends FormattingDecimalConvertor {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDoubleConvertorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDoubleConvertorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingDoubleConvertorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -18,10 +18,10 @@
 /**
  * Builds {@link FormattingDoubleConvertor}s.
  *
- * @version CVS $Id: FormattingDoubleConvertorBuilder.java,v 1.1 2004/03/18 11:45:55 bruno Exp $
+ * @version CVS $Id$
  */
 public class FormattingDoubleConvertorBuilder extends FormattingDecimalConvertorBuilder {
     protected FormattingDecimalConvertor createConvertor() {
         return new FormattingDoubleConvertor();
     }
-}
\ No newline at end of file
+}

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingFloatConvertor.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingFloatConvertor.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingFloatConvertor.java	Thu Nov  4 02:16:22 2004
@@ -27,7 +27,7 @@
  * <p>This class is mostly the same as the {@link FormattingDecimalConvertor},
  * so see there for more information.
  *
- * @version CVS $Id: FormattingFloatConvertor.java,v 1.3 2004/05/06 14:59:44 bruno Exp $
+ * @version CVS $Id$
  */
 public class FormattingFloatConvertor extends FormattingDecimalConvertor {
 
@@ -51,4 +51,4 @@
     public Class getTypeClass() {
         return Float.class;
     }
-}
\ No newline at end of file
+}

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingFloatConvertorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingFloatConvertorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingFloatConvertorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 /**
  * Builds {@link FormattingFloatConvertor}s.
  *
- * @version CVS $Id: FormattingFloatConvertorBuilder.java,v 1.4 2004/03/18 15:47:18 joerg Exp $
+ * @version CVS $Id$
  */
 public class FormattingFloatConvertorBuilder extends FormattingDecimalConvertorBuilder {
     protected FormattingDecimalConvertor createConvertor() {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingIntegerConvertor.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingIntegerConvertor.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingIntegerConvertor.java	Thu Nov  4 02:16:22 2004
@@ -28,7 +28,7 @@
  * so see there for more information.
  * 
  * @author <a href="mailto:antonio@apache.org">Antonio Gallardo</a>
- * @version CVS $Id: FormattingIntegerConvertor.java,v 1.2 2004/05/06 14:59:44 bruno Exp $
+ * @version CVS $Id$
 */
 public class FormattingIntegerConvertor extends FormattingDecimalConvertor {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingIntegerConvertorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingIntegerConvertorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingIntegerConvertorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -19,7 +19,7 @@
  * Builds {@link FormattingIntegerConvertor}s.
  * 
  * @author <a href="mailto:antonio@apache.org">Antonio Gallardo</a>
- * @version CVS $Id: FormattingIntegerConvertorBuilder.java,v 1.1 2004/03/09 10:34:06 reinhard Exp $
+ * @version CVS $Id$
  */
 public class FormattingIntegerConvertorBuilder extends FormattingDecimalConvertorBuilder {
     protected FormattingDecimalConvertor createConvertor() {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingLongConvertor.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingLongConvertor.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingLongConvertor.java	Thu Nov  4 02:16:22 2004
@@ -27,7 +27,7 @@
  * <p>This class is mostly the same as the {@link FormattingDecimalConvertor},
  * so see there for more information.
  *
- * @version CVS $Id: FormattingLongConvertor.java,v 1.2 2004/05/06 14:59:44 bruno Exp $
+ * @version CVS $Id$
  */
 public class FormattingLongConvertor extends FormattingDecimalConvertor {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingLongConvertorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingLongConvertorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/FormattingLongConvertorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 /**
  * Builds {@link FormattingLongConvertor}s.
  *
- * @version CVS $Id: FormattingLongConvertorBuilder.java,v 1.1 2004/03/09 10:34:06 reinhard Exp $
+ * @version CVS $Id$
  */
 public class FormattingLongConvertorBuilder extends FormattingDecimalConvertorBuilder {
     protected FormattingDecimalConvertor createConvertor() {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/LocaleMap.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/LocaleMap.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/LocaleMap.java	Thu Nov  4 02:16:22 2004
@@ -25,7 +25,7 @@
  * <p>This map should be filled once using calls to {@link #put(Locale, Object)},
  * before any calls are made to {@link #get(Locale)}.
  *
- * @version CVS $Id: LocaleMap.java,v 1.1 2004/03/09 10:34:06 reinhard Exp $
+ * @version CVS $Id$
  */
 public class LocaleMap {
     private FastHashMap map = new FastHashMap();

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/MillisDateConvertor.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/MillisDateConvertor.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/MillisDateConvertor.java	Thu Nov  4 02:16:22 2004
@@ -25,7 +25,7 @@
  * A Convertor for Date objects which uses the number of milliseconds since
  * January 1, 1970, 00:00:00 GMT as string representation.
  *
- * @version CVS $Id: MillisDateConvertor.java,v 1.3 2004/05/06 14:59:44 bruno Exp $
+ * @version CVS $Id$
  */
 public class MillisDateConvertor implements Convertor {
     public ConversionResult convertFromString(String value, Locale locale, Convertor.FormatCache formatCache) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/MillisDateConvertorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/MillisDateConvertorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/MillisDateConvertorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -20,7 +20,7 @@
 /**
  * Builds {@link MillisDateConvertor}s.
  *
- * @version CVS $Id: MillisDateConvertorBuilder.java,v 1.1 2004/03/09 10:34:06 reinhard Exp $
+ * @version CVS $Id$
  */
 public class MillisDateConvertorBuilder implements ConvertorBuilder {
     public Convertor build(Element configElement) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainBooleanConvertor.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainBooleanConvertor.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainBooleanConvertor.java	Thu Nov  4 02:16:22 2004
@@ -23,7 +23,7 @@
 /**
  * Convertor for java.lang.Boolean's.
  *
- * @version CVS $Id: PlainBooleanConvertor.java,v 1.3 2004/05/06 14:59:44 bruno Exp $
+ * @version CVS $Id$
  */
 public class PlainBooleanConvertor implements Convertor {
     public ConversionResult convertFromString(String value, Locale locale, Convertor.FormatCache formatCache) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainBooleanConvertorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainBooleanConvertorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainBooleanConvertorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -20,7 +20,7 @@
 /**
  * Builds {PlainBooleanConvertor}s.
  *
- * @version CVS $Id: PlainBooleanConvertorBuilder.java,v 1.1 2004/03/09 10:34:06 reinhard Exp $
+ * @version CVS $Id$
  */
 public class PlainBooleanConvertorBuilder implements ConvertorBuilder {
     public Convertor build(Element configElement) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainDecimalConvertor.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainDecimalConvertor.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainDecimalConvertor.java	Thu Nov  4 02:16:22 2004
@@ -25,7 +25,7 @@
  * Convertor for {@link java.math.BigDecimal}s that does not do any
  * (locale-dependent) formatting.
  *
- * @version CVS $Id: PlainDecimalConvertor.java,v 1.3 2004/05/06 14:59:44 bruno Exp $
+ * @version CVS $Id$
  */
 public class PlainDecimalConvertor implements Convertor {
     public ConversionResult convertFromString(String value, Locale locale, Convertor.FormatCache formatCache) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainDecimalConvertorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainDecimalConvertorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainDecimalConvertorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -19,7 +19,7 @@
 
 /**
  *
- * @version CVS $Id: PlainDecimalConvertorBuilder.java,v 1.1 2004/03/09 10:34:06 reinhard Exp $
+ * @version CVS $Id$
  */
 public class PlainDecimalConvertorBuilder implements ConvertorBuilder {
     public Convertor build(Element configElement) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainDoubleConvertor.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainDoubleConvertor.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainDoubleConvertor.java	Thu Nov  4 02:16:22 2004
@@ -24,7 +24,7 @@
  * Convertor for java.lang.Doubles that does not do any (Locale-dependent)
  * formatting. It simply uses String.valueOf() and Long.parseLong().
  *
- * @version CVS $Id: PlainDoubleConvertor.java,v 1.3 2004/05/06 14:59:44 bruno Exp $
+ * @version CVS $Id$
  */
 public class PlainDoubleConvertor implements Convertor {
     public ConversionResult convertFromString(String value, Locale locale, Convertor.FormatCache formatCache) {
@@ -46,4 +46,4 @@
     public void generateSaxFragment(ContentHandler contentHandler, Locale locale) throws SAXException {
         // intentionally empty
     }
-}
\ No newline at end of file
+}

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainDoubleConvertorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainDoubleConvertorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainDoubleConvertorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -19,10 +19,10 @@
 
 /**
  *
- * @version CVS $Id: PlainDoubleConvertorBuilder.java,v 1.1 2004/03/18 11:45:55 bruno Exp $
+ * @version CVS $Id$
  */
 public class PlainDoubleConvertorBuilder implements ConvertorBuilder {
     public Convertor build(Element configElement) throws Exception {
         return new PlainDoubleConvertor();
     }
-}
\ No newline at end of file
+}

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainFloatConvertor.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainFloatConvertor.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainFloatConvertor.java	Thu Nov  4 02:16:22 2004
@@ -24,7 +24,7 @@
  * Convertor for {@link Float}s that does not do any (locale-dependent)
  * formatting.
  *
- * @version CVS $Id: PlainFloatConvertor.java,v 1.3 2004/05/06 14:59:44 bruno Exp $
+ * @version CVS $Id$
  */
 public class PlainFloatConvertor implements Convertor {
     public ConversionResult convertFromString(String value, Locale locale, Convertor.FormatCache formatCache) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainFloatConvertorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainFloatConvertorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainFloatConvertorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -19,7 +19,7 @@
 
 /**
  *
- * @version CVS $Id: PlainFloatConvertorBuilder.java,v 1.1 2004/03/09 10:34:06 reinhard Exp $
+ * @version CVS $Id$
  */
 public class PlainFloatConvertorBuilder implements ConvertorBuilder {
     public Convertor build(Element configElement) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainIntegerConvertor.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainIntegerConvertor.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainIntegerConvertor.java	Thu Nov  4 02:16:22 2004
@@ -25,7 +25,7 @@
  * formatting. It simply uses String.valueOf() and Long.parseLong().
  * 
  * @author <a href="mailto:antonio@apache.org">Antonio Gallardo</a>
- * @version CVS $Id: PlainIntegerConvertor.java,v 1.3 2004/05/06 14:59:44 bruno Exp $ 
+ * @version CVS $Id$ 
  */
 public class PlainIntegerConvertor implements Convertor {
     public ConversionResult convertFromString(String value, Locale locale, Convertor.FormatCache formatCache) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainIntegerConvertorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainIntegerConvertorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainIntegerConvertorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
  * Builds {@link PlainIntegerConvertor}s.
  * 
  * @author <a href="mailto:antonio@apache.org">Antonio Gallardo</a>
- * @version CVS $Id: PlainIntegerConvertorBuilder.java,v 1.1 2004/03/09 10:34:06 reinhard Exp $
+ * @version CVS $Id$
  */
 public class PlainIntegerConvertorBuilder implements ConvertorBuilder {
     public Convertor build(Element configElement) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainLongConvertor.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainLongConvertor.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainLongConvertor.java	Thu Nov  4 02:16:22 2004
@@ -24,7 +24,7 @@
  * Convertor for java.lang.Longs that does not do any (Locale-dependent)
  * formatting. It simply uses String.valueOf() and Long.parseLong().
  *
- * @version CVS $Id: PlainLongConvertor.java,v 1.3 2004/05/06 14:59:44 bruno Exp $
+ * @version CVS $Id$
  */
 public class PlainLongConvertor implements Convertor {
     public ConversionResult convertFromString(String value, Locale locale, Convertor.FormatCache formatCache) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainLongConvertorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainLongConvertorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/convertor/PlainLongConvertorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -20,7 +20,7 @@
 /**
  * Builds {@link PlainLongConvertor}s.
  *
- * @version CVS $Id: PlainLongConvertorBuilder.java,v 1.1 2004/03/09 10:34:06 reinhard Exp $
+ * @version CVS $Id$
  */
 public class PlainLongConvertorBuilder implements ConvertorBuilder {
     public Convertor build(Element configElement) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/AbstractDatatype.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/AbstractDatatype.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/AbstractDatatype.java	Thu Nov  4 02:16:22 2004
@@ -35,7 +35,7 @@
 /**
  * Abstract base class for Datatype implementations. Most concreate datatypes
  * will derive from this class.
- * @version $Id: AbstractDatatype.java,v 1.5 2004/05/06 14:59:44 bruno Exp $
+ * @version $Id$
  */
 public abstract class AbstractDatatype implements Datatype {
     private List validationRules = new ArrayList();

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/AbstractDatatypeBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/AbstractDatatypeBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/AbstractDatatypeBuilder.java	Thu Nov  4 02:16:22 2004
@@ -38,7 +38,7 @@
 /**
  * Abstract base class for datatype builders, most concrete datatype builders
  * will derive from this class.
- * @version $Id: AbstractDatatypeBuilder.java,v 1.4 2004/04/21 13:20:27 bruno Exp $
+ * @version $Id$
  */
 public abstract class AbstractDatatypeBuilder extends AbstractLogEnabled implements DatatypeBuilder, Serviceable, Configurable, Contextualizable {
     protected ServiceManager serviceManager;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/BooleanType.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/BooleanType.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/BooleanType.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 /**
  * A {@link org.apache.cocoon.forms.datatype.Datatype Datatype} implementation for
  * java.lang.Boolean's.
- * @version $Id: BooleanType.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version $Id$
  */
 public class BooleanType extends AbstractDatatype {
     public Class getTypeClass() {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/BooleanTypeBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/BooleanTypeBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/BooleanTypeBuilder.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
 
 /**
  * Builds {@link BooleanType}s.
- * @version $Id: BooleanTypeBuilder.java,v 1.1 2004/03/09 10:33:57 reinhard Exp $
+ * @version $Id$
  */
 public class BooleanTypeBuilder extends AbstractDatatypeBuilder {
     public Datatype build(Element datatypeElement, boolean arrayType, DatatypeManager datatypeManager) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DateType.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DateType.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DateType.java	Thu Nov  4 02:16:22 2004
@@ -20,7 +20,7 @@
 /**
  * A {@link org.apache.cocoon.forms.datatype.Datatype Datatype} implementation for
  * java.util.Date's (so includes a time-component).
- * @version $Id: DateType.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version $Id$
  */
 public class DateType extends AbstractDatatype {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DateTypeBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DateTypeBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DateTypeBuilder.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
 
 /**
  * Builds {@link DateType}s.
- * @version $Id: DateTypeBuilder.java,v 1.1 2004/03/09 10:33:57 reinhard Exp $
+ * @version $Id$
  */
 public class DateTypeBuilder extends AbstractDatatypeBuilder {
     public Datatype build(Element datatypeElement, boolean arrayType, DatatypeManager datatypeManager) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DecimalType.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DecimalType.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DecimalType.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 /**
  * A {@link org.apache.cocoon.forms.datatype.Datatype Datatype} implementation
  * for decimal numbers (backed by the java.math.BigDecimal class).
- * @version $Id: DecimalType.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version $Id$
  */
 public class DecimalType extends AbstractDatatype {
     public Class getTypeClass() {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DecimalTypeBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DecimalTypeBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DecimalTypeBuilder.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
 
 /**
  * Builds {@link DecimalType}s.
- * @version $Id: DecimalTypeBuilder.java,v 1.1 2004/03/09 10:33:57 reinhard Exp $
+ * @version $Id$
  */
 public class DecimalTypeBuilder extends AbstractDatatypeBuilder {
     public Datatype build(Element datatypeElement, boolean arrayType, DatatypeManager datatypeManager) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DoubleType.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DoubleType.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DoubleType.java	Thu Nov  4 02:16:22 2004
@@ -19,7 +19,7 @@
  * A {@link org.apache.cocoon.forms.datatype.Datatype Datatype} implementation
  * for double numbers (backed by the java.lang.Double class).
  *
- * @version $Id: DoubleType.java,v 1.1 2004/03/18 11:45:55 bruno Exp $
+ * @version $Id$
  */
 public class DoubleType extends AbstractDatatype {
     public Class getTypeClass() {
@@ -29,4 +29,4 @@
     public String getDescriptiveName() {
         return "double";
     }
-}
\ No newline at end of file
+}

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DoubleTypeBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DoubleTypeBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/DoubleTypeBuilder.java	Thu Nov  4 02:16:22 2004
@@ -22,7 +22,7 @@
 /**
  * Builds {@link DoubleType}s.
  *
- * @version $Id: DoubleTypeBuilder.java,v 1.1 2004/03/18 11:45:55 bruno Exp $
+ * @version $Id$
  */
 public class DoubleTypeBuilder extends AbstractDatatypeBuilder {
     public Datatype build(Element datatypeElement, boolean arrayType, DatatypeManager datatypeManager) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/EnumType.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/EnumType.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/EnumType.java	Thu Nov  4 02:16:22 2004
@@ -41,7 +41,7 @@
  * different, you should also provide a fromString(String, Locale)
  * method to convert those strings back to instances.
  *  
- * @version CVS $Id: EnumType.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version CVS $Id$
  */
 public class EnumType extends AbstractDatatype {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/EnumTypeBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/EnumTypeBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/EnumTypeBuilder.java	Thu Nov  4 02:16:22 2004
@@ -22,7 +22,7 @@
 /**
  * Builds {@link EnumType}s.
  * 
- * @version CVS $Id: EnumTypeBuilder.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version CVS $Id$
  */
 public class EnumTypeBuilder extends AbstractDatatypeBuilder {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/FloatType.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/FloatType.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/FloatType.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 /**
  * A {@link org.apache.cocoon.forms.datatype.Datatype Datatype} implementation
  * for float numbers (backed by the java.lang.Float class).
- * @version $Id: FloatType.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version $Id$
  */
 public class FloatType extends AbstractDatatype {
     public Class getTypeClass() {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/FloatTypeBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/FloatTypeBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/FloatTypeBuilder.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
 
 /**
  * Builds {@link FloatType}s.
- * @version $Id: FloatTypeBuilder.java,v 1.1 2004/03/09 10:33:57 reinhard Exp $
+ * @version $Id$
  */
 public class FloatTypeBuilder extends AbstractDatatypeBuilder {
     public Datatype build(Element datatypeElement, boolean arrayType, DatatypeManager datatypeManager) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/IntegerType.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/IntegerType.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/IntegerType.java	Thu Nov  4 02:16:22 2004
@@ -20,7 +20,7 @@
  * for whole numbers.
  * 
  * @author <a href="mailto:antonio@apache.org">Antonio Gallardo</a>
- * @version CVS $Id: IntegerType.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version CVS $Id$
  */
 public class IntegerType extends AbstractDatatype {
     public Class getTypeClass() {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/IntegerTypeBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/IntegerTypeBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/IntegerTypeBuilder.java	Thu Nov  4 02:16:22 2004
@@ -23,7 +23,7 @@
  * Builds {@link IntegerType}s.
  * 
  * @author <a href="mailto:antonio@apache.org">Antonio Gallardo</a>
- * @version CVS $Id: IntegerTypeBuilder.java,v 1.1 2004/03/09 10:33:57 reinhard Exp $
+ * @version CVS $Id$
  */
 public class IntegerTypeBuilder extends AbstractDatatypeBuilder {
 	public Datatype build(Element datatypeElement, boolean arrayType, DatatypeManager datatypeManager) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/LongType.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/LongType.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/LongType.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 /**
  * A {@link org.apache.cocoon.forms.datatype.Datatype Datatype} implementation
  * for whole numbers.
- * @version $Id: LongType.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version $Id$
  */
 public class LongType extends AbstractDatatype {
     public Class getTypeClass() {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/LongTypeBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/LongTypeBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/LongTypeBuilder.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
 
 /**
  * Builds {@link LongType}s.
- * @version $Id: LongTypeBuilder.java,v 1.1 2004/03/09 10:33:57 reinhard Exp $
+ * @version $Id$
  */
 public class LongTypeBuilder extends AbstractDatatypeBuilder {
     public Datatype build(Element datatypeElement, boolean arrayType, DatatypeManager datatypeManager) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/StringType.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/StringType.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/StringType.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 /**
  * A {@link org.apache.cocoon.forms.datatype.Datatype Datatype} implementation
  * for strings.
- * @version $Id: StringType.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version $Id$
  */
 public class StringType extends AbstractDatatype {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/StringTypeBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/StringTypeBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/typeimpl/StringTypeBuilder.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
 
 /**
  * Builds {@link StringType}s.
- * @version $Id: StringTypeBuilder.java,v 1.1 2004/03/09 10:33:57 reinhard Exp $
+ * @version $Id$
  */
 public class StringTypeBuilder extends AbstractDatatypeBuilder {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/AbstractValidationRule.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/AbstractValidationRule.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/AbstractValidationRule.java	Thu Nov  4 02:16:22 2004
@@ -29,7 +29,7 @@
  * Abstract base class providing common functionality for many {@link ValidationRule}
  * implementations.
  * 
- * @version $Id: AbstractValidationRule.java,v 1.2 2004/03/09 14:58:45 cziegeler Exp $
+ * @version $Id$
  */
 public abstract class AbstractValidationRule implements ValidationRule {
     private XMLizable failMessage;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/AssertValidationRule.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/AssertValidationRule.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/AssertValidationRule.java	Thu Nov  4 02:16:22 2004
@@ -25,7 +25,7 @@
  * Generic validation rule that evaluates an expression. If the outcome of the expression is true,
  * the validation is successful, otherwise not.
  * 
- * @version $Id: AssertValidationRule.java,v 1.2 2004/03/09 14:58:45 cziegeler Exp $
+ * @version $Id$
  */
 public class AssertValidationRule extends AbstractValidationRule {
     private Expression testExpression;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/AssertValidationRuleBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/AssertValidationRuleBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/AssertValidationRuleBuilder.java	Thu Nov  4 02:16:22 2004
@@ -23,7 +23,7 @@
 /**
  * Builds {@link AssertValidationRule}s.
  * 
- * @version $Id: AssertValidationRuleBuilder.java,v 1.1 2004/03/09 10:34:10 reinhard Exp $
+ * @version $Id$
  */
 public class AssertValidationRuleBuilder extends AbstractValidationRuleBuilder {
     public ValidationRule build(Element validationRuleElement) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/EmailValidationRuleBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/EmailValidationRuleBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/EmailValidationRuleBuilder.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
 /**
  * Builds {@link EmailValidationRule}s.
  * 
- * @version $Id: EmailValidationRuleBuilder.java,v 1.1 2004/03/09 10:34:10 reinhard Exp $
+ * @version $Id$
  */
 public class EmailValidationRuleBuilder extends AbstractValidationRuleBuilder {
     public ValidationRule build(Element validationRuleElement) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/LengthValidationRule.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/LengthValidationRule.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/LengthValidationRule.java	Thu Nov  4 02:16:22 2004
@@ -35,7 +35,7 @@
  *  <li>check min and max string length
  * </ul>
  * 
- * @version $Id: LengthValidationRule.java,v 1.3 2004/03/28 20:51:24 antonio Exp $
+ * @version $Id$
  */
 public class LengthValidationRule extends AbstractValidationRule {
     private Expression exactExpr;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/LengthValidationRuleBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/LengthValidationRuleBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/LengthValidationRuleBuilder.java	Thu Nov  4 02:16:22 2004
@@ -23,7 +23,7 @@
 /**
  * Builds {@link LengthValidationRule}s.
  * 
- * @version $Id: LengthValidationRuleBuilder.java,v 1.1 2004/03/09 10:34:10 reinhard Exp $
+ * @version $Id$
  */
 public class LengthValidationRuleBuilder extends AbstractValidationRuleBuilder {
     public ValidationRule build(Element validationRuleElement) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/Mod10ValidationRule.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/Mod10ValidationRule.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/Mod10ValidationRule.java	Thu Nov  4 02:16:22 2004
@@ -28,7 +28,7 @@
  * and prefix, but those properties are depended on the credit card type and such validation
  * is not performed by this validation rule.
  * 
- * @version $Id: Mod10ValidationRule.java,v 1.2 2004/03/09 14:58:45 cziegeler Exp $
+ * @version $Id$
  */
 public class Mod10ValidationRule extends AbstractValidationRule {
     public ValidationError validate(Object value, ExpressionContext expressionContext) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/Mod10ValidationRuleBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/Mod10ValidationRuleBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/Mod10ValidationRuleBuilder.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
 /**
  * Builds {@link Mod10ValidationRule}s.
  * 
- * @version $Id: Mod10ValidationRuleBuilder.java,v 1.1 2004/03/09 10:34:10 reinhard Exp $
+ * @version $Id$
  */
 public class Mod10ValidationRuleBuilder extends AbstractValidationRuleBuilder {
     public ValidationRule build(Element validationRuleElement) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/RangeValidationRule.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/RangeValidationRule.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/RangeValidationRule.java	Thu Nov  4 02:16:22 2004
@@ -36,7 +36,7 @@
  *  <li>check min and max values (range check)
  * </ul>
  * 
- * @version $Id: RangeValidationRule.java,v 1.3 2004/03/28 20:51:24 antonio Exp $
+ * @version $Id$
  */
 public class RangeValidationRule extends AbstractValidationRule {
     private Expression minExpr;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/RangeValidationRuleBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/RangeValidationRuleBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/RangeValidationRuleBuilder.java	Thu Nov  4 02:16:22 2004
@@ -23,7 +23,7 @@
 /**
  * Builds {@link RangeValidationRule}s.
  * 
- * @version $Id: RangeValidationRuleBuilder.java,v 1.1 2004/03/09 10:34:10 reinhard Exp $
+ * @version $Id$
  */
 public class RangeValidationRuleBuilder extends AbstractValidationRuleBuilder {
     public ValidationRule build(Element validationRuleElement) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/RegExpValidationRule.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/RegExpValidationRule.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/RegExpValidationRule.java	Thu Nov  4 02:16:22 2004
@@ -30,7 +30,7 @@
  * <p>The <a href="http://jakarta.apache.org/oro/">Jakarta ORO</a> library
  * is used as regexp engine.
  * 
- * @version $Id: RegExpValidationRule.java,v 1.2 2004/03/09 14:58:45 cziegeler Exp $
+ * @version $Id$
  */
 public class RegExpValidationRule extends AbstractValidationRule {
 	/** Compiled regular expression. */

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/RegExpValidationRuleBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/RegExpValidationRuleBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/RegExpValidationRuleBuilder.java	Thu Nov  4 02:16:22 2004
@@ -25,7 +25,7 @@
 /**
  * Builds {@link RegExpValidationRule}s.
  * 
- * @version $Id: RegExpValidationRuleBuilder.java,v 1.1 2004/03/09 10:34:10 reinhard Exp $
+ * @version $Id$
  */
 public class RegExpValidationRuleBuilder extends AbstractValidationRuleBuilder {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/ValueCountValidationRule.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/ValueCountValidationRule.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/ValueCountValidationRule.java	Thu Nov  4 02:16:22 2004
@@ -37,7 +37,7 @@
  *  <li>check min and max array size
  * </ul>
  * 
- * @version $Id: ValueCountValidationRule.java,v 1.4 2004/03/28 20:51:24 antonio Exp $
+ * @version $Id$
  */
 public class ValueCountValidationRule extends AbstractValidationRule {
     private Expression exactExpr;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/ValueCountValidationRuleBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/ValueCountValidationRuleBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/datatype/validationruleimpl/ValueCountValidationRuleBuilder.java	Thu Nov  4 02:16:22 2004
@@ -23,7 +23,7 @@
 /**
  * Builds {@link ValueCountValidationRule}s.
  * 
- * @version $Id: ValueCountValidationRuleBuilder.java,v 1.1 2004/03/09 10:34:10 reinhard Exp $
+ * @version $Id$
  */
 public class ValueCountValidationRuleBuilder extends AbstractValidationRuleBuilder {
     public ValidationRule build(Element validationRuleElement) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/AbstractFormHandler.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/AbstractFormHandler.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/AbstractFormHandler.java	Thu Nov  4 02:16:22 2004
@@ -20,7 +20,7 @@
  * of the WidgetEvent and calls the more specific {@link #handleActionEvent(ActionEvent)}
  * or {@link #handleValueChangedEvent(ValueChangedEvent)} methods.
  * 
- * @version CVS $Id: AbstractFormHandler.java,v 1.1 2004/03/09 10:33:45 reinhard Exp $
+ * @version CVS $Id$
  */
 public abstract class AbstractFormHandler implements FormHandler {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ActionEvent.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ActionEvent.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ActionEvent.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
  * Currently this event originates from a {@link org.apache.cocoon.forms.formmodel.Action Button}
  * widget.
  * 
- * @version CVS $Id: ActionEvent.java,v 1.2 2004/03/09 11:31:12 joerg Exp $
+ * @version CVS $Id$
  */
 public class ActionEvent extends WidgetEvent {
     String actionCommand;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ActionListener.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ActionListener.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ActionListener.java	Thu Nov  4 02:16:22 2004
@@ -19,7 +19,7 @@
  * Listeners for {@link ActionEvent}s
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: ActionListener.java,v 1.1 2004/03/09 10:33:45 reinhard Exp $
+ * @version CVS $Id$
  */
 
 public interface ActionListener extends WidgetListener {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/CreateEvent.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/CreateEvent.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/CreateEvent.java	Thu Nov  4 02:16:22 2004
@@ -22,7 +22,7 @@
  * An event raised when a widget is created, once it has been fully set up. For
  * container widgets, this occurs after child widgets, if any, have been created.
  * 
- * @version CVS $Id: CreateEvent.java,v 1.1 2004/06/15 07:33:43 sylvain Exp $
+ * @version CVS $Id$
  */
 public class CreateEvent extends WidgetEvent {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/CreateListener.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/CreateListener.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/CreateListener.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 /**
  * Listeners for {@link CreateEvent}s
  * 
- * @version CVS $Id: CreateListener.java,v 1.1 2004/06/15 07:33:43 sylvain Exp $
+ * @version CVS $Id$
  */
 
 public interface CreateListener extends WidgetListener {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/DeferredValueChangedEvent.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/DeferredValueChangedEvent.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/DeferredValueChangedEvent.java	Thu Nov  4 02:16:22 2004
@@ -25,7 +25,7 @@
  * value, thus avoiding unnecessary validation warnings when a user clicks an action.
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: DeferredValueChangedEvent.java,v 1.1 2004/03/09 10:33:45 reinhard Exp $
+ * @version CVS $Id$
  */
 public class DeferredValueChangedEvent extends ValueChangedEvent {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/FormHandler.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/FormHandler.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/FormHandler.java	Thu Nov  4 02:16:22 2004
@@ -27,7 +27,7 @@
  * you want the event handler to have access to objects it would not be able to get access
  * to if they were part of the form definition.
  * 
- * @version CVS $Id: FormHandler.java,v 1.2 2004/03/09 11:31:12 joerg Exp $
+ * @version CVS $Id$
  */
 public interface FormHandler {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ProcessingPhaseEvent.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ProcessingPhaseEvent.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ProcessingPhaseEvent.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
  * Event raised when a form processing phase is finished.
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: ProcessingPhaseEvent.java,v 1.1 2004/03/09 10:33:45 reinhard Exp $
+ * @version CVS $Id$
  */
 public class ProcessingPhaseEvent extends WidgetEvent {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ValueChangedEvent.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ValueChangedEvent.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ValueChangedEvent.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
  * Event raised when a field value changes.
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: ValueChangedEvent.java,v 1.1 2004/03/09 10:33:45 reinhard Exp $
+ * @version CVS $Id$
  */
 public class ValueChangedEvent extends WidgetEvent {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ValueChangedListener.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ValueChangedListener.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/ValueChangedListener.java	Thu Nov  4 02:16:22 2004
@@ -19,7 +19,7 @@
  * Listener invoked when a field value changes.
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: ValueChangedListener.java,v 1.1 2004/03/09 10:33:45 reinhard Exp $
+ * @version CVS $Id$
  */
 public interface ValueChangedListener extends WidgetListener {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/WidgetEvent.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/WidgetEvent.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/WidgetEvent.java	Thu Nov  4 02:16:22 2004
@@ -23,7 +23,7 @@
  * Base class for events sent by form widgets.
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: WidgetEvent.java,v 1.1 2004/03/09 10:33:45 reinhard Exp $
+ * @version CVS $Id$
  */
 public abstract class WidgetEvent extends EventObject {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/WidgetEventMulticaster.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/WidgetEventMulticaster.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/WidgetEventMulticaster.java	Thu Nov  4 02:16:22 2004
@@ -23,7 +23,7 @@
  * <code>java.awt.AWTEventMulticaster</code> for more information on its use.
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: WidgetEventMulticaster.java,v 1.2 2004/06/15 07:33:43 sylvain Exp $
+ * @version CVS $Id$
  */
 public class WidgetEventMulticaster extends AWTEventMulticaster implements
     ActionListener, ValueChangedListener, ProcessingPhaseListener {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/WidgetListener.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/WidgetListener.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/WidgetListener.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
  * Base interface for all widget event listeners.
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: WidgetListener.java,v 1.1 2004/03/09 10:33:45 reinhard Exp $
+ * @version CVS $Id$
  */
 public interface WidgetListener extends EventListener {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/WidgetListenerBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/WidgetListenerBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/WidgetListenerBuilder.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
  * A component that build widget event listeners.
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: WidgetListenerBuilder.java,v 1.1 2004/03/09 10:33:45 reinhard Exp $
+ * @version CVS $Id$
  */
 public interface WidgetListenerBuilder {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/impl/JavaClassWidgetListenerBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/impl/JavaClassWidgetListenerBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/impl/JavaClassWidgetListenerBuilder.java	Thu Nov  4 02:16:22 2004
@@ -31,7 +31,7 @@
  * </pre>
  *
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: JavaClassWidgetListenerBuilder.java,v 1.2 2004/04/27 12:02:13 bruno Exp $
+ * @version CVS $Id$
  */
 public class JavaClassWidgetListenerBuilder implements WidgetListenerBuilder, ThreadSafe {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/impl/JavaScriptWidgetListener.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/impl/JavaScriptWidgetListener.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/impl/JavaScriptWidgetListener.java	Thu Nov  4 02:16:22 2004
@@ -36,7 +36,7 @@
  * Listeners built by {@link org.apache.cocoon.forms.event.impl.JavaScriptWidgetListenerBuilder}
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: JavaScriptWidgetListener.java,v 1.5 2004/06/15 07:33:43 sylvain Exp $
+ * @version CVS $Id$
  */
 public abstract class JavaScriptWidgetListener {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/impl/JavaScriptWidgetListenerBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/impl/JavaScriptWidgetListenerBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/event/impl/JavaScriptWidgetListenerBuilder.java	Thu Nov  4 02:16:22 2004
@@ -42,7 +42,7 @@
  * variable.
  *
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: JavaScriptWidgetListenerBuilder.java,v 1.3 2004/06/15 07:33:43 sylvain Exp $
+ * @version CVS $Id$
  */
 public class JavaScriptWidgetListenerBuilder implements WidgetListenerBuilder, ThreadSafe, Contextualizable {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/expression/ExpressionManager.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/expression/ExpressionManager.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/expression/ExpressionManager.java	Thu Nov  4 02:16:22 2004
@@ -24,7 +24,7 @@
  * The reason for centralising the creation of expressions is so that
  * new functions can be registered in one place.
  * 
- * @version $Id: ExpressionManager.java,v 1.1 2004/03/09 10:34:08 reinhard Exp $
+ * @version $Id$
  */
 public interface ExpressionManager {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/expression/IsNullFunction.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/expression/IsNullFunction.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/expression/IsNullFunction.java	Thu Nov  4 02:16:22 2004
@@ -24,7 +24,7 @@
  * Returns true if argument is null.
  *  
  * @author <a href="mailto:vadim.gritsenko@dc.gov">Vadim Gritsenko</a>
- * @version CVS $Id: IsNullFunction.java,v 1.1 2004/03/09 10:34:08 reinhard Exp $
+ * @version CVS $Id$
  */
 public class IsNullFunction extends AbstractExpression {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/expression/NullFunction.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/expression/NullFunction.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/expression/NullFunction.java	Thu Nov  4 02:16:22 2004
@@ -23,7 +23,7 @@
  * Returns null constant.
  *  
  * @author <a href="mailto:vadim.gritsenko@dc.gov">Vadim Gritsenko</a>
- * @version CVS $Id: NullFunction.java,v 1.1 2004/03/09 10:34:08 reinhard Exp $
+ * @version CVS $Id$
  */
 public class NullFunction extends AbstractExpression {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/expression/StringFunction.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/expression/StringFunction.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/expression/StringFunction.java	Thu Nov  4 02:16:22 2004
@@ -25,7 +25,7 @@
  * values, such as numbers.
  *
  * @author <a href="http://cocoon.apache.org/">The Apache Cocoon Team</a>
- * @version CVS $Id: StringFunction.java,v 1.1 2004/03/09 10:34:08 reinhard Exp $
+ * @version CVS $Id$
  */
 public class StringFunction extends AbstractExpression {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/Form.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/Form.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/Form.java	Thu Nov  4 02:16:22 2004
@@ -25,7 +25,7 @@
 
 /**
  * cforms flowscript integration helper class.
- * @version $Id: Form.java,v 1.1 2004/03/11 02:56:32 joerg Exp $
+ * @version $Id$
  */
 public class Form extends ScriptableObject {
     FOM_Cocoon cocoon;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/ScriptableWidget.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/ScriptableWidget.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/ScriptableWidget.java	Thu Nov  4 02:16:22 2004
@@ -22,6 +22,7 @@
 import org.apache.cocoon.forms.formmodel.Output;
 import org.apache.cocoon.forms.formmodel.Repeater;
 import org.apache.cocoon.forms.formmodel.Widget;
+import org.apache.cocoon.forms.formmodel.WidgetState;
 import org.mozilla.javascript.Context;
 import org.mozilla.javascript.NativeArray;
 import org.mozilla.javascript.Scriptable;
@@ -30,7 +31,7 @@
 import org.mozilla.javascript.Wrapper;
 
 /**
- * @version $Id: ScriptableWidget.java,v 1.5 2004/05/07 22:04:20 joerg Exp $
+ * @version $Id$
  * 
  */
 public class ScriptableWidget extends ScriptableObject {
@@ -275,6 +276,27 @@
 
     public String jsGet_id() {
         return delegate.getId();
+    }
+
+    public WidgetState jsGet_state() {
+        return delegate.getState();
+    }
+
+    public void jsSet_state(Object stateObj) {
+        Object obj = unwrap(stateObj);
+        WidgetState state = null;
+
+        if (obj instanceof String) {
+            state = WidgetState.stateForName((String)obj);
+        } else if (obj instanceof WidgetState) {
+            state = (WidgetState)obj;
+        }
+
+        if (state == null) {
+            throw new IllegalArgumentException("Invalid value for widgetState " + stateObj);
+        }
+
+        delegate.setState(state);
     }
 
     public Scriptable jsGet_parent() {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/v2/ScriptableWidget.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/v2/ScriptableWidget.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/v2/ScriptableWidget.java	Thu Nov  4 02:16:22 2004
@@ -35,12 +35,14 @@
 import org.apache.cocoon.forms.formmodel.Submit;
 import org.apache.cocoon.forms.formmodel.Upload;
 import org.apache.cocoon.forms.formmodel.Widget;
+import org.apache.cocoon.forms.formmodel.WidgetState;
 import org.apache.cocoon.forms.validation.ValidationError;
 import org.apache.cocoon.forms.validation.ValidationErrorAware;
 import org.mozilla.javascript.Context;
 import org.mozilla.javascript.JavaScriptException;
 import org.mozilla.javascript.NativeArray;
 import org.mozilla.javascript.Function;
+import org.mozilla.javascript.NativeJavaObject;
 import org.mozilla.javascript.Scriptable;
 import org.mozilla.javascript.ScriptableObject;
 import org.mozilla.javascript.Undefined;
@@ -459,6 +461,27 @@
 
     public String jsFunction_getId() {
         return delegate.getId();
+    }
+    
+    public WidgetState jsGet_state() {
+        return delegate.getState();
+    }
+
+    public void jsSet_state(Object stateObj) {
+        Object obj = unwrap(stateObj);
+        WidgetState state = null;
+
+        if (obj instanceof String) {
+            state = WidgetState.stateForName((String)obj);
+        } else if (obj instanceof WidgetState) {
+            state = (WidgetState)obj;
+        }
+
+        if (state == null) {
+            throw new IllegalArgumentException("Invalid value for widgetState " + stateObj);
+        }
+
+        delegate.setState(state);
     }
 
     public ScriptableWidget jsFunction_getSubmitWidget() {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/v3/ScriptableWidget.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/v3/ScriptableWidget.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/v3/ScriptableWidget.java	Thu Nov  4 02:16:22 2004
@@ -32,6 +32,7 @@
 import org.apache.cocoon.forms.formmodel.Submit;
 import org.apache.cocoon.forms.formmodel.Upload;
 import org.apache.cocoon.forms.formmodel.Widget;
+import org.apache.cocoon.forms.formmodel.WidgetState;
 import org.apache.cocoon.forms.validation.ValidationError;
 import org.apache.cocoon.forms.validation.ValidationErrorAware;
 import org.apache.cocoon.forms.validation.WidgetValidator;
@@ -450,6 +451,27 @@
 
     public String jsFunction_getId() {
         return delegate.getId();
+    }
+
+    public WidgetState jsGet_state() {
+        return delegate.getState();
+    }
+
+    public void jsSet_state(Object stateObj) {
+        Object obj = unwrap(stateObj);
+        WidgetState state = null;
+
+        if (obj instanceof String) {
+            state = WidgetState.stateForName((String)obj);
+        } else if (obj instanceof WidgetState) {
+            state = (WidgetState)obj;
+        }
+
+        if (state == null) {
+            throw new IllegalArgumentException("Invalid value for widgetState " + stateObj);
+        }
+
+        delegate.setState(state);
     }
 
     public ScriptableWidget jsFunction_getSubmitWidget() {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractContainerDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractContainerDefinition.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractContainerDefinition.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
 /**
  * The {@link AbstractContainerDefinition} corresponding to an {@link AbstractContainerWidget}.
  *
- * @version $Id: AbstractContainerDefinition.java,v 1.3 2004/04/21 20:30:49 mpo Exp $
+ * @version $Id$
  */
 public abstract class AbstractContainerDefinition
         extends AbstractWidgetDefinition implements ContainerDefinition {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractContainerWidget.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractContainerWidget.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractContainerWidget.java	Thu Nov  4 02:16:22 2004
@@ -37,7 +37,8 @@
     /**
      * Constructs AbstractContainerWidget
      */
-    public AbstractContainerWidget() {
+    public AbstractContainerWidget(AbstractContainerDefinition definition) {
+        super(definition);
         widgets = new WidgetList();
     }
 
@@ -54,6 +55,7 @@
     }
 
     public void addChild(Widget widget) {
+        // order is important
         widgets.addWidget(widget);
         widget.setParent(this);
     }
@@ -82,7 +84,7 @@
      *                    of the contained widgets.
      */
     public void readFromRequest(FormContext formContext) {
-        if(getProcessChildRequests() == true) {
+        if(getCombinedState().isAcceptingInputs() && getProcessChildRequests()) {
             widgets.readFromRequest(formContext);
         }
     }
@@ -99,6 +101,9 @@
      *         extra validation rules on this containment level are ok.
      */
     public boolean validate() {
+        if (!getCombinedState().isAcceptingInputs())
+            return true;
+
         // Validate children first, then always validate self. Return combined result.
         final boolean valid = widgets.validate();
         return super.validate() && valid;
@@ -113,6 +118,8 @@
      * @throws SAXException
      */
     public void generateItemSaxFragment(ContentHandler contentHandler, Locale locale) throws SAXException {
-        widgets.generateSaxFragment(contentHandler, locale);
+        if (getCombinedState().isDisplayingValues()) {
+            widgets.generateSaxFragment(contentHandler, locale);
+        }
     }
 }

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractDatatypeWidgetDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractDatatypeWidgetDefinitionBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractDatatypeWidgetDefinitionBuilder.java	Thu Nov  4 02:16:22 2004
@@ -25,7 +25,7 @@
 /**
  * Abstract base class for WidgetDefinitionBuilders that build widgets that have datatypes/selection lists.
  * 
- * @version $Id: AbstractDatatypeWidgetDefinitionBuilder.java,v 1.2 2004/03/09 13:08:45 cziegeler Exp $
+ * @version $Id$
  */
 public abstract class AbstractDatatypeWidgetDefinitionBuilder extends AbstractWidgetDefinitionBuilder {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidget.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidget.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidget.java	Thu Nov  4 02:16:22 2004
@@ -55,6 +55,11 @@
     private boolean processChildRequests = true;
 
     /**
+     * The widget's own state
+     */
+    private WidgetState state = WidgetState.ACTIVE;
+
+    /**
      * Lazy loaded reference to the top-level form.
      */
     private Form form;
@@ -69,6 +74,10 @@
      */
     private Map attributes;
  
+    protected AbstractWidget(AbstractWidgetDefinition definition) {
+        this.state = definition.getState();
+    }
+
     /**
      * Called after widget's environment has been setup,
      * to allow for any contextual initalization, such as
@@ -110,8 +119,9 @@
     /** 
      * @return The parent-widget of this widget.
      */
-    public Widget getParent() {
-        return this.parent;
+    // This method is final in order for other methods in this class to use this.parent
+    public final Widget getParent() {
+        return parent;
     }
 
     /** 
@@ -141,6 +151,25 @@
         return this.form;
     }
 
+    public WidgetState getState() {
+        return this.state;
+    }
+
+    public void setState(WidgetState state) {
+        if (state == null) {
+            throw new IllegalArgumentException("A widget state cannot be set to null");
+        }
+        this.state = state;
+    }
+
+    public WidgetState getCombinedState() {
+        if (parent == null) {
+            return this.state;
+        } else {
+            return WidgetState.strictest(this.state, parent.getCombinedState());
+        }
+    }
+
     public String getRequestParameterName() {
         Widget myParent = getParent();
         if (myParent != null) {
@@ -291,6 +320,12 @@
     }
 
     public boolean validate() {
+
+        // Consider widget valid if it doesn't accept user inputs
+        if (!getCombinedState().isAcceptingInputs()) {
+            return true;
+        }
+
         // Test validators from the widget definition
         if (!getDefinition().validate(this)) {
             // Failed
@@ -328,7 +363,9 @@
      * @throws SAXException
      */
     public void generateLabel(ContentHandler contentHandler) throws SAXException {
-        getDefinition().generateDisplayData("label", contentHandler);
+        if (getCombinedState().isDisplayingValues()) {
+            getDefinition().generateDisplayData("label", contentHandler);
+        }
     }
 
     /**
@@ -342,7 +379,7 @@
      * @param locale in which context potential content needs to be put.
      * @throws SAXException
      */
-    public void generateItemSaxFragment(ContentHandler contentHandler, Locale locale) throws SAXException {
+    protected void generateItemSaxFragment(ContentHandler contentHandler, Locale locale) throws SAXException {
         // Do nothing
     }
 
@@ -352,7 +389,7 @@
      * 
      * @return the main elementname for this widget's sax-fragment. 
      */
-    public abstract String getXMLElementName();
+    protected abstract String getXMLElementName();
 
     /** 
      * The XML attributes used in {@link #generateSaxFragment(ContentHandler, Locale)}
@@ -368,13 +405,19 @@
      * 
      * @return the attributes for the main element for this widget's sax-fragment.
      */
-    public AttributesImpl getXMLElementAttributes() {
+    protected AttributesImpl getXMLElementAttributes() {
         AttributesImpl attrs = new AttributesImpl();
         // top-level widget-containers like forms will have their id set to ""
         // for those the @id should not be included.
         if (getId().length() != 0) {
         	attrs.addCDATAAttribute("id", getRequestParameterName());
         }
+
+        // Add the "state" attribute is different from active (the default state)
+        WidgetState state = getCombinedState();
+        if (state != WidgetState.ACTIVE) {
+            attrs.addCDATAAttribute("state", getCombinedState().getName());
+        }
         return attrs;
     }
 
@@ -390,7 +433,7 @@
      * 
      * @see WidgetDefinition#generateDisplayData(ContentHandler) 
      */
-    public void generateDisplayData(ContentHandler contentHandler) throws SAXException {
+    protected void generateDisplayData(ContentHandler contentHandler) throws SAXException {
         getDefinition().generateDisplayData(contentHandler);
     }
 
@@ -417,15 +460,18 @@
      */
     public void generateSaxFragment(ContentHandler contentHandler, Locale locale)    
     throws SAXException {
-        String element = this.getXMLElementName();       
-        AttributesImpl attrs = getXMLElementAttributes();
-        contentHandler.startElement(Constants.INSTANCE_NS, element, Constants.INSTANCE_PREFIX_COLON + element, attrs);
+        if (getCombinedState().isDisplayingValues()) {
 
-        generateDisplayData(contentHandler);
+            String element = this.getXMLElementName();
+            AttributesImpl attrs = getXMLElementAttributes();
+            contentHandler.startElement(Constants.INSTANCE_NS, element, Constants.INSTANCE_PREFIX_COLON + element, attrs);
 
-        generateItemSaxFragment(contentHandler, locale);
+            generateDisplayData(contentHandler);
 
-        contentHandler.endElement(Constants.INSTANCE_NS, element, Constants.INSTANCE_PREFIX_COLON + element);
+            generateItemSaxFragment(contentHandler, locale);
+
+            contentHandler.endElement(Constants.INSTANCE_NS, element, Constants.INSTANCE_PREFIX_COLON + element);
+        }
     }
 
 	public Object getAttribute(String name) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidgetDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidgetDefinition.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidgetDefinition.java	Thu Nov  4 02:16:22 2004
@@ -46,6 +46,7 @@
     private Map attributes;
     private Map displayData;
     private List validators;
+    private WidgetState state = WidgetState.ACTIVE;
 
     protected CreateListener createListener;
 
@@ -73,6 +74,14 @@
      */
     public WidgetDefinition getParent() {
         return this.parent;
+    }
+
+    public WidgetState getState() {
+        return this.state;
+    }
+
+    public void setState(WidgetState state) {
+        this.state = state;
     }
 
     protected void setLocation(String location) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidgetDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidgetDefinitionBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidgetDefinitionBuilder.java	Thu Nov  4 02:16:22 2004
@@ -81,6 +81,17 @@
             widgetDefinition.setId(id);
         }
 
+        // state
+        String stateValue = DomHelper.getAttribute(widgetElement, "state", null);
+        if (stateValue != null) {
+            WidgetState state = WidgetState.stateForName(stateValue);
+            if (state == null) {
+                throw new Exception ("Unknow value '" + stateValue +"' for state attribute at " +
+                        DomHelper.getLocation(widgetElement));
+            }
+            widgetDefinition.setState(state);
+        }
+
         // attributes
         Element attrContainer = DomHelper.getChildElement(widgetElement, Constants.DEFINITION_NS, "attributes", false);
         if (attrContainer != null) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Action.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Action.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Action.java	Thu Nov  4 02:16:22 2004
@@ -36,6 +36,7 @@
     private ActionListener listener;
 
     public Action(ActionDefinition definition) {
+        super(definition);
         this.definition = definition;
     }
 
@@ -44,35 +45,36 @@
     }
 
     public void readFromRequest(final FormContext formContext) {
-        if(getProcessMyRequests() == true) {
-            Form form = getForm();
+        if (!getCombinedState().isAcceptingInputs() || !getProcessMyRequests())
+            return;
 
-            // Set the submit widget if we can determine it from the request
-            String fullId = getRequestParameterName();
-            Request request = formContext.getRequest();
+        Form form = getForm();
 
-            String value = request.getParameter(fullId);
-            if (value != null && value.length() > 0) {
+        // Set the submit widget if we can determine it from the request
+        String fullId = getRequestParameterName();
+        Request request = formContext.getRequest();
+
+        String value = request.getParameter(fullId);
+        if (value != null && value.length() > 0) {
+            form.setSubmitWidget(this);
+
+        } else {
+            // Special workaround an IE bug for <input type="image" name="foo"> :
+            // in that case, IE only sends "foo.x" and "foo.y" and not "foo" whereas
+            // standards-compliant browsers such as Mozilla do send the "foo" parameter.
+            //
+            // Note that since actions are terminal widgets, there's no chance of conflict
+            // with a child "x" or "y" widget.
+            value = request.getParameter(fullId + ".x");
+            if ((value != null) && value.length() > 0) {
                 form.setSubmitWidget(this);
-
-            } else {
-                // Special workaround an IE bug for <input type="image" name="foo"> :
-                // in that case, IE only sends "foo.x" and "foo.y" and not "foo" whereas
-                // standards-compliant browsers such as Mozilla do send the "foo" parameter.
-                //
-                // Note that since actions are terminal widgets, there's no chance of conflict
-                // with a child "x" or "y" widget.
-                value = request.getParameter(fullId + ".x");
-                if ((value != null) && value.length() > 0) {
-                    form.setSubmitWidget(this);
-                }
             }
+        }
 
-            if (form.getSubmitWidget() == this) {
-                form.addWidgetEvent(new ActionEvent(this, definition.getActionCommand()));
+        if (form.getSubmitWidget() == this) {
+            form.addWidgetEvent(new ActionEvent(this, definition.getActionCommand()));
 
-                handleActivate();
-            }
+            handleActivate();
         }
     }
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ActionDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ActionDefinition.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ActionDefinition.java	Thu Nov  4 02:16:22 2004
@@ -22,7 +22,7 @@
 /**
  * The {@link WidgetDefinition} part of a Action widget, see {@link Action} for more information.
  * 
- * @version $Id: ActionDefinition.java,v 1.1 2004/03/09 10:33:50 reinhard Exp $
+ * @version $Id$
  */
 public class ActionDefinition extends AbstractWidgetDefinition {
     private String actionCommand;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AddRowActionDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AddRowActionDefinition.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AddRowActionDefinition.java	Thu Nov  4 02:16:22 2004
@@ -22,7 +22,7 @@
  * The definition for a repeater action that adds a row to a sibling repeater.
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: AddRowActionDefinition.java,v 1.1 2004/03/09 10:33:50 reinhard Exp $
+ * @version CVS $Id$
  */
 public class AddRowActionDefinition extends RepeaterActionDefinition {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AggregateField.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AggregateField.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AggregateField.java	Thu Nov  4 02:16:22 2004
@@ -95,6 +95,9 @@
     }
 
     public void readFromRequest(FormContext formContext) {
+        if (!getCombinedState().isAcceptingInputs())
+            return;
+
         String newEnteredValue = formContext.getRequest().getParameter(getRequestParameterName());
         if (newEnteredValue != null) {
             // There is one aggregated entered value. Read it and split it.
@@ -191,6 +194,9 @@
     }
 
     public boolean validate() {
+        if (!getCombinedState().isAcceptingInputs())
+            return true;
+
         if (enteredValue != null && !fieldsHaveValues()) {
             XMLizable failMessage = getAggregateFieldDefinition().getSplitFailMessage();
             if (failMessage != null) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AggregateFieldDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AggregateFieldDefinitionBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AggregateFieldDefinitionBuilder.java	Thu Nov  4 02:16:22 2004
@@ -29,7 +29,7 @@
 /**
  * Builds {@link AggregateFieldDefinition}s.
  *
- * @version $Id: AggregateFieldDefinitionBuilder.java,v 1.2 2004/03/09 13:08:45 cziegeler Exp $
+ * @version $Id$
  */
 public class AggregateFieldDefinitionBuilder extends FieldDefinitionBuilder {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/BooleanField.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/BooleanField.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/BooleanField.java	Thu Nov  4 02:16:22 2004
@@ -54,6 +54,7 @@
     protected ValidationError validationError;
 
     public BooleanField(BooleanFieldDefinition definition) {
+        super(definition);
         this.definition = definition;
     }
 
@@ -62,18 +63,19 @@
     }
 
     public void readFromRequest(FormContext formContext) {
-        if(getProcessMyRequests() == true) {
-            validationError = null;
-            Object oldValue = value;
-            String param = formContext.getRequest().getParameter(getRequestParameterName());
-            if (param != null && param.equalsIgnoreCase("true"))
-                value = Boolean.TRUE;
-            else
-                value = Boolean.FALSE;
+        if (!getCombinedState().isAcceptingInputs() || !getProcessMyRequests())
+            return;
 
-            if (value != oldValue) {
-                getForm().addWidgetEvent(new ValueChangedEvent(this, oldValue, value));
-            }
+        validationError = null;
+        Object oldValue = value;
+        String param = formContext.getRequest().getParameter(getRequestParameterName());
+        if (param != null && param.equalsIgnoreCase("true"))
+            value = Boolean.TRUE;
+        else
+            value = Boolean.FALSE;
+
+        if (value != oldValue) {
+            getForm().addWidgetEvent(new ValueChangedEvent(this, oldValue, value));
         }
     }
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/BooleanFieldDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/BooleanFieldDefinition.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/BooleanFieldDefinition.java	Thu Nov  4 02:16:22 2004
@@ -22,7 +22,7 @@
 /**
  * The {@link WidgetDefinition} part of a BooleanField widget, see {@link BooleanField} for more information.
  * 
- * @version $Id: BooleanFieldDefinition.java,v 1.2 2004/04/22 14:44:31 mpo Exp $
+ * @version $Id$
  */
 public class BooleanFieldDefinition extends AbstractWidgetDefinition {
     private ValueChangedListener listener;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ButtonDefinitionBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ButtonDefinitionBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ButtonDefinitionBuilder.java	Thu Nov  4 02:16:22 2004
@@ -22,7 +22,7 @@
  * The ButtonDefinitionBuilder has been replaced by {@link ActionDefinitionBuilder}. This implementation
  * is only left here to give a warning to users.
  * 
- * @version $Id: ButtonDefinitionBuilder.java,v 1.1 2004/03/09 10:33:50 reinhard Exp $
+ * @version $Id$
  */
 public class ButtonDefinitionBuilder implements WidgetDefinitionBuilder {
     public WidgetDefinition buildWidgetDefinition(Element widgetElement) throws Exception {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/CannotYetResolveWarning.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/CannotYetResolveWarning.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/CannotYetResolveWarning.java	Thu Nov  4 02:16:22 2004
@@ -20,7 +20,7 @@
  * the value of a required field, when that required field does not yet have
  * a value.
  * 
- * @version $Id: CannotYetResolveWarning.java,v 1.1 2004/03/09 10:33:50 reinhard Exp $
+ * @version $Id$
  */
 public class CannotYetResolveWarning extends  RuntimeException {
     public String getMessage() {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ClassDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ClassDefinition.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ClassDefinition.java	Thu Nov  4 02:16:22 2004
@@ -19,7 +19,7 @@
  * A {@link WidgetDefinition} which holds a collection of {@link Widget}s
  * and which can be instantiated with a {@link NewDefinition}.
  *
- * @version $Id: ClassDefinition.java,v 1.2 2004/04/12 14:05:09 tim Exp $
+ * @version $Id$
  */
 public class ClassDefinition extends AbstractContainerDefinition {
     public Widget createInstance() {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ContainerDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ContainerDefinition.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ContainerDefinition.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
 /**
  * Interface to be implemented by WidgetDefinitions for Widgets which contain other widgets.
  *
- * @version $Id: ContainerDefinition.java,v 1.2 2004/04/12 14:05:09 tim Exp $
+ * @version $Id$
  */
 public interface ContainerDefinition extends WidgetDefinition {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ContainerWidget.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ContainerWidget.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ContainerWidget.java	Thu Nov  4 02:16:22 2004
@@ -22,7 +22,7 @@
  * widget, the {@link ContainerWidget}s being the branches/forks, and the
  * {@link Widget}s with values being the leaves.
  *
- * @version $Id: ContainerWidget.java,v 1.5 2004/05/07 16:43:42 mpo Exp $
+ * @version $Id$
  */
 public interface ContainerWidget extends Widget {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/DataWidget.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/DataWidget.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/DataWidget.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 import org.apache.cocoon.forms.datatype.Datatype;
 
 /**
- * @version $Id: DataWidget.java,v 1.1 2004/03/09 10:33:50 reinhard Exp $
+ * @version $Id$
  * 
  */
 public interface DataWidget extends Widget {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/DuplicateIdException.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/DuplicateIdException.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/DuplicateIdException.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
  * one tries to add a WidgetDefinition that has the same id as another,
  * previously added, WidgetDefinition.
  * 
- * @version $Id: DuplicateIdException.java,v 1.1 2004/03/09 10:33:50 reinhard Exp $
+ * @version $Id$
  */
 public class DuplicateIdException extends Exception {
     public DuplicateIdException(String message) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ExpressionContextImpl.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ExpressionContextImpl.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/ExpressionContextImpl.java	Thu Nov  4 02:16:22 2004
@@ -23,7 +23,7 @@
  * Implementation of the ExpressionContext required for the evaluation of
  * expressions by xReporter expression interpreter.
  * 
- * @version $Id: ExpressionContextImpl.java,v 1.3 2004/05/07 16:43:42 mpo Exp $
+ * @version $Id$
  */
 public class ExpressionContextImpl implements ExpressionContext {
     private Widget widget;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Field.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Field.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Field.java	Thu Nov  4 02:16:22 2004
@@ -117,6 +117,7 @@
 
 
     public Field(FieldDefinition fieldDefinition) {
+        super(fieldDefinition);
         this.fieldDefinition = fieldDefinition;
     }
 
@@ -175,14 +176,16 @@
     }
 
     public void readFromRequest(FormContext formContext) {
-        if(getProcessMyRequests() == true) {
-            String newEnteredValue = formContext.getRequest().getParameter(getRequestParameterName());
-            // FIXME: Should we consider only non-null values, which allows to
-            // split a form across several screens?
-            //if (newEnteredValue != null) {
-                readFromRequest(newEnteredValue);
-            //}
-        }
+        if (!getCombinedState().isAcceptingInputs() || !getProcessMyRequests())
+            return;
+
+        String newEnteredValue = formContext.getRequest().getParameter(getRequestParameterName());
+        // FIXME: Should we consider only non-null values, which allows to
+        // split a form across several screens?
+        //if (newEnteredValue != null) {
+        readFromRequest(newEnteredValue);
+        //}
+
     }
 
     protected void readFromRequest(String newEnteredValue) {
@@ -198,19 +201,24 @@
         // 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))) {
-            if (hasValueChangedListeners()) {
-                // Throw an event that will parse the new value only if needed.
-    	        getForm().addWidgetEvent(new DeferredValueChangedEvent(this, getValue()));
-            }
-
             enteredValue = newEnteredValue;
             validationError = null;
+            Object oldValue = value;
             value = null;
             this.valueState = VALUE_UNPARSED;
+
+            if (hasValueChangedListeners()) {
+                // Throw an event that will parse the value only if needed.
+                // This event holds the old value and will lazily compute the new one if needed
+                getForm().addWidgetEvent(new DeferredValueChangedEvent(this, oldValue));
+    	        }
         }
     }
 
     public boolean validate() {
+        if (!getCombinedState().isAcceptingInputs())
+            return true;
+
         if (this.valueState == VALUE_UNPARSED) {
             doParse();
         }
@@ -283,7 +291,7 @@
                 // Field is required
                 this.validationError = new ValidationError(new I18nMessage("general.field-required", Constants.I18N_CATALOGUE));
             } else {
-                if (super.validate()) {
+                if (super.validate() && value != null) {
                     // New-style validators were successful. Check the old-style ones.
                     this.validationError = getDatatype().validate(value, new ExpressionContextImpl(this));
                 }

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/FieldDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/FieldDefinition.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/FieldDefinition.java	Thu Nov  4 02:16:22 2004
@@ -20,7 +20,7 @@
 /**
  * The {@link WidgetDefinition} part of a Field widget, see {@link Field} for more information.
  * 
- * @version $Id: FieldDefinition.java,v 1.2 2004/06/15 07:33:44 sylvain Exp $
+ * @version $Id$
  */
 public class FieldDefinition extends AbstractDatatypeWidgetDefinition {
     private boolean required;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Form.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Form.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Form.java	Thu Nov  4 02:16:22 2004
@@ -53,6 +53,7 @@
     private CursorableLinkedList events;
 
     public Form(FormDefinition definition) {
+        super(definition);
         this.definition = definition;
     }
 
@@ -82,8 +83,8 @@
     }
 
     /**
-     * Fire the events that have been queued.
-     * Note that event handling can fire new events.
+     * Fire the widget events that have been queued. Note that event handling can fire new
+     * events.
      */
     public void fireEvents() {
         if (this.events != null) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/FormDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/FormDefinition.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/FormDefinition.java	Thu Nov  4 02:16:22 2004
@@ -25,7 +25,7 @@
 /**
  * The {@link WidgetDefinition} part of a Form widget, see {@link Form} for more information.
  * 
- * @version $Id: FormDefinition.java,v 1.1 2004/03/09 10:33:50 reinhard Exp $
+ * @version $Id$
  */
 public class FormDefinition extends AbstractContainerDefinition {
     private ProcessingPhaseListener listener;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Messages.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Messages.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Messages.java	Thu Nov  4 02:16:22 2004
@@ -34,7 +34,7 @@
  * <p>This widget is typically used to communicate extra validation errors or other messages
  * to the user, that aren't associated with any other widget in particular.
  * 
- * @version $Id: Messages.java,v 1.8 2004/04/30 12:19:01 bruno Exp $
+ * @version $Id$
  */
 public class Messages extends AbstractWidget {
     private ArrayList messages = new ArrayList();
@@ -44,6 +44,7 @@
     private static final String MESSAGE_EL = "message";
 
     protected Messages(MessagesDefinition definition) {
+        super(definition);
         this.definition = definition;
     }
 
@@ -52,11 +53,16 @@
     }
 
     public void readFromRequest(FormContext formContext) {
-        messages.clear();
+        if (getCombinedState().isAcceptingInputs()) {
+            messages.clear();
+        }
     }
 
     public boolean validate() {
-        return messages.size() == 0;
+        if (!getCombinedState().isAcceptingInputs())
+            return true;
+        else
+            return messages.size() == 0;
     }
 
     /**

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MessagesDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MessagesDefinition.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MessagesDefinition.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 /**
  * The {@link WidgetDefinition} part of a Messages widget, see {@link Messages} for more information.
  * 
- * @version $Id: MessagesDefinition.java,v 1.1 2004/03/09 10:33:50 reinhard Exp $
+ * @version $Id$
  */
 public class MessagesDefinition extends AbstractWidgetDefinition {
     public Widget createInstance() {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MultiValueField.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MultiValueField.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MultiValueField.java	Thu Nov  4 02:16:22 2004
@@ -64,6 +64,7 @@
     private ValidationError validationError;
 
     public MultiValueField(MultiValueFieldDefinition definition) {
+        super(definition);
         this.definition = definition;
     }
 
@@ -72,42 +73,45 @@
     }
 
     public void readFromRequest(FormContext formContext) {
-        if(getProcessMyRequests() == true) {
-            enteredValues = formContext.getRequest().getParameterValues(getRequestParameterName());
-            validationError = null;
-            values = null;
-
-            boolean conversionFailed = false;
-            if (enteredValues != null) {
-                // Normally, for MultiValueFields, the user selects the values from
-                // a SelectionList, and the values in a SelectionList are garanteed to
-                // be valid, so the conversion from String to native datatype should
-                // never fail. But it could fail if users start messing around with
-                // request parameters.
-                Object[] tempValues = (Object[])Array.newInstance(getDatatype().getTypeClass(), enteredValues.length);
-                for (int i = 0; i < enteredValues.length; i++) {
-                    String param = enteredValues[i];
-                    ConversionResult conversionResult =
-                        definition.getDatatype().convertFromString(param, formContext.getLocale());
-                    if (conversionResult.isSuccessful()) {
-                        tempValues[i] = conversionResult.getResult();
-                    } else {
-                        conversionFailed = true;
-                        break;
-                    }
-                }
+        if (!getCombinedState().isAcceptingInputs() || !getProcessMyRequests())
+            return;
+
+        enteredValues = formContext.getRequest().getParameterValues(getRequestParameterName());
+        validationError = null;
+        values = null;
 
-                if (!conversionFailed)
-                    values = tempValues;
-                else
-                    values = null;
-            } else {
-                values = new Object[0];
+        boolean conversionFailed = false;
+        if (enteredValues != null) {
+            // Normally, for MultiValueFields, the user selects the values from
+            // a SelectionList, and the values in a SelectionList are garanteed to
+            // be valid, so the conversion from String to native datatype should
+            // never fail. But it could fail if users start messing around with
+            // request parameters.
+            Object[] tempValues = (Object[])Array.newInstance(getDatatype().getTypeClass(), enteredValues.length);
+            for (int i = 0; i < enteredValues.length; i++) {
+                String param = enteredValues[i];
+                ConversionResult conversionResult = definition.getDatatype().convertFromString(param, formContext.getLocale());
+                if (conversionResult.isSuccessful()) {
+                    tempValues[i] = conversionResult.getResult();
+                } else {
+                    conversionFailed = true;
+                    break;
+                }
             }
+
+            if (!conversionFailed)
+                values = tempValues;
+            else
+                values = null;
+        } else {
+            values = new Object[0];
         }
     }
 
     public boolean validate() {
+        if (!getCombinedState().isAcceptingInputs())
+            return true;
+
         if (values != null)
             validationError = definition.getDatatype().validate(values, new ExpressionContextImpl(this));
         else

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MultiValueFieldDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MultiValueFieldDefinition.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/MultiValueFieldDefinition.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 /**
  * The {@link WidgetDefinition} part of a MultiValueField widget, see {@link MultiValueField} for more information.
  * 
- * @version $Id: MultiValueFieldDefinition.java,v 1.2 2004/04/22 14:44:31 mpo Exp $
+ * @version $Id$
  */
 public class MultiValueFieldDefinition extends FieldDefinition {
     public Widget createInstance() {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Output.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Output.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Output.java	Thu Nov  4 02:16:22 2004
@@ -31,7 +31,7 @@
  *
  * <p>An Output widget is always valid and never required.
  * 
- * @version $Id: Output.java,v 1.9 2004/05/07 13:42:09 mpo Exp $
+ * @version $Id$
  */
 public class Output extends AbstractWidget implements DataWidget {
     
@@ -47,6 +47,7 @@
     }
 
     protected Output(OutputDefinition definition) {
+        super(definition);
         this.definition = definition;
     }
 
@@ -73,7 +74,7 @@
         return OUTPUT_EL;
     }
 
-    public void generateItemSaxFragment(ContentHandler contentHandler, Locale locale) throws SAXException {
+    protected void generateItemSaxFragment(ContentHandler contentHandler, Locale locale) throws SAXException {
         // the value
         if (value != null) {
             contentHandler.startElement(Constants.INSTANCE_NS, VALUE_EL, Constants.INSTANCE_PREFIX_COLON + VALUE_EL, XMLUtils.EMPTY_ATTRIBUTES);

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/OutputDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/OutputDefinition.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/OutputDefinition.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 /**
  * The {@link WidgetDefinition} part of a {@link Output} widget.
  * 
- * @version $Id: OutputDefinition.java,v 1.1 2004/03/09 10:33:50 reinhard Exp $
+ * @version $Id$
  */
 public class OutputDefinition extends AbstractDatatypeWidgetDefinition {
     public Widget createInstance() {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Repeater.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Repeater.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Repeater.java	Thu Nov  4 02:16:22 2004
@@ -48,12 +48,13 @@
     private final List rows = new ArrayList();
 
     public Repeater(RepeaterDefinition repeaterDefinition) {
+        super(repeaterDefinition);
         this.definition = repeaterDefinition;
         // setup initial size
         removeRows();
     }
 
-    protected WidgetDefinition getDefinition() {
+    public WidgetDefinition getDefinition() {
         return definition;
     }
 
@@ -181,6 +182,9 @@
     }
     
     public void readFromRequest(FormContext formContext) {
+        if (!getCombinedState().isAcceptingInputs())
+            return;
+
         if(getProcessMyRequests() == true) {
             // read number of rows from request, and make an according number of rows
             String sizeParameter = formContext.getRequest().getParameter(getRequestParameterName() + ".size");
@@ -221,6 +225,9 @@
     }
 
     public boolean validate() {
+        if (!getCombinedState().isAcceptingInputs())
+            return true;
+
         boolean valid = true;
         Iterator rowIt = rows.iterator();
         while (rowIt.hasNext()) {
@@ -308,7 +315,9 @@
 
     public class RepeaterRow extends AbstractContainerWidget {
 
-        public RepeaterRow(AbstractWidgetDefinition definition) {
+        public RepeaterRow(RepeaterDefinition definition) {
+            super(definition);
+            setParent(Repeater.this);
             ((ContainerDefinition)definition).createWidgets(this);
         }
 
@@ -325,10 +334,6 @@
             return String.valueOf(rows.indexOf(this));
         }
 
-        public Widget getParent() {
-            return Repeater.this;
-        }
-
         public Form getForm() {
             return Repeater.this.getForm();
         }
@@ -340,10 +345,6 @@
 //        public String getFullyQualifiedId() {
 //            return getParent().getNamespace() + "." + getId();
 //        }
-
-        public void setParent(Widget widget) {
-            throw new RuntimeException("Parent of RepeaterRow is fixed, and cannot be set.");
-        }
 
         public boolean validate() {
             // Validate only child widtgets, as the definition's validators are those of the parent repeater

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterAction.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterAction.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterAction.java	Thu Nov  4 02:16:22 2004
@@ -20,7 +20,7 @@
  * 
  * @see RepeaterActionDefinitionBuilder
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: RepeaterAction.java,v 1.4 2004/05/07 16:43:42 mpo Exp $
+ * @version CVS $Id$
  */
 public class RepeaterAction extends Action {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinition.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinition.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
  * 
  * @see RepeaterActionDefinitionBuilder
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: RepeaterActionDefinition.java,v 1.1 2004/03/09 10:33:50 reinhard Exp $
+ * @version CVS $Id$
  */
 public abstract class RepeaterActionDefinition extends ActionDefinition {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterDefinition.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterDefinition.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 /**
  * The {@link WidgetDefinition} part of a Repeater widget, see {@link Repeater} for more information.
  * 
- * @version $Id: RepeaterDefinition.java,v 1.1 2004/03/09 10:33:50 reinhard Exp $
+ * @version $Id$
  */
 public class RepeaterDefinition extends AbstractContainerDefinition {
     private int initialSize = 0;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RowAction.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RowAction.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RowAction.java	Thu Nov  4 02:16:22 2004
@@ -23,7 +23,7 @@
 /**
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: RowAction.java,v 1.1 2004/03/09 10:33:50 reinhard Exp $
+ * @version CVS $Id$
  */
 public class RowAction extends Action {
     public RowAction(RowActionDefinition definition) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Struct.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Struct.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Struct.java	Thu Nov  4 02:16:22 2004
@@ -19,7 +19,7 @@
 /**
  * A container {@link Widget} which can hold zero or more child widgets.
  *
- * @version $Id: Struct.java,v 1.4 2004/04/20 22:19:27 mpo Exp $
+ * @version $Id$
  */
 public class Struct extends AbstractContainerWidget {
     private static final String STRUCT_EL = "struct";
@@ -27,6 +27,7 @@
     private final StructDefinition definition; 
 
     public Struct(StructDefinition definition) {
+        super(definition);
         this.definition = definition;
     }
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/StructDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/StructDefinition.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/StructDefinition.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 /**
  * The {@link WidgetDefinition} corresponding to a {@link Struct} widget.
  *
- * @version $Id: StructDefinition.java,v 1.2 2004/04/12 14:05:09 tim Exp $
+ * @version $Id$
  */
 public class StructDefinition extends AbstractContainerDefinition {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Submit.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Submit.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Submit.java	Thu Nov  4 02:16:22 2004
@@ -20,7 +20,7 @@
  * 
  * @see SubmitDefinitionBuilder
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: Submit.java,v 1.2 2004/04/09 16:43:21 mpo Exp $
+ * @version CVS $Id$
  */
 public class Submit extends Action {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/SubmitDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/SubmitDefinition.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/SubmitDefinition.java	Thu Nov  4 02:16:22 2004
@@ -20,7 +20,7 @@
  * 
  * @see SubmitDefinitionBuilder
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: SubmitDefinition.java,v 1.1 2004/03/09 10:33:50 reinhard Exp $
+ * @version CVS $Id$
  */
 public class SubmitDefinition extends ActionDefinition {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Union.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Union.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Union.java	Thu Nov  4 02:16:22 2004
@@ -39,6 +39,7 @@
     private final UnionDefinition definition;
 
     public Union(UnionDefinition definition) {
+        super(definition);
         this.definition = definition;
         // TODO: Remove after moving logic to Field.
         //item.enteredValue = (String)definition.getDefaultValue();
@@ -81,6 +82,9 @@
     }
 
     public void readFromRequest(FormContext formContext) {
+        if (!getCombinedState().isAcceptingInputs())
+            return;
+
         // Ensure the case widget has read its value
         this.caseWidget.readFromRequest(formContext);
 
@@ -111,6 +115,9 @@
 
     // TODO: Simplify this logic.
     public boolean validate() {
+        if (!getCombinedState().isAcceptingInputs())
+            return true;
+
         Widget widget;
         boolean valid = true;
         // Read current case from request

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/UnionDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/UnionDefinition.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/UnionDefinition.java	Thu Nov  4 02:16:22 2004
@@ -19,7 +19,7 @@
 /**
  * The {@link WidgetDefinition} corresponding to a {@link Union} widget.
  *
- * @version $Id: UnionDefinition.java,v 1.2 2004/04/12 14:05:09 tim Exp $
+ * @version $Id$
  */
 public class UnionDefinition extends AbstractContainerDefinition {
     private String caseWidgetId;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Upload.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Upload.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Upload.java	Thu Nov  4 02:16:22 2004
@@ -48,6 +48,7 @@
     private ValidationError validationError;
 
     public Upload(UploadDefinition uploadDefinition) {
+        super(uploadDefinition);
         this.uploadDefinition = uploadDefinition;
     }
 
@@ -72,38 +73,42 @@
     }
 
     public void readFromRequest(FormContext formContext) {
-        if(getProcessMyRequests() == true) {
-            Object obj = formContext.getRequest().get(getRequestParameterName());
+        if (!getCombinedState().isAcceptingInputs() || !getProcessMyRequests())
+            return;
 
-            // If the request object is a Part, keep it
-            if (obj instanceof Part) {
-                Part requestPart = (Part)obj;
-                if (this.part != null) {
-                    // Replace the current part
-                    this.part.dispose();
-                }
-
-                // Keep the request part
-                requestPart.setDisposeWithRequest(false);
-                this.part = requestPart;
-                this.validationError = null;
-
-            // If it's not a part and not null, clear any existing value
-            // We also check if we're the submit widget, as a result of clicking the "..." button
-            } else if (obj != null || getForm().getSubmitWidget() == this){
-                // Clear the part, if any
-                if (this.part != null) {
-                    this.part.dispose();
-                    this.part = null;
-                }
-                this.validationError = null;
+        Object obj = formContext.getRequest().get(getRequestParameterName());
+
+        // If the request object is a Part, keep it
+        if (obj instanceof Part) {
+            Part requestPart = (Part)obj;
+            if (this.part != null) {
+                // Replace the current part
+                this.part.dispose();
             }
 
-            // And keep the current state if the parameter doesn't exist or is null
-       }
+            // Keep the request part
+            requestPart.setDisposeWithRequest(false);
+            this.part = requestPart;
+            this.validationError = null;
+
+        // If it's not a part and not null, clear any existing value
+        // We also check if we're the submit widget, as a result of clicking the "..." button
+        } else if (obj != null || getForm().getSubmitWidget() == this){
+            // Clear the part, if any
+            if (this.part != null) {
+                this.part.dispose();
+                this.part = null;
+            }
+            this.validationError = null;
+        }
+
+        // And keep the current state if the parameter doesn't exist or is null
     }
 
     public boolean validate() {
+        if (!getCombinedState().isAcceptingInputs())
+            return true;
+
         if (this.part == null) {
             if (this.uploadDefinition.isRequired()) {
                 this.validationError = new ValidationError(new I18nMessage("general.field-required", Constants.I18N_CATALOGUE));

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/UploadDefinition.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/UploadDefinition.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/UploadDefinition.java	Thu Nov  4 02:16:22 2004
@@ -20,7 +20,7 @@
  * 
  * @author <a href="mailto:uv@upaya.co.uk">Upayavira</a>
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: UploadDefinition.java,v 1.1 2004/03/09 10:33:50 reinhard Exp $
+ * @version CVS $Id$
  */
 public class UploadDefinition extends AbstractWidgetDefinition {
     private boolean required;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Widget.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Widget.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Widget.java	Thu Nov  4 02:16:22 2004
@@ -97,6 +97,33 @@
     public Form getForm();
 
     /**
+     * Get the widget's own state. Note that this state is <em>not</em> the one actually considered
+     * for handling requests and producing output. For these matters, the combined state is used.
+     *
+     * @see #getCombinedState()
+     * @return the widget's own state
+     */
+    public WidgetState getState();
+
+    /**
+     * Set the widget's own state. This may change its combined state, and those of its
+     * children, if any.
+     *
+     * @param state the new wiget state
+     */
+    public void setState(WidgetState state);
+
+    /**
+     * Get the widget's combined state, which is the strictest of its own state and parent state.
+     * This combined state is the one that will be used by the widget to know if request
+     * parameters should be considered and if some output must be produced.
+     * 
+     * @see WidgetState#strictest(WidgetState, WidgetState)
+     * @return the combined state
+     */
+    public WidgetState getCombinedState();
+
+    /**
      * @return the id prefixed with the namespace, this name should be unique
      * accross all widgets on the form.
      */

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/WidgetList.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/WidgetList.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/WidgetList.java	Thu Nov  4 02:16:22 2004
@@ -33,7 +33,7 @@
  * This implements a type-aware List of Widgets that automatically can distribute
  * the common Widget operations over the contained Widgets.
  *  
- * @version $Id: WidgetList.java,v 1.2 2004/04/28 16:34:12 bruno Exp $
+ * @version $Id$
  */
 public class WidgetList {
 

Added: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/WidgetState.java
==============================================================================
--- (empty file)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/WidgetState.java	Thu Nov  4 02:16:22 2004
@@ -0,0 +1,130 @@
+/*
+ * Copyright 1999-2004 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.cocoon.forms.formmodel;
+
+import org.apache.commons.lang.enums.ValuedEnum;
+
+/**
+ * The state of a widget. States are ordered from the most featured ("active")
+ * to the most constrained ("invisible"), so that state combinations can be
+ * computed: a widget's combined state is the strictest between the widget's own
+ * state and its parent state.
+ * 
+ * @version CVS $Id$
+ */
+public class WidgetState extends ValuedEnum {
+
+    private static final int ACTIVE_VALUE = 3;
+
+    private static final int DISABLED_VALUE = 2;
+
+    private static final int INVISIBLE_VALUE = 1;
+
+    /**
+     * Active state. This is the default state, where widgets read their values
+     * from the request and display them.
+     */
+    public static final WidgetState ACTIVE = new WidgetState("active", ACTIVE_VALUE);
+
+    /**
+     * Disabled state. Values are displayed, but user input is ignored.
+     */
+    public static final WidgetState DISABLED = new WidgetState("disabled", DISABLED_VALUE);
+
+    /**
+     * Invisible state. Values are not displayed and user input is ignored.
+     */
+    public static final WidgetState INVISIBLE = new WidgetState("invisible", INVISIBLE_VALUE);
+
+    /**
+     * Private constructor
+     */
+    private WidgetState(String name, int value) {
+        super(name, value);
+    }
+
+    /**
+     * Get a state given its name. Valid names are "active", "disabled",
+     * "invisible".
+     * 
+     * @param name the state name
+     * @return the state, or <code>null</code> if <code>name</code> doesn't
+     *         denote a known state name
+     */
+    public static WidgetState stateForName(String name) {
+        return (WidgetState) getEnum(WidgetState.class, name);
+    }
+
+    /**
+     * Determine the strictest of two states. "invisible" is stricter than
+     * "disabled" which is stricter than "active"
+     * 
+     * @param one a state
+     * @param two another state
+     * @return the strictes of <code>one</code> and <code>two</code>
+     */
+    public static WidgetState strictest(WidgetState one, WidgetState two) {
+        return (one.getValue() < two.getValue()) ? one : two;
+    }
+
+    /**
+     * Test if the current state is stricter than another one.
+     * 
+     * @param other a state
+     * @return <code>true</code> if <code>this</code> is stricter
+     *         than <code>other</code>
+     */
+    public boolean stricterThan(WidgetState other) {
+        return this.getValue() < other.getValue();
+    }
+
+    /**
+     * Does this state accept user inputs?
+     * 
+     * @return <code>true</code> if this state accepts user inputs.
+     */
+    public boolean isAcceptingInputs() {
+        return this.getValue() == ACTIVE_VALUE;
+    }
+
+    /**
+     * Does this state display widget values?
+     * 
+     * @return <code>true</code> if this state displays widget values.
+     */
+    public boolean isDisplayingValues() {
+        return this.getValue() > INVISIBLE_VALUE;
+    }
+
+// Potential features provided by ValuedEnum that don't seem to be needed now
+//
+//    public static WidgetState stateForValue(int stateValue) {
+//        return (WidgetState) getEnum(WidgetState.class, stateValue);
+//    }
+//
+//    public static Map getEnumMap() {
+//        return getEnumMap(WidgetState.class);
+//    }
+//
+//    public static List getStateList() {
+//        return getEnumList(WidgetState.class);
+//    }
+//
+//    public static Iterator iterator() {
+//        return iterator(WidgetState.class);
+//    }
+
+}

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/generation/FormsGenerator.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/generation/FormsGenerator.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/generation/FormsGenerator.java	Thu Nov  4 02:16:22 2004
@@ -43,7 +43,7 @@
  * <li> Or else at its default-location in the flow context-object.</li>
  * </ol>
  * 
- * @version $Id: FormsGenerator.java,v 1.6 2004/04/09 16:26:04 mpo Exp $
+ * @version $Id$
  */
 public class FormsGenerator extends AbstractGenerator {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/generation/JXMacrosHelper.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/generation/JXMacrosHelper.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/generation/JXMacrosHelper.java	Thu Nov  4 02:16:22 2004
@@ -1,3 +1,19 @@
+/*
+ * Copyright 1999-2004 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.cocoon.forms.generation;
 
 import java.util.HashMap;
@@ -14,7 +30,6 @@
 import org.apache.cocoon.xml.AbstractXMLPipe;
 import org.apache.cocoon.xml.AttributesImpl;
 import org.apache.cocoon.xml.XMLConsumer;
-import org.apache.cocoon.xml.XMLUtils;
 import org.apache.commons.collections.ArrayStack;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
@@ -44,7 +59,7 @@
         this.cocoonConsumer = consumer;
     }
 
-    public void startForm(Map attributes) throws SAXException {
+    public void startForm(Form form, Map attributes) throws SAXException {
         // build attributes
         AttributesImpl attrs = new AttributesImpl();
         Iterator iter = attributes.entrySet().iterator();
@@ -89,18 +104,14 @@
      * @param currentWidget
      * @param id
      */
-    public Widget getWidget(Widget currentWidget, String id) {
-        Widget result = null;
-
-        if (currentWidget instanceof ContainerWidget) {
-            result = ((ContainerWidget)currentWidget).getChild(id);
-        }
+    public Widget getWidget(Widget currentWidget, String path) {
+        Widget result = currentWidget.lookupWidget(path);
 
         if (result != null) {
             return result;
         } else {
             throw new IllegalArgumentException("Widget '" + currentWidget +
-                                               "' has no child named '" + id + "'");
+                                               "' has no child named '" + path + "'");
         }
     }
 
@@ -141,20 +152,12 @@
         getRepeater(widget, id).generateSize(this.cocoonConsumer);
     }
 
-    private static final String VALIDATION_ERROR = "validation-error";
-
     public void generateValidationError(ValidationError error) throws SAXException {
         // Needs to be buffered
         RootBufferingPipe pipe = new RootBufferingPipe(this.cocoonConsumer);
         this.stack.push(pipe);
         this.stack.push(error);
-        pipe.startElement(Constants.INSTANCE_NS, VALIDATION_ERROR, Constants.INSTANCE_PREFIX_COLON + VALIDATION_ERROR, XMLUtils.EMPTY_ATTRIBUTES);
         error.generateSaxFragment(pipe);
-        pipe.endElement(Constants.INSTANCE_NS, VALIDATION_ERROR, Constants.INSTANCE_PREFIX_COLON + VALIDATION_ERROR);
-    }
-
-    public boolean isValidationError(Object object) {
-        return object instanceof ValidationError;
     }
 
     public void defineClassBody(Form form, String id, Object body) {
@@ -180,6 +183,10 @@
     public boolean isSelectedCase(Widget unionWidget, String caseValue) {
         String value = (String)unionWidget.getValue();
         return caseValue.equals(value != null ? value : "");
+    }
+
+    public boolean isVisible(Widget widget) {
+        return widget.getCombinedState().isDisplayingValues();
     }
 
     /**

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/generation/jx-macros.xml
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/generation/jx-macros.xml	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/generation/jx-macros.xml	Thu Nov  4 02:16:22 2004
@@ -1,79 +1,87 @@
 <!-- An implementation of the CForms template engine as a JXTemplate tag library -->
-	
+    
 <jx:template xmlns:jx="http://apache.org/cocoon/templates/jx/1.0"
              xmlns:fi="http://apache.org/cocoon/forms/1.0#instance">
     <!--
         ft:form-template
     -->
-	<jx:macro name="form-template" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
-	  <jx:set var="cformsHelper" value="${Packages.org.apache.cocoon.forms.generation.JXMacrosHelper.createHelper(cocoon.consumer)}"/>
-      <jx:set var="cformsDummy" value="${cformsHelper.startForm(macro.arguments)}"/>
-        <jx:set var="form" value="${CocoonFormsInstance}"/>
+    <jx:macro name="form-template" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
+      <jx:set var="cformsHelper" value="${Packages.org.apache.cocoon.forms.generation.JXMacrosHelper.createHelper(cocoon.consumer)}"/>
+      <jx:set var="form" value="${CocoonFormsInstance}"/>
+      <jx:if test="${cformsHelper.isVisible(form)}">
+        <jx:set var="cformsDummy" value="${cformsHelper.startForm(form, macro.arguments)}"/>
         <!-- the form is also the current widget -->
         <jx:set var="widget" value="${form}"/>
         <jx:evalBody/>
-      <jx:set var="cformsDummy" value="${cformsHelper.endForm()}"/>
-	</jx:macro>
-	
+        <jx:set var="cformsDummy" value="${cformsHelper.endForm()}"/>
+      </jx:if>
+    </jx:macro>
+    
     <!--
         ft:widget
     -->
-	<jx:macro name="widget" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
-	  <jx:parameter name="id"/>
+    <jx:macro name="widget" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
+      <jx:parameter name="id"/>
       
       <jx:set var="widget" value="${cformsHelper.getWidget(widget, id)}"/>
-      <jx:set var="cformsDummy" value="${cformsHelper.generateWidget(widget, locale)}"/>
-      <jx:evalBody/>
-      <jx:set var="cformsDummy" value="${cformsHelper.flushRoot(widget)}"/>
+      <jx:if test="${cformsHelper.isVisible(widget)}">
+        <jx:set var="cformsDummy" value="${cformsHelper.generateWidget(widget, locale)}"/>
+        <jx:evalBody/>
+        <jx:set var="cformsDummy" value="${cformsHelper.flushRoot(widget)}"/>
+      </jx:if>
     </jx:macro>
-	
+    
     <!--
         ft:repeater-widget-label
     -->
-	<jx:macro name="repeater-widget-label" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
-	  <jx:parameter name="id"/>
-	  <jx:parameter name="widget-id"/>
-      
-	  <jx:set var="cformsDummy" value="${cformsHelper.generateRepeaterWidgetLabel(widget, id, this['widget-id'])}"/>
-	</jx:macro>
-	
+    <jx:macro name="repeater-widget-label" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
+      <jx:parameter name="id"/>
+      <jx:parameter name="widget-id"/>
+      
+      <jx:set var="cformsDummy" value="${cformsHelper.generateRepeaterWidgetLabel(widget, id, this['widget-id'])}"/>
+    </jx:macro>
+    
     <!--
         ft:widget-label
     -->
-	<jx:macro name="widget-label" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
-	  <jx:parameter name="id"/>
+    <jx:macro name="widget-label" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
+      <jx:parameter name="id"/>
       
-	  <jx:set var="cformsDummy" value="${cformsHelper.generateWidgetLabel(widget, id)}"/>
-	</jx:macro>
-	
+      <jx:set var="cformsDummy" value="${cformsHelper.generateWidgetLabel(widget, id)}"/>
+    </jx:macro>
+    
     <!--
         ft:repeater-size
     -->
-	<jx:macro name="repeater-size" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
-	  <jx:parameter name="id"/>
+    <jx:macro name="repeater-size" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
+      <jx:parameter name="id"/>
       
-	  <jx:set var="cformsDummy" value="${cformsHelper.generateRepeaterSize(widget, id)}"/>
-	</jx:macro>
-	
+      <jx:set var="cformsDummy" value="${cformsHelper.generateRepeaterSize(widget, id)}"/>
+    </jx:macro>
+    
     <!--
         ft:repeater-widget
     -->
-	<jx:macro name="repeater-widget" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
-	  <jx:parameter name="id"/>
-	
+    <jx:macro name="repeater-widget" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
+      <jx:parameter name="id"/>
+    
       <jx:set var="repeater" value="${cformsHelper.getRepeater(widget, id)}"/>
-      <jx:forEach varStatus="repeaterLoop" begin="0" end="${repeater.getSize() - 1}">
-          <jx:set var="widget" value="${repeater.getRow(repeaterLoop.index)}"/> 
-          <jx:evalBody/>
-      </jx:forEach>
-	</jx:macro>
-	
+      <jx:if test="${cformsHelper.isVisible(repeater)}">
+        <jx:forEach varStatus="repeaterLoop" begin="0" end="${repeater.getSize() - 1}">
+          <jx:set var="widget" value="${repeater.getRow(repeaterLoop.index)}"/>
+          <jx:if test="${cformsHelper.isVisible(widget)}">
+            <jx:evalBody/>
+          </jx:if>
+        </jx:forEach>
+      </jx:if>
+    </jx:macro>
+    
     <!--
         ft:continuation-id
     -->
-	<jx:macro name="continuation-id" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
-	  <fi:continuation-id>${cocoon.continuation.id}</fi:continuation-id>
-	</jx:macro>
+    <jx:macro name="continuation-id" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
+      <fi:continuation-id>${cocoon.continuation.id}</fi:continuation-id>
+    </jx:macro>
 
     <!--
         ft:class
@@ -81,7 +89,7 @@
     <jx:macro name="class" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
       <jx:parameter name="id"/>
       
-	  <jx:set var="cformsDummy" value="${cformsHelper.defineClassBody(form, id, macro.body)}"/>
+      <jx:set var="cformsDummy" value="${cformsHelper.defineClassBody(form, id, macro.body)}"/>
     </jx:macro>
 
     <!--
@@ -96,13 +104,15 @@
     <!--
         ft:struct : just increase the nesting level
     -->
-	<jx:macro name="struct" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
-	  <jx:parameter name="id"/>
+    <jx:macro name="struct" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
+      <jx:parameter name="id"/>
       
       <jx:set var="widget" value="${cformsHelper.getWidget(widget, id)}"/>
-      <fi:struct id="${widget.getRequestParameterName()}">
-        <jx:evalBody/>
-      </fi:struct>
+      <jx:if test="${cformsHelper.isVisible(widget)}">
+        <fi:struct id="${widget.getRequestParameterName()}">
+          <jx:evalBody/>
+        </fi:struct>
+      </jx:if>
     </jx:macro>
     
     <!--
@@ -110,11 +120,13 @@
     -->
     <jx:macro name="union" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
       <jx:parameter name="id"/>
-	  
+      
       <jx:set var="widget" value="${cformsHelper.getWidget(widget, id)}"/>
-      <fi:union id="${widget.getRequestParameterName()}">
-        <jx:evalBody/>
-      </fi:union>
+      <jx:if test="${cformsHelper.isVisible(widget)}">
+        <fi:union id="${widget.getRequestParameterName()}">
+          <jx:evalBody/>
+        </fi:union>
+      </jx:if>
     </jx:macro>
 
     <!--
@@ -124,7 +136,7 @@
       <jx:parameter name="id"/>
 
       <jx:if test="${cformsHelper.isSelectedCase(widget, id)}">
-		<jx:set widget="${cformsHelper.getWidget(widget, id)}"/>
+        <jx:set widget="${cformsHelper.getWidget(widget, id)}"/>
         <jx:evalBody/>
       </jx:if>
     </jx:macro>
@@ -138,9 +150,11 @@
       <jx:set var="widget" value="${cformsHelper.getWidget(widget, id)}"/>
       <jx:set var="validationError" value="${widget.getValidationError()}"/>
       <jx:if test="${validationError != null}">
-        <jx:set var="cformsDummy" value="${cformsHelper.generateValidationError(validationError)}"/>
-          <jx:evalBody/>
-        <jx:set var="cformsDummy" value="${cformsHelper.flushRoot(validationError)}"/>
+        <fi:validation-error>
+          <jx:set var="cformsDummy" value="${cformsHelper.generateValidationError(validationError)}"/>
+            <jx:evalBody/>
+          <jx:set var="cformsDummy" value="${cformsHelper.flushRoot(validationError)}"/>
+        </fi:validation-error>
       </jx:if>
     </jx:macro>
 
@@ -148,11 +162,13 @@
     <!--
         ft:aggregate-widget
     -->
-	<jx:macro name="aggregate-widget" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
-	  <jx:parameter name="id"/>
+    <jx:macro name="aggregate-widget" targetNamespace="http://apache.org/cocoon/forms/1.0#template">
+      <jx:parameter name="id"/>
       
       <jx:set var="widget" value="${cformsHelper.getWidget(widget, id)}"/>
-      <jx:evalBody/>
+      <jx:if test="${cformsHelper.isVisible(widget)}">
+        <jx:evalBody/>
+      </jx:if>
     </jx:macro>
         
 </jx:template>

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/Contact.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/Contact.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/Contact.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 /**
  * Contact belongs to the {@link Form2Bean} demo.
  * 
- * @version $Id: Contact.java,v 1.1 2004/03/09 10:34:08 reinhard Exp $
+ * @version $Id$
  */
 public class Contact {
     private long id;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/Form1Handler.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/Form1Handler.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/Form1Handler.java	Thu Nov  4 02:16:22 2004
@@ -23,7 +23,7 @@
  * Example FormHandler for the "Form1" sample form.
  * This implementation currently doesn't do anything interesting.
  * 
- * @version $Id: Form1Handler.java,v 1.1 2004/03/09 10:34:08 reinhard Exp $
+ * @version $Id$
  */
 public class Form1Handler extends AbstractFormHandler {
     public void handleActionEvent(ActionEvent actionEvent) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/Form2Bean.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/Form2Bean.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/Form2Bean.java	Thu Nov  4 02:16:22 2004
@@ -22,7 +22,7 @@
 /**
  * Sample bean used in the form2 binding demo.
  * 
- * @version $Id: Form2Bean.java,v 1.1 2004/03/09 10:34:08 reinhard Exp $
+ * @version $Id$
  */
 public class Form2Bean {
     private String email;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/InitForm1Action.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/InitForm1Action.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/InitForm1Action.java	Thu Nov  4 02:16:22 2004
@@ -34,7 +34,7 @@
  * meant to illustrate how you can prepopulate a Form instance before its
  * initial display.
  * 
- * @version $Id: InitForm1Action.java,v 1.4 2004/05/07 16:43:43 mpo Exp $
+ * @version $Id$
  */
 public class InitForm1Action extends AbstractFormsAction {
     public Map act(Redirector redirector, SourceResolver resolver, Map objectModel, String source, Parameters parameters)

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/Sex.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/Sex.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/Sex.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 
 /**
  * Description of Sex.
- * @version CVS $Id: Sex.java,v 1.1 2004/03/09 10:34:08 reinhard Exp $
+ * @version CVS $Id$
  */
 public class Sex {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/bindings/LenientBaseBean.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/bindings/LenientBaseBean.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/bindings/LenientBaseBean.java	Thu Nov  4 02:16:22 2004
@@ -19,7 +19,7 @@
 /**
  * LenientBaseBean
  * @author Marc Portier
- * @version $Id: LenientBaseBean.java,v 1.1 2004/03/09 10:34:08 reinhard Exp $
+ * @version $Id$
  */
 public class LenientBaseBean {
     protected String breakingField;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/bindings/LenientNotOKBean.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/bindings/LenientNotOKBean.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/bindings/LenientNotOKBean.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 /**
  * LenientNotOKBean
  * @author Marc Portier
- * @version $Id: LenientNotOKBean.java,v 1.1 2004/03/09 10:34:08 reinhard Exp $
+ * @version $Id$
  */
 public class LenientNotOKBean extends LenientBaseBean{
     public LenientNotOKBean(String initVal) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/bindings/LenientOKBean.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/bindings/LenientOKBean.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/bindings/LenientOKBean.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 /**
  * LenientOKBean
  * @author Marc Portier
- * @version $Id: LenientOKBean.java,v 1.1 2004/03/09 10:34:08 reinhard Exp $
+ * @version $Id$
  */
 public class LenientOKBean extends LenientBaseBean{
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/bindings/ValuesBean.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/bindings/ValuesBean.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/bindings/ValuesBean.java	Thu Nov  4 02:16:22 2004
@@ -18,7 +18,7 @@
 /**
  * ValuesBean used in the 01values test.
  * @author Marc Portier
- * @version $Id: ValuesBean.java,v 1.1 2004/03/09 10:34:08 reinhard Exp $
+ * @version $Id$
  */
 public class ValuesBean {
     private String simple = "Simple";

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/dreamteam/Team.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/dreamteam/Team.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/dreamteam/Team.java	Thu Nov  4 02:16:22 2004
@@ -54,4 +54,4 @@
         }
         return null;
     }
-}
\ No newline at end of file
+}

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/dreamteam/TeamMember.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/dreamteam/TeamMember.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/samples/dreamteam/TeamMember.java	Thu Nov  4 02:16:22 2004
@@ -78,4 +78,4 @@
         return result;
     }
 
-}
\ No newline at end of file
+}

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/EffectPipe.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/EffectPipe.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/EffectPipe.java	Thu Nov  4 02:16:22 2004
@@ -33,7 +33,7 @@
  * Base class for XMLPipe's. Allows the structure of the source code of
  * the XMLPipe to match the structure of the data being transformed.
  *
- * @version $Id: EffectPipe.java,v 1.8 2004/04/29 08:46:19 cziegeler Exp $
+ * @version $Id$
  */
 public class EffectPipe extends AbstractXMLPipe {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/EffectWidgetReplacingPipe.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/EffectWidgetReplacingPipe.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/EffectWidgetReplacingPipe.java	Thu Nov  4 02:16:22 2004
@@ -203,6 +203,10 @@
             throwWrongWidgetType("RepeaterWidgetLabelHandler", input.loc, "repeater");
         }
     }
+    
+    protected boolean isVisible(Widget widget) {
+        return widget.getCombinedState().isDisplayingValues();
+    }
 
     public void throwWrongWidgetType(String pipeName, String element, String widget) throws SAXException {
         throwSAXException(pipeName + ": Element \"" + element + "\" can only be used for " + widget + " widgets.");
@@ -302,6 +306,11 @@
                 }
                 contextWidget = pipeContext.findForm(formJXPath);
 
+                if (!isVisible(contextWidget)) {
+                    // Skip widget and its content
+                    return nullHandler;
+                }
+
                 // ====> Determine the Locale
                 //TODO pull this locale stuff also up in the Config object?
                 String localeAttr = input.attrs.getValue("locale");
@@ -405,10 +414,15 @@
             case EVENT_START_ELEMENT:
                 widgetPath = getWidgetId(input.attrs);
                 widget = getWidget(widgetPath);
-                gotStylingElement = false;
-                out.bufferInit();
-                return this;
 
+                if (isVisible(widget)) {
+                    gotStylingElement = false;
+                    out.bufferInit();
+                    return this;
+                } else {
+                    // Skip widget and its content
+                    return nullHandler;
+                }
             case EVENT_ELEMENT:
                 if (Constants.INSTANCE_NS.equals(input.uri) && STYLING_EL.equals(input.loc)) {
                     gotStylingElement = true;
@@ -478,8 +492,12 @@
             switch(event) {
             case EVENT_START_ELEMENT:
                 getRepeaterWidget("RepeaterWidgetHandler");
-                out.bufferInit();
-                return this;
+                if (isVisible(widget)) {
+                  out.bufferInit();
+                  return this;
+                } else {
+                    return nullHandler;
+                }
             case EVENT_ELEMENT:
                 return bufferHandler;
             case EVENT_END_ELEMENT:
@@ -491,7 +509,9 @@
                 for (int i = 0; i < rowCount; i++) {
                     Repeater.RepeaterRow row = repeater.getRow(i);
                     contextWidget = row;
-                    out.getBuffer().toSAX(EffectWidgetReplacingPipe.this);
+                    if (isVisible(contextWidget)) {
+                      out.getBuffer().toSAX(EffectWidgetReplacingPipe.this);
+                    }
                 }
                 contextWidget = (Widget)contextWidgets.removeFirst();
                 handler = (Handler)handlers.removeFirst();
@@ -514,9 +534,14 @@
                 if (!(widget instanceof AggregateField)) {
                     throwWrongWidgetType("AggregateWidgetHandler", input.loc, "aggregate");
                 }
-                contextWidgets.addFirst(contextWidget);
-                contextWidget = widget;
-                return this;
+
+                if (isVisible(widget)) {
+                    contextWidgets.addFirst(contextWidget);
+                    contextWidget = widget;
+                    return this;
+                } else {
+                    return nullHandler;
+                }
             case EVENT_ELEMENT:
                 return nestedTemplate();
             case EVENT_END_ELEMENT:
@@ -538,9 +563,13 @@
                 if (!(widget instanceof Struct)) {
                     throwWrongWidgetType("StructHandler", input.loc, "struct");
                 }
-                contextWidgets.addFirst(contextWidget);
-                contextWidget = widget;
-                return this;
+                if (isVisible(widget)) {
+                    contextWidgets.addFirst(contextWidget);
+                    contextWidget = widget;
+                    return this;
+                } else {
+                    return nullHandler;
+                }
             case EVENT_ELEMENT:
                 return nestedTemplate();
             case EVENT_END_ELEMENT:
@@ -636,9 +665,13 @@
                 if (!(widget instanceof Union)) {
                     throwWrongWidgetType("UnionHandler", input.loc, "union");
                 }
-                contextWidgets.addFirst(contextWidget);
-                contextWidget = widget;
-                return this;
+                if (isVisible(widget)) {
+                    contextWidgets.addFirst(contextWidget);
+                    contextWidget = widget;
+                    return this;
+                } else {
+                    return nullHandler;
+                }
             case EVENT_ELEMENT:
                 if (Constants.TEMPLATE_NS.equals(input.uri)) {
                     if ("case".equals(input.loc)) {

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/FormsPipelineConfig.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/FormsPipelineConfig.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/FormsPipelineConfig.java	Thu Nov  4 02:16:22 2004
@@ -36,7 +36,7 @@
 import org.xml.sax.SAXException;
 
 /**
- * @version CVS $Id: FormsPipelineConfig.java,v 1.4 2004/04/09 16:25:18 mpo Exp $
+ * @version CVS $Id$
  */
 public class FormsPipelineConfig {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/FormsTemplateTransformer.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/FormsTemplateTransformer.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/FormsTemplateTransformer.java	Thu Nov  4 02:16:22 2004
@@ -29,7 +29,7 @@
 /**
  * See description of {@link WidgetReplacingPipe}.
  * 
- * @version CVS $Id: FormsTemplateTransformer.java,v 1.3 2004/03/18 21:04:39 joerg Exp $
+ * @version CVS $Id$
  */
 public class FormsTemplateTransformer extends EffectWidgetReplacingPipe implements Transformer {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/WidgetReplacingPipe.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/WidgetReplacingPipe.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/transformation/WidgetReplacingPipe.java	Thu Nov  4 02:16:22 2004
@@ -44,7 +44,7 @@
  * <p>For more information about the supported tags and their function, see the user documentation
  * for the forms template transformer.</p>
  * 
- * @version CVS $Id: WidgetReplacingPipe.java,v 1.8 2004/05/07 16:43:43 mpo Exp $
+ * @version CVS $Id$
  */
 public class WidgetReplacingPipe extends AbstractXMLPipe {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/DomHelper.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/DomHelper.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/DomHelper.java	Thu Nov  4 02:16:22 2004
@@ -51,7 +51,7 @@
  * able to provide information about the location of elements in their source
  * XML file. See the {@link #getLocation(Element)} method.
  * 
- * @version CVS $Id: DomHelper.java,v 1.4 2004/03/28 21:29:37 antonio Exp $
+ * @version CVS $Id$
  */
 public class DomHelper {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/I18nMessage.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/I18nMessage.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/I18nMessage.java	Thu Nov  4 02:16:22 2004
@@ -30,7 +30,7 @@
  * <p>This generates an autonomous SAX-blurb, i.e. all necessary namespace
  * declarations will be made, and no start/endDocument events will be generated.
  *
- * @version CVS $Id: I18nMessage.java,v 1.2 2004/03/09 13:17:27 cziegeler Exp $
+ * @version CVS $Id$
  */
 public class I18nMessage implements XMLizable {
     private String key;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/JavaScriptHelper.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/JavaScriptHelper.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/JavaScriptHelper.java	Thu Nov  4 02:16:22 2004
@@ -35,7 +35,7 @@
  * such as event listeners and bindings.
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: JavaScriptHelper.java,v 1.4 2004/04/29 08:46:19 cziegeler Exp $
+ * @version CVS $Id$
  */
 public class JavaScriptHelper {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/StringMessage.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/StringMessage.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/StringMessage.java	Thu Nov  4 02:16:22 2004
@@ -24,7 +24,7 @@
  *
  * Will produce exactly one characters call, no start/endDocument calls.
  * 
- * @version $Id: StringMessage.java,v 1.1 2004/03/09 10:34:09 reinhard Exp $
+ * @version $Id$
  */
 public class StringMessage implements XMLizable {
     private char[] ch;

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/XMLAdapter.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/XMLAdapter.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/util/XMLAdapter.java	Thu Nov  4 02:16:22 2004
@@ -56,7 +56,7 @@
  * the single value rather than the fields as XML. For population of the
  * form both forms are however allowed.
  *
- * @version CVS $Id: XMLAdapter.java,v 1.3 2004/06/24 11:32:47 cziegeler Exp $
+ * @version CVS $Id$
  */
 public class XMLAdapter extends AbstractXMLConsumer implements XMLizable {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/ValidationError.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/ValidationError.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/ValidationError.java	Thu Nov  4 02:16:22 2004
@@ -26,7 +26,7 @@
  * be a simple string or a piece of XML.
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: ValidationError.java,v 1.1 2004/03/09 10:34:09 reinhard Exp $
+ * @version CVS $Id$
  */
 public class ValidationError {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/ValidationErrorAware.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/ValidationErrorAware.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/ValidationErrorAware.java	Thu Nov  4 02:16:22 2004
@@ -20,7 +20,7 @@
  * can hold a validation error.
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: ValidationErrorAware.java,v 1.2 2004/03/09 11:31:10 joerg Exp $
+ * @version CVS $Id$
  */
 public interface ValidationErrorAware {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/WidgetValidator.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/WidgetValidator.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/WidgetValidator.java	Thu Nov  4 02:16:22 2004
@@ -35,7 +35,7 @@
  * traversal of the widget tree).
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: WidgetValidator.java,v 1.4 2004/04/29 08:46:19 cziegeler Exp $
+ * @version CVS $Id$
  */
 public interface WidgetValidator {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/WidgetValidatorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/WidgetValidatorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/WidgetValidatorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -21,7 +21,7 @@
 /**
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: WidgetValidatorBuilder.java,v 1.1 2004/03/09 10:34:09 reinhard Exp $
+ * @version CVS $Id$
  */
 public interface WidgetValidatorBuilder {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/AssertValidatorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/AssertValidatorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/AssertValidatorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -25,7 +25,7 @@
  * Adapter for {@link org.apache.cocoon.forms.datatype.validationruleimpl.AssertValidationRuleBuilder}
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: AssertValidatorBuilder.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version CVS $Id$
  */
 public class AssertValidatorBuilder extends AssertValidationRuleBuilder implements WidgetValidatorBuilder {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/EmailValidatorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/EmailValidatorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/EmailValidatorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -25,7 +25,7 @@
  * Adapter for {@link org.apache.cocoon.forms.datatype.validationruleimpl.EmailValidationRuleBuilder}
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: EmailValidatorBuilder.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version CVS $Id$
  */
 public class EmailValidatorBuilder extends EmailValidationRuleBuilder implements WidgetValidatorBuilder {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/JavaScriptValidator.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/JavaScriptValidator.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/JavaScriptValidator.java	Thu Nov  4 02:16:22 2004
@@ -34,7 +34,7 @@
  * flowscript, can use the flow's global values and fonctions and the <code>cocoon</code> object.
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: JavaScriptValidator.java,v 1.4 2004/04/28 16:34:13 bruno Exp $
+ * @version CVS $Id$
  */
 public class JavaScriptValidator implements WidgetValidator {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/JavaScriptValidatorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/JavaScriptValidatorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/JavaScriptValidatorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -31,7 +31,7 @@
  * 
  * @see org.apache.cocoon.forms.validation.impl.JavaScriptValidator
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: JavaScriptValidatorBuilder.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version CVS $Id$
  */
 public class JavaScriptValidatorBuilder implements WidgetValidatorBuilder, Contextualizable, ThreadSafe {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/LengthValidatorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/LengthValidatorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/LengthValidatorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -25,7 +25,7 @@
  * Adapter for {@link org.apache.cocoon.forms.datatype.validationruleimpl.LengthValidationRuleBuilder}
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: LengthValidatorBuilder.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version CVS $Id$
  */
 public class LengthValidatorBuilder extends LengthValidationRuleBuilder implements WidgetValidatorBuilder {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/Mod10ValidatorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/Mod10ValidatorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/Mod10ValidatorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -25,7 +25,7 @@
  * Adapter for {@link org.apache.cocoon.forms.datatype.validationruleimpl.Mod10ValidationRuleBuilder}
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: Mod10ValidatorBuilder.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version CVS $Id$
  */
 public class Mod10ValidatorBuilder extends Mod10ValidationRuleBuilder implements WidgetValidatorBuilder {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/RangeValidatorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/RangeValidatorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/RangeValidatorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -25,7 +25,7 @@
  * Adapter for {@link org.apache.cocoon.forms.datatype.validationruleimpl.RangeValidationRuleBuilder}
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: RangeValidatorBuilder.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version CVS $Id$
  */
 public class RangeValidatorBuilder extends RangeValidationRuleBuilder implements WidgetValidatorBuilder {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/RegExpValidatorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/RegExpValidatorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/RegExpValidatorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -25,7 +25,7 @@
  * Adapter for {@link org.apache.cocoon.forms.datatype.validationruleimpl.RegExpValidationRuleBuilder}
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: RegExpValidatorBuilder.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version CVS $Id$
  */
 public class RegExpValidatorBuilder extends RegExpValidationRuleBuilder implements WidgetValidatorBuilder {
 

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/ValidationRuleValidator.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/ValidationRuleValidator.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/ValidationRuleValidator.java	Thu Nov  4 02:16:22 2004
@@ -27,7 +27,7 @@
  * {@link org.apache.cocoon.forms.validation.WidgetValidator}.
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: ValidationRuleValidator.java,v 1.4 2004/05/07 13:42:09 mpo Exp $
+ * @version CVS $Id$
  */
 public class ValidationRuleValidator implements WidgetValidator {
     

Modified: cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/ValueCountValidatorBuilder.java
==============================================================================
--- cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/ValueCountValidatorBuilder.java	(original)
+++ cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/validation/impl/ValueCountValidatorBuilder.java	Thu Nov  4 02:16:22 2004
@@ -25,7 +25,7 @@
  * Adapter for {@link org.apache.cocoon.forms.datatype.validationruleimpl.ValueCountValidationRuleBuilder}
  * 
  * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @version CVS $Id: ValueCountValidatorBuilder.java,v 1.2 2004/03/09 11:31:11 joerg Exp $
+ * @version CVS $Id$
  */
 public class ValueCountValidatorBuilder extends ValueCountValidationRuleBuilder implements WidgetValidatorBuilder {