| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| --> |
| |
| <document> |
| |
| <properties> |
| <title>Commons SCXML Usage - API notes - Testing Standalone</title> |
| <author email="dev@commons.apache.org">Commons Documentation Team</author> |
| </properties> |
| |
| <body> |
| |
| <section name="Commons SCXML - Standalone testing, trying out samples"> |
| |
| <p>The SCXML distribution provides utility classes that offer a mock |
| command line environments allowing users to try out samples. The core |
| dependencies for Commons SCXML are Commons Digester (which introduces a |
| transitive dependency on Commons BeanUtils, at the least) and Commons |
| Logging.</p> |
| |
| <p>View the <a href="../dependencies.html">dependencies</a> page for the |
| recommended version numbers. <i>It may be possible to use lower version |
| numbers for the Commons dependencies.</i></p> |
| |
| <p>An environment specific expression language is used in SCXML |
| documents. Commons SCXML currently supports the use of JEXL or JSP 2.0 EL |
| in SCXML documents.</p> |
| |
| <subsection name="Using JEXL in SCXML documents"> |
| |
| <p>The JEXL Standalone class anticipates expressions in JEXL and hence |
| requires commons-jexl.jar.</p> |
| |
| <p>So that amounts to (use the correct local paths and filenames to the |
| <code>jar</code> files and the SCXML document, without the line breaks):</p> |
| |
| <pre> |
| java -classpath |
| |
| commons-digester-1.7.jar;commons-beanutils-1.7.0.jar; |
| commons-logging-1.0.4.jar;commons-scxml-0.9.jar; |
| commons-jexl-1.0.jar |
| |
| <a href="../xref/org/apache/commons/scxml/test/StandaloneJexlExpressions.html">org.apache.commons.scxml.test.StandaloneJexlExpressions</a> |
| |
| <a href="http://svn.apache.org/repos/asf/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml/env/jexl/microwave-01.xml">microwave01.xml</a> |
| </pre> |
| |
| </subsection> |
| |
| <subsection name="Using JSP 2.0 EL in SCXML documents"> |
| |
| <p>The JSP Standalone class anticipates expressions in the JSP 2.0 |
| Expression Language, and hence requires commons-el.jar and jsp-api.jar.</p> |
| |
| <p>So that amounts to (use the correct local paths and filenames to the |
| <code>jar</code> files and the SCXML document, without the line breaks):</p> |
| |
| <pre> |
| java -classpath |
| |
| commons-digester-1.7.jar;commons-beanutils-1.7.0.jar; |
| commons-logging-1.0.4.jar;commons-scxml-1.0-SNAPSHOT.jar; |
| commons-el-1.0.jar;jsp-api-2.0.jar |
| |
| <a href="../xref/org/apache/commons/scxml/test/StandaloneElExpressions.html">org.apache.commons.scxml.test.StandaloneElExpressions</a> |
| |
| <a href="http://svn.apache.org/repos/asf/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml/env/jsp/microwave-01.xml">microwave01.xml</a> |
| </pre> |
| |
| </subsection> |
| |
| <p>You could set up something more elegant (a script, an ant task etc.), |
| but that is what it boils down to. |
| If the document is a well-formed SCXML document, you will be able to |
| type ? or help at the console and you can follow the directions thereafter |
| (to simulate events, set variable values, reset the state machine or quit). |
| </p> |
| |
| <p>A few examples are available as part of the |
| <a href="http://svn.apache.org/repos/asf/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml/"> |
| Commons SCXML test suite</a> (look in env.jexl and env.jsp child packages as well).</p> |
| |
| </section> |
| |
| </body> |
| |
| </document> |