I don't have a problem with setting the "cancellation" attribute where
there is no form - but this changes goes further than whats mentioned
in STR-1674 with the form no longer being populated when "cancelled".
This breaks compatibility with previous Struts versions and I'm
against it.

Niall

On 7/2/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
Author: pbenedict
Date: Sun Jul  1 21:03:17 2007
New Revision: 552396

URL: http://svn.apache.org/viewvc?view=rev&rev=552396
Log:
STR-1674: Check cancellation first and possibly skip population

Modified:
    
struts/struts1/trunk/core/src/main/java/org/apache/struts/chain/commands/AbstractPopulateActionForm.java

Modified: 
struts/struts1/trunk/core/src/main/java/org/apache/struts/chain/commands/AbstractPopulateActionForm.java
URL: 
http://svn.apache.org/viewvc/struts/struts1/trunk/core/src/main/java/org/apache/struts/chain/commands/AbstractPopulateActionForm.java?view=diff&rev=552396&r1=552395&r2=552396
==============================================================================
--- 
struts/struts1/trunk/core/src/main/java/org/apache/struts/chain/commands/AbstractPopulateActionForm.java
 (original)
+++ 
struts/struts1/trunk/core/src/main/java/org/apache/struts/chain/commands/AbstractPopulateActionForm.java
 Sun Jul  1 21:03:17 2007
@@ -45,21 +45,26 @@
      */
     public boolean execute(ActionContext actionCtx)
         throws Exception {
-        // Is there a form bean for this request?
+
+        ActionConfig actionConfig = actionCtx.getActionConfig();
         ActionForm actionForm = actionCtx.getActionForm();

+        // First determine if the request was cancelled
+        handleCancel(actionCtx, actionConfig, actionForm);
+
+        // Is there a form bean for this request?
         if (actionForm == null) {
             return (false);
         }

-        // Reset the form bean property values
-        ActionConfig actionConfig = actionCtx.getActionConfig();
+        // If request is cancelled, form manipulation is prevented
+        if (actionCtx.getCancelled().booleanValue()) {
+            return (false);
+        }

+        // Reset and repopulate the form bean property values
         reset(actionCtx, actionConfig, actionForm);
-
         populate(actionCtx, actionConfig, actionForm);
-
-        handleCancel(actionCtx, actionConfig, actionForm);

         return (false);
     }




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to