[
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]