What is the state configuration during onentry/exit is executed?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

What is the state configuration during onentry/exit is executed?

Andreas Gansen
Hello,

When we have S1 -> S2, we execute: onexit S1, T, onentry S2. My
question is, are we already in S2 during execution of the entry
handlers and are we still in S1 during onexit is running?


Regards

Reply | Threaded
Open this post in threaded view
|

Re: What is the state configuration during onentry/exit is executed?

Jim Barnett
Andreas,
   Yes to both questions.  For example, here is the relevant part of the
exitStates procedure.  It executes the onexit handlers before it removes
s from the configuration :

for s in statesToExit:
        for content in s.onexit:
            executeContent(content)
        for inv in s.invoke:
            cancelInvoke(inv)
        configuration.delete(s)

In enterStates, the state s is add to the configuration before the onentry routines are run

  for s in statesToEnter.toList().sort(entryOrder):
         configuration.add(s)
         statesToInvoke.add(s)
         if binding == "late" and s.isFirstEntry:
             initializeDataModel(datamodel.s,doc.s)
             s.isFirstEntry = false
         for content in s.onentry:
             executeContent(content)

In general, you are "in" a state if it's in the global "configuration" variable.

- Jim


On 2/23/2014 2:40 PM, Andreas Gansen wrote:
> Hello,
>
> When we have S1 -> S2, we execute: onexit S1, T, onentry S2. My
> question is, are we already in S2 during execution of the entry
> handlers and are we still in S1 during onexit is running?
>
>
> Regards
>

--
Jim Barnett
Genesys

Reply | Threaded
Open this post in threaded view
|

Some problems with the VoiceXML conformance test

Dirk Schnelle-Walka
Hey there,

since I am not a member, I am not able to send this email to
[hidden email] as indicated on [1].

Nevertheless, I found some problems with the public available test suite
that is available for download and want to share them.

file:
vxml21_0.0.5/txml/30/30.xml contains a dublicate ending of files
Is:
<?xml version="1.0"?>
<!-- @ Copyright 2005 W3C (MIT, ERCIM, Keio), All Rights Reserved. See
http://www.w3.org/Consortium/Legal/. @ -->
<?access-control allow="*"?>
<files>
  <file name="30.xml"></file>
</files>
</files>

but should be :
<?xml version="1.0"?>
<!-- @ Copyright 2005 W3C (MIT, ERCIM, Keio), All Rights Reserved. See
http://www.w3.org/Consortium/Legal/. @ -->
<?access-control allow="*"?>
<files>
  <file name="30.xml"></file>
</files>

Also, to run it in newer servlet containers like Tomcat 7, the following
problems arise:
WEB-INF/web.xml
- dtd is too old
- the used invoker servlet is considered evil and deprecated [2]

The following web.xml did the job for me with tomcat 7:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
    <display-name>VXML Forum Combined Conformance Test
Harness</display-name>
    <description>
      A Test harness to run VXML 2.0, VXML 2.1 and SRGS 1.0 Conformance
Tests.
    </description>
    <servlet-mapping>
      <servlet-name>jsp</servlet-name>
      <url-pattern>*.jsp</url-pattern>
      <url-pattern>*.ircgi</url-pattern>
    </servlet-mapping>
</web-app>

general:
Part is now also available in the Servlet API 3.0 [3] and clashes with
the one of the used oreilly library. All occurences should be replaced
by
com.oreilly.servlet.multipart.Part

Best regards,
Dirk

[1] http://www.voicexml.org/platform-certification
[2] http://www.coderanch.com/how-to/java/InvokerServlet
[3] https://tomcat.apache.org/migration-7.html