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/03/09 17:41:57 UTC
svn commit: r751737 -
/labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartForm.java
Author: simoneg
Date: Mon Mar 9 16:41:56 2009
New Revision: 751737
URL: http://svn.apache.org/viewvc?rev=751737&view=rev
Log:
LABS-310 : fixes on SmartForm to support binding using new OnDemandBinder
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=751737&r1=751736&r2=751737&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 Mon Mar 9 16:41:56 2009
@@ -40,6 +40,7 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.Map.Entry;
public class SmartForm extends WebHandler {
@@ -51,6 +52,8 @@
private HtmlProducer header = null;
private HtmlProducer footer = null;
+ protected Map<String, String[]> allParams = null;
+
ViewCustomizer filter = null;
Map<String, List<?>> lists = new HashMap<String, List<?>>();
@@ -79,10 +82,13 @@
this.filter = filter;
}
- public void setAllParams(Map<String, String[]> params) {
+
+ private void loadParams() {
+ if (allParams == null) return;
String mycode = getMyCode();
int mycodeLen = mycode.length();
- for (Map.Entry<String, String[]> entry : params.entrySet()) {
+ Set<Entry<String, String[]>> entrySet = allParams.entrySet();
+ for (Map.Entry<String, String[]> entry : entrySet) {
if (entry.getKey().startsWith(mycode)) {
if (entry.getValue()[0].length() == 0) {
binding.put(entry.getKey().substring(mycodeLen + 1), null);
@@ -95,7 +101,9 @@
}
String getMyCode() {
- return Integer.toString(getRelativePath().hashCode());
+ String relativePath = getRelativePath();
+ if (relativePath == null) relativePath = "";
+ return Integer.toString(relativePath.hashCode());
}
public HtmlProducer do_default() {
@@ -114,12 +122,14 @@
}
public HtmlProducer doWorking() {
+ loadParams();
executeBinding();
return unrepeatable(doShow());
}
public HtmlProducer doFilled() {
errors.clear();
+ loadParams();
FormAction action = executeBinding();
if (action == null) throw new MagmaException("Cannot find which form action button has been pressed");
if (action.isValidate()) {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org