Author: bruno
Date: Tue Oct  5 08:03:11 2004
New Revision: 53803

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/jx-macros.xml
Log:
Fix ft:validation-error handling.


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
   Tue Oct  5 08:03:11 2004
@@ -14,6 +14,7 @@
 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;
@@ -143,14 +144,22 @@
         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) {
         // TODO: check that class actually exists in the form
         if (this.classes == null) {

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
 Tue Oct  5 08:03:11 2004
@@ -137,7 +137,7 @@
       
       <jx:set var="widget" value="${cformsHelper.getWidget(widget, id)}"/>
       <jx:set var="validationError" value="${widget.getValidationError()}"/>
-      <jx:if test="${validationError != null}">
+      <jx:if test="${cformsHelper.isValidationError(validationError)}">
         <jx:set var="cformsDummy" 
value="${cformsHelper.generateValidationError(validationError)}"/>
           <jx:evalBody/>
         <jx:set var="cformsDummy" 
value="${cformsHelper.flushRoot(validationError)}"/>

Reply via email to