You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by ti...@apache.org on 2004/09/13 17:45:28 UTC
svn commit: rev 45981 - cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel
Author: tim
Date: Mon Sep 13 08:45:28 2004
New Revision: 45981
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/AbstractWidget.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/AggregateField.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/Field.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/Repeater.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/Upload.java
cocoon/trunk/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Widget.java
Log:
Replace getProcessRequests() with:
getProcessMyRequests() and getProcessChildRequests()
Separate setProcessRequests() into
setProcessMyRequests() and setProcessChildRequests()
...and have the original setProcessRequests() call both of these
new methods, as a convenience to set them both at the same time.
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 Mon Sep 13 08:45:28 2004
@@ -82,7 +82,7 @@
* of the contained widgets.
*/
public void readFromRequest(FormContext formContext) {
- if(getProcessRequests() == true) {
+ if(getProcessChildRequests() == true) {
widgets.readFromRequest(formContext);
}
}
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 Mon Sep 13 08:45:28 2004
@@ -47,7 +47,12 @@
/**
* Process request parameters for this widget?
*/
- private boolean processRequests = true;
+ private boolean processMyRequests = true;
+
+ /**
+ * Process request parameters for children of this widget?
+ */
+ private boolean processChildRequests = true;
/**
* Lazy loaded reference to the top-level form.
@@ -205,19 +210,44 @@
}
/**
+ * Controls whether {@link #readFromRequest(FormContext formContext)}
+ * processes the request parameter(s) for this widget and its children.
+ */
+ public void setProcessRequests(boolean processRequests) {
+ this.processMyRequests = processRequests;
+ this.processChildRequests = processRequests;
+ }
+
+ /**
* Returns whether {@link #readFromRequest(FormContext formContext)}
* processes the request parameter(s) for this widget.
*/
- public boolean getProcessRequests() {
- return this.processRequests;
+ public boolean getProcessMyRequests() {
+ return this.processMyRequests;
}
/**
* Controls whether {@link #readFromRequest(FormContext formContext)}
* processes the request parameter(s) for this widget.
*/
- public void setProcessRequests(boolean processRequests) {
- this.processRequests = processRequests;
+ public void setProcessMyRequests(boolean processMyRequests) {
+ this.processMyRequests = processMyRequests;
+ }
+
+ /**
+ * Returns whether {@link #readFromRequest(FormContext formContext)}
+ * processes the request parameter(s) for children of this widget.
+ */
+ public boolean getProcessChildRequests() {
+ return this.processChildRequests;
+ }
+
+ /**
+ * Controls whether {@link #readFromRequest(FormContext formContext)}
+ * processes the request parameter(s) for children of this widget.
+ */
+ public void setProcessChildRequests(boolean processChildRequests) {
+ this.processChildRequests = processChildRequests;
}
public boolean isRequired() {
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 Mon Sep 13 08:45:28 2004
@@ -44,7 +44,7 @@
}
public void readFromRequest(final FormContext formContext) {
- if(getProcessRequests() == true) {
+ if(getProcessMyRequests() == true) {
Form form = getForm();
// Set the submit widget if we can determine it from the request
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 Mon Sep 13 08:45:28 2004
@@ -95,26 +95,28 @@
}
public void readFromRequest(FormContext formContext) {
- if(getProcessRequests() == true) {
- String newEnteredValue = formContext.getRequest().getParameter(getRequestParameterName());
- if (newEnteredValue != null) {
- // There is one aggregated entered value. Read it and split it.
+ String newEnteredValue = formContext.getRequest().getParameter(getRequestParameterName());
+ if (newEnteredValue != null) {
+ // There is one aggregated entered value. Read it and split it.
+ if(getProcessMyRequests() == true) {
super.readFromRequest(formContext);
- if (this.valueState == VALUE_UNPARSED) {
- setFieldsValues(enteredValue);
- }
- } else {
- // Check if there are multiple splitted values. Read them and aggregate them.
- for (Iterator i = fields.iterator(); i.hasNext();) {
- Field field = (Field)i.next();
+ }
+ if (this.valueState == VALUE_UNPARSED) {
+ setFieldsValues(enteredValue);
+ }
+ } else {
+ // Check if there are multiple splitted values. Read them and aggregate them.
+ for (Iterator i = fields.iterator(); i.hasNext();) {
+ Field field = (Field)i.next();
+ if(getProcessChildRequests() == true) {
field.readFromRequest(formContext);
- if (field.valueState == VALUE_UNPARSED) {
- this.valueState = VALUE_UNPARSED;
- }
}
- if (this.valueState == VALUE_UNPARSED) {
- combineFields();
+ if (field.valueState == VALUE_UNPARSED) {
+ this.valueState = VALUE_UNPARSED;
}
+ }
+ if (this.valueState == VALUE_UNPARSED) {
+ combineFields();
}
}
}
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 Mon Sep 13 08:45:28 2004
@@ -62,7 +62,7 @@
}
public void readFromRequest(FormContext formContext) {
- if(getProcessRequests() == true) {
+ if(getProcessMyRequests() == true) {
validationError = null;
Object oldValue = value;
String param = formContext.getRequest().getParameter(getRequestParameterName());
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 Mon Sep 13 08:45:28 2004
@@ -175,7 +175,7 @@
}
public void readFromRequest(FormContext formContext) {
- if(getProcessRequests() == true) {
+ 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?
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 Mon Sep 13 08:45:28 2004
@@ -72,7 +72,7 @@
}
public void readFromRequest(FormContext formContext) {
- if(getProcessRequests() == true) {
+ if(getProcessMyRequests() == true) {
enteredValues = formContext.getRequest().getParameterValues(getRequestParameterName());
validationError = null;
values = null;
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 Mon Sep 13 08:45:28 2004
@@ -181,7 +181,7 @@
}
public void readFromRequest(FormContext formContext) {
- if(getProcessRequests() == true) {
+ if(getProcessMyRequests() == true) {
// read number of rows from request, and make an according number of rows
String sizeParameter = formContext.getRequest().getParameter(getRequestParameterName() + ".size");
if (sizeParameter != null) {
@@ -208,7 +208,9 @@
}
}
}
+ }
+ if(getProcessChildRequests() == true) {
// let the rows read their data from the request
Iterator rowIt = rows.iterator();
while (rowIt.hasNext()) {
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 Mon Sep 13 08:45:28 2004
@@ -73,29 +73,30 @@
}
public void readFromRequest(FormContext formContext) {
- if(getProcessRequests() == true) {
- // Ensure the case widget has read its value
- this.caseWidget.readFromRequest(formContext);
+ // Ensure the case widget has read its value
+ this.caseWidget.readFromRequest(formContext);
- Widget widget;
- // Read current case from request
- String newValue = (String)getValue();
- if (newValue != null && !newValue.equals("")) {
+ Widget widget;
+ // Read current case from request
+ String newValue = (String)getValue();
+ if (newValue != null && !newValue.equals("")) {
- if (getForm().getSubmitWidget() == this.caseWidget && !newValue.equals(this.caseValue)) {
- // If submitted by the case widget and its value has changed, read the values
- // for the previous case values. This allows to keep any entered values
- // despite the case change.
- widget = getChild(this.caseValue);
- } else {
- // Get the corresponding widget (will create it if needed)
- widget = getChild(newValue);
- }
+ if (getProcessMyRequests() == false
+ || (getForm().getSubmitWidget() == this.caseWidget && !newValue.equals(this.caseValue))) {
+ // If submitted by the case widget and its value has changed, read the values
+ // for the previous case value. This allows to keep any already entered values
+ // despite the case change.
+ widget = getChild(this.caseValue);
+ } else {
+ // Get the corresponding widget (will create it if needed)
+ widget = getChild(newValue);
+ }
- if (widget != null) {
- widget.readFromRequest(formContext);
- }
+ if (getProcessChildRequests() == true && widget != null) {
+ widget.readFromRequest(formContext);
}
+ }
+ if(getProcessMyRequests() == true) {
this.caseValue = newValue;
}
}
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 Mon Sep 13 08:45:28 2004
@@ -71,7 +71,7 @@
}
public void readFromRequest(FormContext formContext) {
- if(getProcessRequests() == true) {
+ if(getProcessMyRequests() == true) {
Object obj = formContext.getRequest().get(getRequestParameterName());
// If the request object is a Part, keep it
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 Mon Sep 13 08:45:28 2004
@@ -119,16 +119,34 @@
public Widget lookupWidget(String path);
/**
+ * Controls whether {@link #readFromRequest(FormContext formContext)}
+ * processes the request parameter(s) for this widget and its children.
+ */
+ public void setProcessRequests(boolean processRequests);
+
+ /**
* Returns whether {@link #readFromRequest(FormContext formContext)}
* processes the request parameter(s) for this widget.
*/
- public boolean getProcessRequests();
+ public boolean getProcessMyRequests();
/**
* Controls whether {@link #readFromRequest(FormContext formContext)}
* processes the request parameter(s) for this widget.
*/
- public void setProcessRequests(boolean processRequests);
+ public void setProcessMyRequests(boolean processMyRequests);
+
+ /**
+ * Returns whether {@link #readFromRequest(FormContext formContext)}
+ * processes the request parameter(s) for children of this widget.
+ */
+ public boolean getProcessChildRequests();
+
+ /**
+ * Controls whether {@link #readFromRequest(FormContext formContext)}
+ * processes the request parameter(s) for children of this widget.
+ */
+ public void setProcessChildRequests(boolean processChildRequests);
/**
* Lets this widget read its data from a request. At this point the Widget