You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2009/12/11 16:25:22 UTC

svn commit: r889649 - /labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartForm.java

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: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org