You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by Morten Solberg <mo...@uniweb.no> on 2009/08/03 11:11:02 UTC
Casting ActionSupport
Hi,
I'm having problems casting inherited classes of ActionSupport to
ActionSupport. I haven't had any problems with this until now. I'm
running struts 2.1.8-snapshot
Example:
public class ActionSupportTest {
@Test
public void testCastSDWebActionSupport() {
ActionSupport support = new ActionSupport();
Test5 test = (Test5)support;
assertNotNull(test);
}
}
public class Test5 extends ActionSupport {
}
Running the test gives:
java.lang.ClassCastException: com.opensymphony.xwork2.ActionSupport
cannot be cast to com.uniweb.cp.common.Test5
at
com.uniweb.cp.common.ActionSupportTest.testCastSDWebActionSupport(ActionSupportTest.java:19)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59)
at
org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98)
at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79)
at
org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87)
at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)
at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
at
org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)
at
org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
at
org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
at
org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
at
org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
at com.intellij.rt.junit4.Junit4ClassSuite.run(Junit4ClassSuite.java:99)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
Best regards,
Morten Solberg
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org
Re: Casting ActionSupport
Posted by Illya Kysil <ik...@gmail.com>.
Hi,
Check your code twice - JVM is right :)
> ... casting inherited classes of ActionSupport to ActionSupport
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> ActionSupport support = new ActionSupport();
> Test5 test = (Test5)support;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
On Mon, Aug 3, 2009 at 12:11, Morten Solberg<mo...@uniweb.no> wrote:
> Hi,
>
> I'm having problems casting inherited classes of ActionSupport to
> ActionSupport. I haven't had any problems with this until now. I'm running
> struts 2.1.8-snapshot
>
> Example:
>
> public class ActionSupportTest {
> @Test
> public void testCastSDWebActionSupport() {
> ActionSupport support = new ActionSupport();
> Test5 test = (Test5)support;
> assertNotNull(test);
> }
> }
>
> public class Test5 extends ActionSupport {
> }
>
>
> Running the test gives:
>
> java.lang.ClassCastException: com.opensymphony.xwork2.ActionSupport cannot
> be cast to com.uniweb.cp.common.Test5
> at
> com.uniweb.cp.common.ActionSupportTest.testCastSDWebActionSupport(ActionSupportTest.java:19)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59)
> at
> org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98)
> at
> org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79)
> at
> org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87)
> at
> org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)
> at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
> at
> org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)
> at
> org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
> at
> org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
> at
> org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
> at
> org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
> at
> org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
> at
> com.intellij.rt.junit4.Junit4ClassSuite.run(Junit4ClassSuite.java:99)
> at
> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at
> com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
>
>
>
> Best regards,
>
> Morten Solberg
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>
>
--
Illya Kysil
--
"EASY" is the word you use to describe other people's job.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org