Author: mrdon
Date: Sat Sep 30 18:52:25 2006
New Revision: 451709
URL: http://svn.apache.org/viewvc?view=rev&rev=451709
Log:
Fixed execute and wait interceptor to not _require_ validation to work
WW-1453
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptor.java
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptor.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptor.java?view=diff&rev=451709&r1=451708&r2=451709
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptor.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptor.java
Sat Sep 30 18:52:25 2006
@@ -168,7 +168,8 @@
public static final String WAIT = "wait";
protected int delay;
protected int delaySleepInterval = 100; // default sleep 100 millis before
checking if background process is done
-
+ protected boolean executeAfterValidationPass = false;
+
private int threadPriority = Thread.NORM_PRIORITY;
/* (non-Javadoc)
@@ -198,12 +199,15 @@
ActionContext context = actionInvocation.getInvocationContext();
Map session = context.getSession();
- Boolean secondTime = (Boolean) context.get(KEY);
- if (secondTime == null) {
- context.put(KEY, true);
- secondTime = false;
- } else {
- secondTime = true;
+ Boolean secondTime = true;
+ if (executeAfterValidationPass) {
+ secondTime = (Boolean) context.get(KEY);
+ if (secondTime == null) {
+ context.put(KEY, true);
+ secondTime = false;
+ } else {
+ secondTime = true;
+ }
}
synchronized (session) {
@@ -314,4 +318,16 @@
public void setDelaySleepInterval(int delaySleepInterval) {
this.delaySleepInterval = delaySleepInterval;
}
+
+ /**
+ * Whether to start the background process after the second pass (first
being validation)
+ * or not
+ *
+ * @param executeAfterValidationPass the executeAfterValidationPass to set
+ */
+ public void setExecuteAfterValidationPass(boolean
executeAfterValidationPass) {
+ this.executeAfterValidationPass = executeAfterValidationPass;
+ }
+
+
}