WW-3714 Update new ActionContext with new ActionInvocation

This commit is contained in:
Kusal Kithul-Godage
2024-10-17 17:21:24 +11:00
parent 272c2e7bba
commit e3fbe88355
3 changed files with 10 additions and 6 deletions
@@ -77,15 +77,19 @@ public class ActionContext extends org.apache.struts2.ActionContext {
return this;
}
@Override
public ActionContext withActionInvocation(ActionInvocation actionInvocation) {
return withActionInvocation((org.apache.struts2.ActionInvocation) actionInvocation);
}
@Override
public ActionContext withActionInvocation(org.apache.struts2.ActionInvocation actionInvocation) {
super.withActionInvocation(actionInvocation);
return this;
}
@Override
public ActionInvocation getActionInvocation() {
return super.getActionInvocation();
return ActionInvocation.adapt(super.getActionInvocation());
}
@Override
@@ -18,8 +18,6 @@
*/
package org.apache.struts2;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.conversion.impl.ConversionData;
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.util.ValueStack;
@@ -403,6 +403,7 @@ public class ActionTagTest extends AbstractTagTest {
public void testExecuteButResetReturnSameInvocation() throws Exception {
Mock mockActionInv = new Mock(ActionInvocation.class);
mockActionInv.matchAndReturn("invoke", "TEST");
ActionTag tag = new ActionTag();
tag.setPageContext(pageContext);
tag.setNamespace("");
@@ -419,7 +420,7 @@ public class ActionTagTest extends AbstractTagTest {
ActionComponent component = (ActionComponent) tag.getComponent();
tag.doEndTag();
assertSame(oldInvocation, ActionContext.getContext().getActionInvocation());
assertEquals(oldInvocation.invoke(), ActionContext.getContext().getActionInvocation().invoke());
// Basic sanity check of clearTagStateForTagPoolingServers() behaviour for Struts Tags after doEndTag().
ActionTag freshTag = new ActionTag();
@@ -432,6 +433,7 @@ public class ActionTagTest extends AbstractTagTest {
public void testExecuteButResetReturnSameInvocation_clearTagStateSet() throws Exception {
Mock mockActionInv = new Mock(ActionInvocation.class);
mockActionInv.matchAndReturn("invoke", "TEST");
ActionTag tag = new ActionTag();
tag.setPerformClearTagStateForTagPoolingServers(true); // Explicitly request tag state clearing.
tag.setPageContext(pageContext);
@@ -450,7 +452,7 @@ public class ActionTagTest extends AbstractTagTest {
ActionComponent component = (ActionComponent) tag.getComponent();
tag.doEndTag();
assertTrue(oldInvocation == ActionContext.getContext().getActionInvocation());
assertEquals(oldInvocation.invoke(), ActionContext.getContext().getActionInvocation().invoke());
// Basic sanity check of clearTagStateForTagPoolingServers() behaviour for Struts Tags after doEndTag().
ActionTag freshTag = new ActionTag();