Skip to content

Commit e3fbe88

Browse files
committed
WW-3714 Update new ActionContext with new ActionInvocation
1 parent 272c2e7 commit e3fbe88

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

core/src/main/java/com/opensymphony/xwork2/ActionContext.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,19 @@ public ActionContext bind() {
7777
return this;
7878
}
7979

80-
@Override
8180
public ActionContext withActionInvocation(ActionInvocation actionInvocation) {
81+
return withActionInvocation((org.apache.struts2.ActionInvocation) actionInvocation);
82+
}
83+
84+
@Override
85+
public ActionContext withActionInvocation(org.apache.struts2.ActionInvocation actionInvocation) {
8286
super.withActionInvocation(actionInvocation);
8387
return this;
8488
}
8589

8690
@Override
8791
public ActionInvocation getActionInvocation() {
88-
return super.getActionInvocation();
92+
return ActionInvocation.adapt(super.getActionInvocation());
8993
}
9094

9195
@Override

core/src/main/java/org/apache/struts2/ActionContext.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818
*/
1919
package org.apache.struts2;
2020

21-
import com.opensymphony.xwork2.Action;
22-
import com.opensymphony.xwork2.ActionInvocation;
2321
import com.opensymphony.xwork2.conversion.impl.ConversionData;
2422
import com.opensymphony.xwork2.inject.Container;
2523
import com.opensymphony.xwork2.util.ValueStack;

core/src/test/java/org/apache/struts2/views/jsp/ActionTagTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,7 @@ public void testActionWithoutExecuteResult_clearTagStateSet() throws Exception {
403403

404404
public void testExecuteButResetReturnSameInvocation() throws Exception {
405405
Mock mockActionInv = new Mock(ActionInvocation.class);
406+
mockActionInv.matchAndReturn("invoke", "TEST");
406407
ActionTag tag = new ActionTag();
407408
tag.setPageContext(pageContext);
408409
tag.setNamespace("");
@@ -419,7 +420,7 @@ public void testExecuteButResetReturnSameInvocation() throws Exception {
419420
ActionComponent component = (ActionComponent) tag.getComponent();
420421

421422
tag.doEndTag();
422-
assertSame(oldInvocation, ActionContext.getContext().getActionInvocation());
423+
assertEquals(oldInvocation.invoke(), ActionContext.getContext().getActionInvocation().invoke());
423424

424425
// Basic sanity check of clearTagStateForTagPoolingServers() behaviour for Struts Tags after doEndTag().
425426
ActionTag freshTag = new ActionTag();
@@ -432,6 +433,7 @@ public void testExecuteButResetReturnSameInvocation() throws Exception {
432433

433434
public void testExecuteButResetReturnSameInvocation_clearTagStateSet() throws Exception {
434435
Mock mockActionInv = new Mock(ActionInvocation.class);
436+
mockActionInv.matchAndReturn("invoke", "TEST");
435437
ActionTag tag = new ActionTag();
436438
tag.setPerformClearTagStateForTagPoolingServers(true); // Explicitly request tag state clearing.
437439
tag.setPageContext(pageContext);
@@ -450,7 +452,7 @@ public void testExecuteButResetReturnSameInvocation_clearTagStateSet() throws Ex
450452
ActionComponent component = (ActionComponent) tag.getComponent();
451453

452454
tag.doEndTag();
453-
assertTrue(oldInvocation == ActionContext.getContext().getActionInvocation());
455+
assertEquals(oldInvocation.invoke(), ActionContext.getContext().getActionInvocation().invoke());
454456

455457
// Basic sanity check of clearTagStateForTagPoolingServers() behaviour for Struts Tags after doEndTag().
456458
ActionTag freshTag = new ActionTag();

0 commit comments

Comments
 (0)