These three exceptions
------- Exception 1
javax.servlet.ServletException: Failed to launch SCO null for user kworks for course sl_sequence due to exception
org.techniques.kworks.RTELaunchServlet.doPost(RTELaunchServlet.java:843)
org.techniques.kworks.RTEServlet.doGet(RTEServlet.java:130)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.techniques.kworks.StrictModeLaunchFilter.doFilter(StrictModeLaunchFilter.java:38)
org.techniques.scorm.sn.SequencingException: Current Activity is not defined / Sequencing session has not begun (NB.2.1-2)
org.techniques.scorm.sn.ActivityTree.processNavContinueRequest(ActivityTree.java:327)
org.techniques.scorm.sn.ActivityTree.processNavRequest(ActivityTree.java:232)
org.techniques.kworks.RTELaunchServlet.doPost(RTELaunchServlet.java:387)
org.techniques.kworks.RTEServlet.doGet(RTEServlet.java:130)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.techniques.kworks.StrictModeLaunchFilter.doFilter(StrictModeLaunchFilter.java:38)
-------
Exception 2
10 Jan
2006 09:33:50,890 ERROR .techniques.kworks.eSCORTE4JSServlet
- eSCORTE for JavaScript SOAP Request failed for user
janet.gautieri@sunlife.com course sl_sequence
sco test_ac_rtci due to:
Current Activity is not defined / Sequencing session has not begun (NB.2.1-2).
org.techniques.scorm.sn.SequencingException: Current Activity is not
defined / Sequencing session has not begun (NB.2.1-2)
at org.techniques.scorm.sn.ActivityTree.processNavSuspendAllRequest(ActivityTree.java:266)
at org.techniques.scorm.sn.ActivityTree.onExitUpdate(ActivityTree.java:1052)
at org.techniques.kworks.eSCORTE4JSServlet.handleTerminateRequest(eSCORTE4JSServlet.java:472)
at org.techniques.kworks.eSCORTE4JSServlet.doPost(eSCORTE4JSServlet.java:237)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown
Source)
----
Exception 3
org.techniques.scorm.sn.SequencingException: Cannot deliver a non-leaf activity (DB.1.1-1)
at org.techniques.scorm.sn.ActivityTree.processDeliveryRequest(ActivityTree.java:703)
at org.techniques.scorm.sn.ActivityTree.processSeqResumeAllRequest(ActivityTree.java:453)
at org.techniques.scorm.sn.ActivityTree.processNavResumeAllRequest(ActivityTree.java:250)
at org.techniques.scorm.sn.ActivityTree.processNavRequest(ActivityTree.java:224)
at org.techniques.kworks.RTELaunchServlet.doPost(RTELaunchServlet.java:386)
at org.techniques.kworks.RTEServlet.doGet(RTEServlet.java:130)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
Are errors that are a result of suspend leaving the activity null after a suspend and then somehow getting into the code without doing a resume all and then doing a continue or a previous or something.
What
the ADL runtime does is if you suspend an activity
and click next after a suspend all, it will go to the
next activity. In 2.3. (Starting and Stopping a Sequencing Session of the S&N manual), It is recommended, if the previous
sequencing session ended due to a Suspend All navigation request, the
LMS should issue a Resume All navigation request instead of a Start.
I disagree that hitting Continue should go to the next activity. It should go to the suspended activity through a resume all. --- I don’t know how it makes sense to have the continue button do any different.
In whatever case, it seems an exception is completely unneeded here unless I am wrong.
So I made the change that does that. It passes the 59 regression command line tests.
Activity Tree with my behavior
Finally it appears the last exception there came due to the earlier errors after suspending messing things up and then trying to resume – finding no activity there.