[ https://issues.apache.org/jira/browse/SCXML-48?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rahul Akolkar resolved SCXML-48. -------------------------------- Resolution: Fixed Fix Version/s: 0.7 Thanks for the tests. They've been added to the test suite and a fix has been applied. Should be available in tomorrow's nightly (or immediately via trunk). > Cannot create more than one subclass of AbstractStateMachine > ------------------------------------------------------------ > > Key: SCXML-48 > URL: https://issues.apache.org/jira/browse/SCXML-48 > Project: Commons SCXML > Issue Type: Bug > Reporter: Michael Heuer > Fix For: 0.7 > > Attachments: abstract-state-machine-test-src.tar.gz > > > Similar to the issue described in SCXML-47, the following test case will fail: > public void testMoreThanOneScxmlDocument() throws Exception { > URL fooScxmlDocument = getClass().getResource("foo.xml"); > URL barScxmlDocument = getClass().getResource("bar.xml"); > Foo foo = new Foo(fooScxmlDocument); > Bar bar = new Bar(barScxmlDocument); > assertTrue(fooCalled); > // bar's initialstate "bar" never called, since bar's > AbstractStateMachine has > // static reference to stateMachine for foo.xml > assertTrue(barCalled); > } > private class Foo extends AbstractStateMachine { > public Foo(final URL scxmlDocument) { > super(scxmlDocument); > } > public void foo() { > fooCalled = true; > } > } > private class Bar extends AbstractStateMachine { > public Bar(final URL scxmlDocument) { > super(scxmlDocument); > } > public void bar() { > barCalled = true; > } > } > with simple SCXML files > foo.xml: > <scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" > initialstate="foo"> > <state id="foo"/> > </scxml> > bar.xml: > <scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" > initialstate="bar"> > <state id="bar"/> > </scxml> > [junit] Running org.apache.commons.scxml.env.EnvTestSuite > org.apache.commons.scxml.env.AbstractStateMachineTest$Bar.foo() > java.lang.NoSuchMethodException: > org.apache.commons.scxml.env.AbstractStateMachineTest$Bar.foo() > at java.lang.Class.getDeclaredMethod(Class.java:1937) > at > org.apache.commons.scxml.env.AbstractStateMachine.invoke(AbstractStateMachine.java:212) > at > org.apache.commons.scxml.env.AbstractStateMachine$EntryListener.onEntry(AbstractStateMachine.java:269) > Testsuite: org.apache.commons.scxml.env.EnvTestSuite > Tests run: 21, Failures: 2, Errors: 0, Time elapsed: 0.391 sec > Testcase: > testMoreThanOneScxmlDocument(org.apache.commons.scxml.env.AbstractStateMachineTest): > FAILED > junit.framework.AssertionFailedError > at > org.apache.commons.scxml.env.AbstractStateMachineTest.testMoreThanOneScxmlDocument(AbstractStateMachineTest.java:60) > Testcase: testStopWatch(org.apache.commons.scxml.env.StopWatchTest): FAILED > expected:<reset> but was:<foo> > junit.framework.ComparisonFailure: expected:<reset> but was:<foo> > at > org.apache.commons.scxml.env.StopWatchTest.testStopWatch(StopWatchTest.java:56) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]