Author: sylvain Date: Sat Nov 13 01:40:29 2004 New Revision: 57569 Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidget.java Log: Removing caching of request parameter name, as the id of repeater row changes if they are moved up/down. That's not a problem with flowsrcipt-driven forms, but will break stateless forms.
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidget.java ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidget.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/AbstractWidget.java Sat Nov 13 01:40:29 2004 @@ -63,12 +63,7 @@ * Storage for the widget allocated attributes */ private Map attributes; - - /** - * Lazily computed request parameter name - */ - private String requestParamName; - + protected AbstractWidget(AbstractWidgetDefinition definition) { this.state = definition.getState(); } @@ -166,22 +161,20 @@ } public String getRequestParameterName() { - if (this.requestParamName == null) { - - // Default if no parent or parent with empty id - this.requestParamName = getId(); + + // Default if no parent or parent with empty id + String requestParamName = getId(); - Widget myParent = getParent(); - if (myParent != null) { - String parentFullId = myParent.getRequestParameterName(); - // the top level form returns an id == "" - if (parentFullId.length() > 0) { - this.requestParamName = parentFullId + "." + getId(); - } + Widget myParent = getParent(); + if (myParent != null) { + String parentFullId = myParent.getRequestParameterName(); + // the top level form returns an id == "" + if (parentFullId.length() > 0) { + requestParamName = parentFullId + "." + getId(); } } - - return this.requestParamName; + + return requestParamName; } public Widget lookupWidget(String path) {