Author: simoneg
Date: Fri Dec 11 15:25:22 2009
New Revision: 889649

URL: http://svn.apache.org/viewvc?rev=889649&view=rev
Log:
LABS-500 : disconnected validation from handler commit, to provide two 
different phases

Modified:
    
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartForm.java

Modified: 
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartForm.java
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartForm.java?rev=889649&r1=889648&r2=889649&view=diff
==============================================================================
--- 
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartForm.java
 (original)
+++ 
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartForm.java
 Fri Dec 11 15:25:22 2009
@@ -25,6 +25,8 @@
 import org.apache.magma.beans.MagmaBeanSupport;
 import org.apache.magma.beans.PropertyInfo;
 import org.apache.magma.conversion.ConversionException;
+import org.apache.magma.lateconfig.LateConfigurable;
+import org.apache.magma.lateconfig.LateConfigurationTrigger;
 import org.apache.magma.validation.ValidationError;
 import org.apache.magma.view.tree.FieldNode;
 import org.apache.magma.view.tree.Node;
@@ -44,6 +46,7 @@
 import java.util.Set;
 import java.util.Map.Entry;
 
+...@lateconfigurable
 public class SmartForm extends WebHandler {
 
        MagmaBeanSupport bean = null;
@@ -65,6 +68,8 @@
     HashMap<MagmaBeanSupport, BeanHandler> handlers;
 
        protected BeanStyle beanStyle;
+       
+       protected boolean dontValidate = false;
 
        // Delegate fields
        protected String outerCssClass = null;
@@ -121,6 +126,7 @@
                return doShow();
        }
        
+       @LateConfigurationTrigger
        public HtmlProducer doShow() {
                // Check validity of actions
                if (this.actions != null) {
@@ -140,12 +146,14 @@
                return producer;
        }
        
+       @LateConfigurationTrigger
        public HtmlProducer doWorking() {
                loadParams();
                executeBinding();
                return unrepeatable(doShow());
        }
        
+       @LateConfigurationTrigger
        public HtmlProducer doFilled() {
                if (paramMagmaWorkingButton != null) return doWorking();
                errors.clear();
@@ -241,6 +249,7 @@
        void checkValidity() {  
                for (BeanHandler handler : handlers.values()) {
                        try {
+                               if (!dontValidate) handler.validate();
                                handler.commit();
                        } catch (ValidationError ve) {
                                List<LocalizableString> messages = 
ve.getMessages();
@@ -317,6 +326,11 @@
                this.beanStyle = new BeanStylePlainDivs();
                return this;
        }
+       
+       public SmartForm setBeanStyle(BeanStyle style) {
+               this.beanStyle = style;
+               return this;
+       }
 
        public String getOuterCssClass() {
                return outerCssClass;
@@ -333,6 +347,15 @@
        public void setElementCssClass(String elementCssClass) {
                this.elementCssClass = elementCssClass;
        }
+
+       public boolean isDontValidate() {
+               return dontValidate;
+       }
+
+       @LateConfigurable
+       public void setDontValidate(boolean dontValidate) {
+               this.dontValidate = dontValidate;
+       }
        
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to