JBoss JBPM SVN: r5822 - jbpm4/trunk.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2009-10-27 18:34:20 -0400 (Tue, 27 Oct 2009)
New Revision: 5822
Modified:
jbpm4/trunk/pom.xml
Log:
[JBPM-2547] bump signavio version to 1.1
Modified: jbpm4/trunk/pom.xml
===================================================================
--- jbpm4/trunk/pom.xml 2009-10-27 17:06:16 UTC (rev 5821)
+++ jbpm4/trunk/pom.xml 2009-10-27 22:34:20 UTC (rev 5822)
@@ -66,7 +66,7 @@
<mail.version>1.4.1</mail.version>
<report.engine.version>2.3.2</report.engine.version>
<servlet-api.version>2.5</servlet-api.version>
- <signavio.jbpmeditor.version>1.0</signavio.jbpmeditor.version>
+ <signavio.jbpmeditor.version>1.1</signavio.jbpmeditor.version>
<spring.version>2.0.8</spring.version>
<stax.api.version>1.0.1</stax.api.version>
<wiser.version>1.2</wiser.version>
16 years, 6 months
JBoss JBPM SVN: r5821 - jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/tx/jta.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2009-10-27 13:06:16 -0400 (Tue, 27 Oct 2009)
New Revision: 5821
Modified:
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/tx/jta/JtaTransactionInterceptor.java
Log:
minor fix in usage of generics in JtaTransactionInterceptor
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/tx/jta/JtaTransactionInterceptor.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/tx/jta/JtaTransactionInterceptor.java 2009-10-27 16:56:05 UTC (rev 5820)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/tx/jta/JtaTransactionInterceptor.java 2009-10-27 17:06:16 UTC (rev 5821)
@@ -79,7 +79,7 @@
suspendedTransaction = jtaTransaction.suspend();
}
- Object returnValue = null;
+ T returnValue = null;
try {
jtaTransaction.begin();
@@ -99,7 +99,7 @@
}
}
- return (T) returnValue;
+ return returnValue;
}
public void setPolicy(Policy policy) {
16 years, 6 months
JBoss JBPM SVN: r5820 - in jbpm4/trunk/modules: userguide/src/main/docbook/en/modules and 1 other directory.
by do-not-reply@jboss.org
Author: jbarrez
Date: 2009-10-27 12:56:05 -0400 (Tue, 27 Oct 2009)
New Revision: 5820
Modified:
jbpm4/trunk/modules/distro/src/main/files/install/build.xml
jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch02-Installation.xml
Log:
Revised documentation of chapter 2
Modified: jbpm4/trunk/modules/distro/src/main/files/install/build.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/files/install/build.xml 2009-10-27 16:27:14 UTC (rev 5819)
+++ jbpm4/trunk/modules/distro/src/main/files/install/build.xml 2009-10-27 16:56:05 UTC (rev 5820)
@@ -191,7 +191,7 @@
<!-- ### CREATE USER WEBAPP ########################################## -->
<target name="create.user.webapp"
depends="create.cfg"
- description="Generates a configuration in dir generated/cfg">
+ description="Generates a configuration in dir /install/generated/user-webapp">
<delete dir="${jbpm.home}/install/generated/user-webapp" />
<mkdir dir="${jbpm.home}/install/generated/user-webapp/WEB-INF/classes" />
<mkdir dir="${jbpm.home}/install/generated/user-webapp/WEB-INF/lib" />
@@ -797,7 +797,6 @@
<mkdir dir="${signavio.tmp.dir}" />
<unzip src="${jbpm.home}/install/src/signavio/${signavio.war.file.name}" dest="${signavio.tmp.dir}" />
-
<!-- Replace Windows backslash with forward slash (see JBPM-2540) -->
<pathconvert property="signavio.repo.path" targetos="unix">
<map from="${basedir}/" to='' />
Modified: jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch02-Installation.xml
===================================================================
--- jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch02-Installation.xml 2009-10-27 16:27:14 UTC (rev 5819)
+++ jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch02-Installation.xml 2009-10-27 16:56:05 UTC (rev 5820)
@@ -3,15 +3,16 @@
<section id="thedistribution">
<title>The distribution</title>
- <para>Just unzip the jBPM download to some location on your hard drive.
+ <para>Unzip the jBPM download (<literal>jbpm-4.X.zip</literal>) to some location on your hard drive.
You'll see following subdirectories:
</para>
<itemizedlist>
<listitem><literal>doc</literal>: User guide, javadocs and developers guide</listitem>
<listitem><literal>examples</literal>: Example processes that are used in the user guide</listitem>
- <listitem><literal>install</literal>: Installation scripts</listitem>
+ <listitem><literal>install</literal>: Installation scripts for several environments</listitem>
<listitem><literal>lib</literal>: Third party libs and some special jBPM libraries</listitem>
- <listitem><literal>src</literal>: Sources</listitem>
+ <listitem><literal>src</literal>: Source files</listitem>
+ <listitem><literal>migration</literal>: see developers guide</listitem>
<listitem><literal>jbpm.jar</literal>: The jBPM main library archive</listitem>
</itemizedlist>
</section>
@@ -31,10 +32,11 @@
<para>The <emphasis role="bold">demo setup</emphasis> is the simplest way to get started.
This section describes the steps to complete the demo setup.
</para>
- <para>If you have previously downloaded jboss-5.0.0.GA.zip, create a downloads directory
- in your <literal>${jbpm.home}/install/downloads</literal> directory and place the zip file in
- there. Otherwise the script will download it for you. The same is true for eclipse-jee-galileo-win32.zip
- (or eclipse-jee-galileo-linux-gtk(-x86_64).tar.gz on Linux and eclipse-jee-galileo-macosx-carbon.tar.gz on Mac OSX)
+ <para>If you have previously downloaded <literal>jboss-5.0.0.GA.zip</literal>, you can drop it
+ in the <literal>${jbpm.home}/install/downloads</literal> directory.
+ Otherwise the script will download it for you, but it will take some time (depending on your connection).
+ The same is holds for eclipse-jee-galileo-win32.zip (or eclipse-jee-galileo-linux-gtk(-x86_64).tar.gz on Linux
+ and eclipse-jee-galileo-macosx-carbon.tar.gz on Mac OSX)
</para>
<para>Open a command prompt and go do directory <literal>${jbpm.home}/install</literal>. Then
run
@@ -52,12 +54,20 @@
<listitem>Create an examples.bar business archive from the examples and deploy it to the jBPM DB.</listitem>
<listitem>Load the example users and groups from <literal>${jbpm.home}/install/src/demo/example.identities.sql</literal> </listitem>
<listitem>Install eclipse into <literal>${jbpm.home}/eclipse</literal></listitem>
+ <listitem>Install the jBPM web console</listitem>
+ <listitem>Install the Signavio web modeler</listitem>
<listitem>Start eclipse</listitem>
</itemizedlist>
- <para>After this is done JBoss will be running in the background. Once eclipse has started, you can continue
- to follow the instructions of <xref linkend="graphicalprocessdesigner" />
+ <para>
+ After this is done, JBoss will be running in the background. Once
+ eclipse has started, you can continue to follow the instructions of
+ <xref linkend="graphicalprocessdesigner" /> to start coding your jBPM business processes.
</para>
- <para>And you can surf to <ulink url="http://localhost:8080/jbpm-console">the jBPM console</ulink>
+ <para>
+ Or you can start modeling processes through
+ <ulink url="http://localhost:8080/jbpmeditor/p/explorer">the Signavio web editor</ulink>.
+ </para>
+ <para>Or surf to <ulink url="http://localhost:8080/jbpm-console">the jBPM console</ulink>.
You can login as one of the following users:
</para>
<table><title>Example console users:</title>
@@ -88,17 +98,22 @@
</tbody>
</tgroup>
</table>
- <para>Known limitation: Currently, the timeout of the console is too tight for
- the reporting to initialize. So the first time when you access the reporting
- the request will timeout and the console crashes. Logging out and login again works around
- this problem. It's being addressed as issue <ulink url="https://jira.jboss.org/jira/browse/JBPM-2508">JBPM-2508</ulink> </para>
+ <para>
+ <emphasis role="bold">Known console limitation</emphasis>:
+ Currently, the timeout of the console is too tight for the reporting
+ to initialize on slower machines. So the first time when you access
+ the reporting the request will timeout and the console crashes.
+ Logging out and login again works around this problem. It's being
+ addressed as issue
+ <ulink url="https://jira.jboss.org/jira/browse/JBPM-2508">JBPM-2508</ulink>
+ </para>
</section>
<section id="installscripts">
<title>Install scripts</title>
<para>The jBPM download contains an <literal>install</literal> directory
with an ant <link>build.xml</link> file in it. You can use that to
- install jBPM into your application environment.
+ install jBPM into your application environment.
</para>
<para>It's best to stick to the installations and jBPM configuration files
@@ -106,18 +121,129 @@
directly, is possible, but not supported.
</para>
- <para>To invoke the install script, open a command line and go to the
+ <para>
+ To invoke the install script, open a command line and go to the
<literal>${jbpm.home}/install</literal> directory. With <literal>ant -p</literal> you can
- find out what each of these scripts can do.
+ find out what each of these scripts can do. The scripts are parametrized with default values
+ to get going quickly. The following list gives an overview of the available scripts:
+ </para>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <literal>demo.setup.jboss</literal>: installs jboss, installs jbpm into jboss,
+ starts jboss, creates the jBPM DB schema, deploys examples, loads example identities,
+ installs and starts eclipse
+ </listitem>
+ <listitem>
+ <literal>demo.setup.tomcat</literal>: installs tomcat, installs jbpm into tomcat,
+ starts tomcat, creates the jBPM DB schema, deploys examples, loads example identities,
+ installs and starts eclipse
+ </listitem>
+ <listitem>
+ <literal>clean.cfg.dir</literal>: Deletes the <literal>${jbpm.home}/install/generated/cfg</literal> folder.
+ </listitem>
+ <listitem>
+ <literal>create.cfg</literal>: Creates a configuration in
+ <literal>${jbpm.home}/install/generated/cfg</literal> based on the current parameters.
+ </listitem>
+ <listitem>
+ <literal>create.jbpm.schema</literal>: creates the jbpm tables in the database
+ </listitem>
+ <listitem>
+ <literal>create.user.webapp</literal>: Generates a basic webapp in
+ <literal>${jbpm.home}/install/generated/user-webapp</literal>
+ </listitem>
+ <listitem>
+ <literal>delete.jboss</literal>: Deletes the JBoss installation
+ </listitem>
+ <listitem>
+ <literal>delete.tomcat</literal>: Deletes the Tomcat installation
+ </listitem>
+ <listitem>
+ <literal>demo.teardown.jboss</literal>: Drops the jbpm db schema and stops jboss
+ </listitem>
+ <listitem>
+ <literal>demo.teardown.tomcat</literal>: Stops tomcat and then the hsqldb server (if needed)
+ </listitem>
+ <listitem>
+ <literal>drop.jbpm.schema</literal>: Drops the jbpm tables from the database
+ </listitem>
+ <listitem>
+ <literal>get.eclipse</literal>: Downloads eclipse if it is not available
+ </listitem>
+ <listitem>
+ <literal>get.jboss</literal>: Downloads a JBoss AS which was tested against the current jBPM version if it is not available
+ </listitem>
+ <listitem>
+ <literal>get.tomcat</literal>: Downloads tomcat which was tested against the current jBPM version if it is not available
+ </listitem>
+ <listitem>
+ <literal>hsqldb.databasemanager</literal>: Starts the hsqldb database manager
+ </listitem>
+ <listitem>
+ <literal>install.eclipse</literal>: Unzips eclipse, downloads eclipse if it is not available
+ </listitem>
+ <listitem>
+ <literal>install.jboss</literal>: Downloads JBoss if its not available and then unzips it
+ </listitem>
+ <listitem>
+ <literal>install.jbpm.into.jboss</literal>: Installs jBPM into JBoss
+ </listitem>
+ <listitem>
+ <literal>install.tomcat</literal>: Downloads tomcat to ${tomcat.distro.dir} if its not available and then unzips tomcat
+ </listitem>
+ <listitem>
+ <literal>install.jbpm.into.tomcat</literal>: Installs jBPM into tomcat
+ </listitem>
+ <listitem>
+ <literal>install.examples.into.tomcat</literal>: Deploys all the example processes
+ </listitem>
+ <listitem>
+ <literal>install.signavio.into.jboss</literal>: Installs signavio into jboss
+ </listitem>
+ <listitem>
+ <literal>install.signavio.into.tomcat</literal>: Installs signavio into tomcat
+ </listitem>
+ <listitem>
+ <literal>load.example.identities</literal>: Loads the example users and groups into the database
+ </listitem>
+ <listitem>
+ <literal>reinstall.jboss</literal>: Deletes the previous jboss installation and re-installs jboss
+ </listitem>
+ <listitem>
+ <literal>reinstall.jboss.and.jbpm</literal>: Deletes the previous jboss installation and re-installs jboss and installs jbpm in it
+ </listitem>
+ <listitem>
+ <literal>reinstall.tomcat</literal>: Deletes the previous tomcat installation and re-installs tomcat
+ </listitem>
+ <listitem>
+ <literal>reinstall.tomcat.and.jbpm</literal>: Deletes the previous tomcat installation and re-installs tomcat and installs jbpm in it
+ </listitem>
+ <listitem>
+ <literal>start.eclipse</literal>: Starts eclipse
+ </listitem>
+ <listitem>
+ <literal>start.jboss</literal>: Starts jboss and waits till jboss is booted, then lets jboss run in the background
+ </listitem>
+ <listitem>
+ <literal>start.tomcat</literal>: Starts Tomcat and waits till it is booted, then lets Tomcat run in the background
+ </listitem>
+ <listitem>
+ <literal>stop.jboss</literal>: signals jboss to stop, but doesn't wait till its finished
+ </listitem>
+ <listitem>
+ <literal>stop.tomcat</literal>: Signals Tomcat to stop, but doesn't wait till its finished
+ </listitem>
+ <listitem>
+ <literal>upgrade.jbpm.schema</literal>: Upgrades the jBPM tables in the database to the current version
+ </listitem>
+ </itemizedlist>
</para>
- <para>The scripts are parametrized with default values.
+ <para>To specify your jdbc properties that are used in the scripts above (eg.DB schema generation),
+ the easiest is to update the appropriate properties file in directory <literal>${jbpm.home}/install/jdbc</literal>.
+ The appropriate properties file will be loaded by the scripts that are DB related.
</para>
- <para>To specify your jdbc properties that are used in the DB schema generation, direct DB access like
- deployment and for the JBoss datasource creation, the easiest is to update the appropriate
- properties file in directory <literal>${jbpm.home}/install/jdbc</literal>. The appropriate properties
- file will be loaded by the scripts that are DB related.
- </para>
- <para>Also following properties you might want to customize:</para>
+ <para>Also following properties are customizeable</para>
<itemizedlist>
<listitem><literal>database</literal> : Default value is <literal>hsqldb</literal>. Alternative values
are <literal>mysql</literal>, <literal>oracle</literal> and <literal>postgresql</literal></listitem>
@@ -152,7 +278,7 @@
to customize the path to your JBoss installation.
</para>
<para>In JBoss, the <literal>ProcessEngine</literal> can be obtained from JNDI
- with <literal>new InitialContext().lookup("java:/ProcessEngine")</literal>
+ with <literal>new InitialContext().lookup("java:/ProcessEngine")</literal>.
The same ProcessEngine can be obtained with <literal>Configuration.getProcessEngine()</literal>
</para>
</section>
@@ -170,10 +296,6 @@
<literal>install.signavio.into.tomcat</literal> will install the Signavio web based
process editor into JBoss or Tomcat respectively.
</para>
- <para>The signavio webapp is not yet part of the default installation scripts
- as it depends on JDK 6.
- </para>
- <para>After the application started, </para>
</section>
<section id="userwebapp">
@@ -205,7 +327,7 @@
creating tables and constraints, the mentioned target will initialize
table <literal>JBPM4_PROPERTY</literal> with the current engine version
(key <literal>db.version</literal>) and the ID generator base value
- (key <literal>next.dbid</literal>.</para>
+ (key <literal>next.dbid</literal>).</para>
<para>To drop the schema, simply run target <literal>drop.jbpm.schema</literal>.
Be aware that this operation will destroy any data present in the jBPM
tables.</para>
16 years, 6 months
JBoss JBPM SVN: r5819 - jbpm4/trunk/modules/api/src/main/resources.
by do-not-reply@jboss.org
Author: koen.aers(a)jboss.com
Date: 2009-10-27 12:27:14 -0400 (Tue, 27 Oct 2009)
New Revision: 5819
Added:
jbpm4/trunk/modules/api/src/main/resources/jpdl-4.2.xsd
Removed:
jbpm4/trunk/modules/api/src/main/resources/jpdl-4.2.xsd
Log:
Deleted: jbpm4/trunk/modules/api/src/main/resources/jpdl-4.2.xsd
===================================================================
--- jbpm4/trunk/modules/api/src/main/resources/jpdl-4.2.xsd 2009-10-27 15:57:27 UTC (rev 5818)
+++ jbpm4/trunk/modules/api/src/main/resources/jpdl-4.2.xsd 2009-10-27 16:27:14 UTC (rev 5819)
@@ -1,1226 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://jbpm.org/4.2/jpdl"
- xmlns:tns="http://jbpm.org/4.2/jpdl"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified">
-
- <annotation>
- <documentation>Schema for jPDL 4 process descriptions;
- element process is the top level element.
- </documentation>
- </annotation>
-
- <!-- ### PROCESS DEFINITION ############################################# -->
-
- <element name="process">
- <annotation><documentation>A jPDL process definition description; This
- is the top level element in a jPDL process file.</documentation></annotation>
- <complexType>
- <sequence minOccurs="0" maxOccurs="unbounded">
- <element name="description" minOccurs="0" type="string" />
- <element ref="tns:swimlane" minOccurs="0" maxOccurs="unbounded" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
- <group ref="tns:activityGroup" minOccurs="0" maxOccurs="unbounded" />
- </sequence>
- <attribute name="name" use="required" type="string">
- <annotation>
- <documentation>
- The process name. Multiple processes can be deployed with the same name, as long as they have a different
- version.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="key" type="string">
- <annotation>
- <documentation>
- The key can be used to provide a short acronym that will replace the name as the basis for the generated
- process definition id
- </documentation>
- </annotation>
- </attribute>
- <attribute name="version" type="int">
- <annotation>
- <documentation>
- Indicates the sequence number of this version for all processes with the same name. By specifying a version
- automatic deployment can figure out if this process is already deployed or not.
- </documentation>
- </annotation>
- </attribute>
- <anyAttribute processContents="skip">
- <annotation><documentation>for extensibility
- </documentation></annotation>
- </anyAttribute>
- </complexType>
- </element>
-
- <!-- ### ACTIVITIES ##################################################### -->
-
- <group name="activityGroup">
- <choice>
- <!-- ~~~ START ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="start">
- <annotation><documentation>Start event
- </documentation></annotation>
- <complexType>
- <sequence>
- <element name="description" minOccurs="0" type="string" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- </sequence>
- <attributeGroup ref="tns:activityAttributes" />
- <attribute name="form" type="string">
- <annotation><documentation>the resource name of the form in the
- deployment.</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <!-- ~~~ END ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="end">
- <annotation><documentation>End event.
- </documentation></annotation>
- <complexType>
- <sequence>
- <element name="description" minOccurs="0" type="string" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attributeGroup ref="tns:activityAttributes" />
- <attribute name="ends" default="process-instance">
- <simpleType>
- <restriction base="string">
- <enumeration value="execution"/>
- <enumeration value="process-instance"/>
- </restriction>
- </simpleType>
- </attribute>
- <attribute name="state" default="ended" type="string">
- <annotation><documentation>sets the state of the execution explicitely</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="end-cancel">
- <annotation><documentation>End cancel event.
- </documentation></annotation>
- <complexType>
- <sequence>
- <element name="description" minOccurs="0" type="string" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attributeGroup ref="tns:activityAttributes" />
- <attribute name="ends" default="process-instance">
- <simpleType>
- <restriction base="string">
- <enumeration value="execution"/>
- <enumeration value="process-instance"/>
- </restriction>
- </simpleType>
- </attribute>
- </complexType>
- </element>
-
- <element name="end-error">
- <annotation><documentation>End cancel event.
- </documentation></annotation>
- <complexType>
- <sequence>
- <element name="description" minOccurs="0" type="string" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attributeGroup ref="tns:activityAttributes" />
- <attribute name="ends" default="process-instance">
- <simpleType>
- <restriction base="string">
- <enumeration value="execution"/>
- <enumeration value="process-instance"/>
- </restriction>
- </simpleType>
- </attribute>
- </complexType>
- </element>
-
- <!-- ~~~ STATE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="state">
- <annotation><documentation>A wait state. When an execution arrives in this
- activity, the execution will wait until an external trigger is received
- with execution.signal() or execution.getActivityInstance().signal()
- </documentation></annotation>
- <complexType>
- <sequence>
- <element name="description" minOccurs="0" type="string" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
- <element name="transition" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <complexContent>
- <extension base="tns:transitionType">
- <sequence>
- <element ref="tns:timer" minOccurs="0" />
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- </element>
- </sequence>
- <attributeGroup ref="tns:activityAttributes" />
- </complexType>
- </element>
-
- <!-- ~~~ DECISION ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="decision">
- <annotation><documentation>Decision gateway: selects one path out of many alternatives.
- When an execution comes in, exactly one outgoing transition is taken.
- </documentation></annotation>
- <complexType>
- <sequence>
- <element name="description" minOccurs="0" type="string" />
- <element name="handler" minOccurs="0" type="tns:wireObjectType" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
- <element name="transition" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <complexContent>
- <extension base="tns:transitionType">
- <sequence>
- <element name="condition" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="handler" minOccurs="0" type="tns:wireObjectType" />
- </sequence>
- <attribute name="expr" type="string">
- <annotation><documentation>The script text that will be evaluated.
- </documentation></annotation>
- </attribute>
- <attribute name="lang" type="string">
- <annotation><documentation>Identification of the scripting language
- to use.</documentation></annotation>
- </attribute>
- </complexType>
- </element>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <!-- TODO add conditions -->
- </element>
- </sequence>
- <attributeGroup ref="tns:activityAttributes" />
- <attribute name="expr" type="string">
- <annotation><documentation>The script that will be evaluated and resolve to
- the name of the outgoing transition.
- </documentation></annotation>
- </attribute>
- <attribute name="lang" type="string">
- <annotation><documentation>Identification of the scripting language
- to use for the expr attribute.</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <!-- ~~~ FORK ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="fork">
- <annotation><documentation>Spawns multiple concurrent paths of
- execution.
- </documentation></annotation>
- <complexType>
- <sequence>
- <element name="description" minOccurs="0" type="string" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- </sequence>
- <attributeGroup ref="tns:activityAttributes" />
- </complexType>
- </element>
-
- <!-- ~~~ JOIN ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="join">
- <annotation><documentation>Spawns multiple concurrent paths of
- execution.
- </documentation></annotation>
- <complexType>
- <sequence>
- <element name="description" minOccurs="0" type="string" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- </sequence>
- <attributeGroup ref="tns:activityAttributes" />
- <attribute name="multiplicity" type="int" />
- <attribute name="lockmode" default="upgrade">
- <simpleType>
- <restriction base="string">
- <enumeration value="none"/>
- <enumeration value="read"/>
- <enumeration value="upgrade"/>
- <enumeration value="upgrade_nowait"/>
- <enumeration value="write"/>
- </restriction>
- </simpleType>
- </attribute>
- </complexType>
- </element>
-
- <!-- ~~~ SCRIPT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="script">
- <annotation><documentation>Evaluates a piece of text as a script
- </documentation></annotation>
- <complexType>
- <complexContent>
- <extension base="tns:scriptType">
- <sequence>
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- </sequence>
- <attributeGroup ref="tns:activityAttributes" />
- </extension>
- </complexContent>
- </complexType>
- </element>
-
- <!-- ~~~ HQL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="hql">
- <annotation><documentation>Performs a hibernate query
- </documentation></annotation>
- <complexType>
- <complexContent>
- <extension base="tns:qlType">
- <sequence>
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- </sequence>
- <attributeGroup ref="tns:activityAttributes" />
- </extension>
- </complexContent>
- </complexType>
- </element>
-
- <!-- ~~~ SQL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="sql">
- <annotation><documentation>Performs a hibernate SQL query
- </documentation></annotation>
- <complexType>
- <complexContent>
- <extension base="tns:qlType">
- <sequence>
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- </sequence>
- <attributeGroup ref="tns:activityAttributes" />
- </extension>
- </complexContent>
- </complexType>
- </element>
-
- <!-- ~~~ MAIL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="mail">
- <annotation><documentation>Sends an email
- </documentation></annotation>
- <complexType>
- <complexContent>
- <extension base="tns:mailType">
- <sequence>
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- </sequence>
- <attributeGroup ref="tns:activityAttributes" />
- </extension>
- </complexContent>
- </complexType>
- </element>
-
- <!-- ~~~ JAVA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="java">
- <annotation><documentation>Invokes a method on a java object.
- Either the java class is instantiated with reflection, or the
- java object is fetched from the environment. Then values from the
- environment are injected into the fields and a method is executed.
- </documentation></annotation>
- <complexType>
- <complexContent>
- <extension base="tns:javaType">
- <sequence>
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- </sequence>
- <attributeGroup ref="tns:activityAttributes" />
- </extension>
- </complexContent>
- </complexType>
- </element>
-
- <!-- ~~~ CUSTOM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="custom">
- <annotation><documentation>Uses a user defined, custom implementation of
- ActivityBehaviour
- </documentation></annotation>
- <complexType>
- <complexContent>
- <extension base="tns:wireObjectType">
- <sequence>
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- </sequence>
- <attributeGroup ref="tns:activityAttributes" />
- </extension>
- </complexContent>
- </complexType>
- </element>
-
- <!-- ~~~ TASK ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="task">
- <annotation><documentation>Creates a task in the task component.
- </documentation></annotation>
- <complexType>
- <sequence>
- <element name="description" minOccurs="0" type="string" />
- <element name="assignment-handler" minOccurs="0" type="tns:wireObjectType" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
- <element name="notification" minOccurs="0">
- <complexType>
- <attribute name="continue" type="tns:continueType" default="sync" />
- <attribute name="template" type="tns:templateType" use="optional" />
- </complexType>
- </element>
- <element name="reminder" minOccurs="0">
- <complexType>
- <attribute name="duedate" type="string" />
- <attribute name="repeat" type="string" />
- <attribute name="continue" type="tns:continueType" default="sync" />
- <attribute name="template" type="tns:templateType" use="optional"/>
- </complexType>
- </element>
- <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
- <element name="transition" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <complexContent>
- <extension base="tns:transitionType">
- <sequence>
- <element ref="tns:timer" minOccurs="0" />
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- </element>
- </sequence>
- <attributeGroup ref="tns:activityAttributes" />
- <attributeGroup ref="tns:assignmentAttributes"/>
- <attribute name="swimlane" type="string" />
- <attribute name="form" type="string">
- <annotation><documentation>the resource name of the form in the
- deployment.</documentation></annotation>
- </attribute>
- <attribute name="duedate" type="string" />
- <attribute name="on-transition" default="cancel">
- <simpleType>
- <restriction base="string">
- <enumeration value="keep"/>
- <enumeration value="cancel"/>
- </restriction>
- </simpleType>
- </attribute>
- <attribute name="completion" type="string" default="complete" />
- </complexType>
- </element>
-
- <!-- ~~~ SUB-PROCESS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="sub-process">
- <annotation><documentation>Waits while a sub process instance is
- being executed and continues when the sub process instance ends.
- </documentation></annotation>
- <complexType>
- <sequence minOccurs="0" maxOccurs="unbounded">
- <element name="description" minOccurs="0" type="string" />
- <element name="parameter-in" type="tns:parameterType" minOccurs="0" maxOccurs="unbounded" />
- <element name="parameter-out" type="tns:parameterType" minOccurs="0" maxOccurs="unbounded" />
- <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
- </element>
- <element name="swimlane-mapping" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <attribute name="swimlane" type="string" use="required" />
- <attribute name="sub-swimlane" type="string" use="required" />
- </complexType>
- </element>
- <element name="transition" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <complexContent>
- <extension base="tns:transitionType">
- <sequence minOccurs="0" maxOccurs="unbounded">
- <element name="outcome-value">
- <complexType>
- <group ref="tns:wireObjectGroup" />
- </complexType>
- </element>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- </element>
- </sequence>
- <attribute name="sub-process-id" type="string">
- <annotation><documentation>Identifies the sub process by the id. This means that a specific
- version of a process definition is referenced
- </documentation></annotation>
- </attribute>
- <attribute name="sub-process-key" type="string">
- <annotation><documentation>Identifies the sub process by the key. This means that the latest
- version of the process definition with the given key is referenced. The latest version
- of the process is looked up each time the activity executes.
- </documentation></annotation>
- </attribute>
- <attribute name="outcome" type="string">
- <annotation><documentation>Expression that is evaluated when the sub process
- instance ends. The value is then used for outcome transition mapping.
- </documentation></annotation>
- </attribute>
- <attributeGroup ref="tns:activityAttributes" />
- </complexType>
- </element>
-
- <!-- ~~~ group ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="group">
- <annotation><documentation>Scope enclosing a number of activities.
- </documentation></annotation>
- <complexType>
- <sequence>
- <element name="description" minOccurs="0" type="string" />
- <group ref="tns:activityGroup" minOccurs="0" maxOccurs="unbounded" />
- <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
- <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
- </element>
- <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attributeGroup ref="tns:activityAttributes" />
- </complexType>
- </element>
- </choice>
- </group>
-
- <group name="wireObjectGroup">
- <choice>
-
- <!-- SPECIAL OBJECTS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="null">
- <annotation><documentation>the null value
- </documentation></annotation>
- </element>
- <element name="ref">
- <annotation><documentation>A reference to an object in the current environment</documentation></annotation>
- <complexType>
- <attribute name="object" type="string" use="required">
- <annotation><documentation>The name of the referred object</documentation></annotation>
- </attribute>
- </complexType>
- </element>
- <element name="env-ref">
- <annotation><documentation>The current environment.
- </documentation></annotation>
- </element>
- <element name="jndi">
- <annotation><documentation>A lookup from JNDI through the InitialContext
- </documentation></annotation>
- <complexType>
- <attribute name="jndi-name" type="string" use="required" />
- </complexType>
- </element>
-
- <!-- COLLECTIONS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="list">
- <annotation><documentation>A java.util.List</documentation></annotation>
- <complexType>
- <choice minOccurs="0" maxOccurs="unbounded">
- <group ref="tns:wireObjectGroup" />
- </choice>
- <attribute name="class" type="string" default="java.util.ArrayList">
- <annotation><documentation>Implementation class for this list.
- </documentation></annotation>
- </attribute>
- <attribute name="synchronized" type="tns:booleanValueType" default="false">
- <annotation><documentation>Indicates if this collection should be synchronized
- with Collections.synchronizedList(List)</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="map">
- <annotation><documentation>A java.util.Map</documentation></annotation>
- <complexType>
- <choice minOccurs="0" maxOccurs="unbounded">
- <element name="entry">
- <complexType>
- <choice minOccurs="0">
- <element name="key" minOccurs="0">
- <complexType>
- <group ref="tns:wireObjectGroup" />
- </complexType>
- </element>
- <element name="value" minOccurs="0">
- <complexType>
- <group ref="tns:wireObjectGroup" />
- </complexType>
- </element>
- </choice>
- </complexType>
- </element>
- </choice>
- <attribute name="class" type="string" default="java.util.HashMap">
- <annotation><documentation>Implementation class for this map.
- </documentation></annotation>
- </attribute>
- <attribute name="synchronized" type="tns:booleanValueType" default="false">
- <annotation><documentation>Indicates if this collection should be synchronized
- with Collections.synchronizedList(List)</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="set">
- <annotation><documentation>A java.util.Set
- </documentation></annotation>
- <complexType>
- <choice minOccurs="0" maxOccurs="unbounded">
- <group ref="tns:wireObjectGroup" />
- </choice>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="class" type="string" default="java.util.HashList">
- <annotation><documentation>Implementation class for this set.
- </documentation></annotation>
- </attribute>
- <attribute name="synchronized" type="tns:booleanValueType" default="false">
- <annotation><documentation>Indicates if this collection should be synchronized
- with Collections.synchronizedSet(Set)</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="properties">
- <annotation><documentation>A java.util.Properties</documentation></annotation>
- <complexType>
- <choice minOccurs="0" maxOccurs="unbounded">
- <element name="property">
- <complexType>
- <attribute name="name" type="string" use="required" />
- <attribute name="value" type="string" use="required" />
- </complexType>
- </element>
- </choice>
- <attribute name="file" type="string">
- <annotation><documentation>A file on the file system</documentation></annotation>
- </attribute>
- <attribute name="resource" type="string">
- <annotation><documentation>A file as a resource in the classpath</documentation></annotation>
- </attribute>
- <attribute name="url" type="string">
- <annotation><documentation>the contents is fetched by loading a url</documentation></annotation>
- </attribute>
- <attribute name="is-xml" type="tns:booleanValueType">
- <annotation><documentation>optionally indicates if the content of referenced file in attributes
- 'file', 'resource' or 'url' is XML. The default is the
- plain properties format with a space or the equals character (=) separating key and value on
- each line.</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <!-- OBJECT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="object" type="tns:wireObjectType" />
-
- <!-- BASIC TYPES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="string">
- <complexType>
- <attribute name="name">
- <annotation><documentation>the name of the string object</documentation></annotation>
- </attribute>
- <attribute name="value">
- <annotation><documentation>the actual string value</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="byte">
- <annotation><documentation>A java.lang.Byte</documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="value" type="byte" use="required" />
- </complexType>
- </element>
- <element name="char">
- <annotation><documentation>A java.lang.Character</documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="value" use="required">
- <simpleType>
- <restriction base="string">
- <maxLength value="1" />
- </restriction>
- </simpleType>
- </attribute>
- </complexType>
- </element>
- <element name="double">
- <annotation><documentation>A java.lang.Double</documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="value" type="double" use="required" />
- </complexType>
- </element>
- <element name="false">
- <annotation><documentation>java.lang.Boolean.FALSE
- </documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- </complexType>
- </element>
- <element name="float">
- <annotation><documentation>A java.lang.Float
- </documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="value" type="float" use="required" />
- </complexType>
- </element>
- <element name="int">
- <annotation><documentation>A java.lang.Integer
- </documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="value" type="int" use="required"/>
- </complexType>
- </element>
- <element name="long">
- <annotation><documentation>A java.lang.Long</documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="value" type="long" use="required"/>
- </complexType>
- </element>
- <element name="short">
- <annotation><documentation>a java.lang.Short
- </documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- <attribute name="value" type="short" use="required"/>
- </complexType>
- </element>
- <element name="true">
- <annotation><documentation>java.lang.Boolean.TRUE
- </documentation></annotation>
- <complexType>
- <attribute name="name" type="string">
- <annotation><documentation>The name of the object. It's optional and serves
- as an id to refer to this object from other object declarations. This name can
- also be used lookup the object programmatically.</documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
-
- </choice>
- </group>
-
- <complexType name="wireObjectType">
- <annotation><documentation>Any java object that will be created by reflection. .
- <p>There are three main ways to create an object: by constructor or by a factory
- object or a static factory method.</p>
- <p><b>Using the constructor</b>: Then the <code>class</code> attribute must provide the
- fully qualified class name. In case another constructor then the default is
- targetted, a <code>constructor</code> child element can be provided.
- The <code>factory</code> attribute should not be provided for using a constructor.
- </p>
- <p><b>Using a factory</b>: Then the <code>factory</code> attribute or one
- <code>factory</code> element must be provided along with the attribute
- <code>method</code>.
- </p>
- <p><b>Using a static factory method</b>: Then the <code>class</code> and
- <code>method</code> attributes should be specified. There should be no
- reference to a <code>factory</code> attribute of element.
- </p>
- <p><b>Construction and initialization</b>: all objects (constructor and factory)
- are build in two phases: construction and initialisation phase. During construction
- all is done until a pointer is obtained to the object. In initialisation, operations
- are applied to the object until it is ready to be used. The separation between
- construction and initialisation is made to allow for bidirectional references. In
- that case, at least one of both ends can not be fully initialised before it is injected
- into the other end.
- </p>
- <p><b>Operations</b>: after construction, various operations can be applied to objects
- like e.g. direct field injection, injection through setters, method invocation,
- enlist with the standard transaction, subscribe the object as a listener to an observable
- </p>
- <p><b>Arguments</b>: There are two different places for arguments. The <code>arg</code>
- elements for the factory method invocation should be placed as child elements under the
- <code>object</code> element. The <code>arg</code> elements for the constructor should be
- placed as child elements under the <code>constructor</code> element.
- </p>
- </documentation></annotation>
- <choice minOccurs="0" maxOccurs="unbounded">
- <element name="description" minOccurs="0" maxOccurs="unbounded" type="string" />
- <element name="factory">
- <annotation><documentation>Contains one element that describes the factory object.</documentation></annotation>
- <complexType>
- <group ref="tns:wireObjectGroup" />
- </complexType>
- </element>
- <element name="constructor">
- <annotation><documentation>Specifies the arguments to use for a non-default constructor.</documentation></annotation>
- <complexType>
- <choice maxOccurs="unbounded">
- <element name="arg" type="tns:argType" />
- </choice>
- </complexType>
- </element>
- <element name="arg" type="tns:argType">
- <annotation><documentation>The factory method arguments.</documentation></annotation>
- </element>
- <element name="field">
- <annotation><documentation>Injects a value into a member field of this object.
- Exactly one child element must specify the value.
- </documentation></annotation>
- <complexType>
- <group ref="tns:wireObjectGroup" />
- <attribute name="name">
- <annotation><documentation>The member field name</documentation></annotation>
- </attribute>
- </complexType>
- </element>
- <element name="property">
- <annotation><documentation>Injects a value through a setter method.
- Exactly one child element must specify the value.
- </documentation></annotation>
- <complexType>
- <group ref="tns:wireObjectGroup" />
- <attribute name="name">
- <annotation><documentation>The name of the property (without the 'set' prefix)</documentation></annotation>
- </attribute>
- </complexType>
- </element>
- <element name="invoke">
- <annotation><documentation>Invokes a method</documentation></annotation>
- <complexType>
- <choice minOccurs="0" maxOccurs="unbounded">
- <element name="arg" type="tns:argType" />
- </choice>
- <attribute name="method" type="string" use="required">
- <annotation><documentation>the method name</documentation></annotation>
- </attribute>
- </complexType>
- </element>
- </choice>
- <attribute name="class" type="string">
- <annotation><documentation>The fully qualified class name</documentation></annotation>
- </attribute>
- <attribute name="expr" type="string">
- <annotation><documentation>The class to instantiate.
- </documentation></annotation>
- </attribute>
- <attribute name="lang" type="string">
- <annotation><documentation>The class to instantiate.
- </documentation></annotation>
- </attribute>
- <attribute name="factory" type="string">
- <annotation><documentation>The name of the factory object</documentation></annotation>
- </attribute>
- <attribute name="method" type="string">
- <annotation><documentation>The factory method name</documentation></annotation>
- </attribute>
- <attribute name="auto-wire" type="string">
- <annotation><documentation>Indicates if the member fields and setter properties
- should be automatically wired based on matching the property names and types with the
- object names and types</documentation></annotation>
- </attribute>
- </complexType>
-
- <complexType name="argType">
- <annotation><documentation>The method arguments.
- Each 'arg' element should have exactly one child element
- that represents the value of the argument.
- </documentation></annotation>
- <attribute name="type" type="string">
- <annotation><documentation>The java class name representing
- the type of the method. This is optional and can be used to
- indicate the appropriate method in case of method overloading.
- </documentation></annotation>
- </attribute>
- </complexType>
-
- <complexType name="javaType">
- <sequence>
- <element name="description" minOccurs="0" maxOccurs="unbounded" type="string" />
- <element name="field" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>Field injections from the environment
- invocation.</documentation></annotation>
- </element>
- <element name="arg" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>Method arguments.</documentation></annotation>
- </element>
- </sequence>
- <attribute name="method" type="string" use="required">
- <annotation><documentation>The name of the method to invoke.
- </documentation></annotation>
- </attribute>
- <attribute name="class" type="string">
- <annotation><documentation>The class to instantiate.
- </documentation></annotation>
- </attribute>
- <attribute name="expr" type="string">
- <annotation><documentation>Expression that resolves to the target object
- on which the method should be invoked.
- </documentation></annotation>
- </attribute>
- <attribute name="lang" type="string">
- <annotation><documentation>The language in which attribute 'expr' is to be
- resolved.
- </documentation></annotation>
- </attribute>
- <attribute name="var" type="string">
- <annotation><documentation>The variable name to store the return value
- </documentation></annotation>
- </attribute>
- </complexType>
-
- <complexType name="scriptType">
- <sequence>
- <element name="description" minOccurs="0" maxOccurs="unbounded" type="string" />
- <element name="text" type="string" minOccurs="0">
- <annotation><documentation>The content of this expression element
- is the script text that will be evaluated. This is mutually
- exclusive with the expression attribute.</documentation></annotation>
- </element>
- </sequence>
- <attribute name="expr" type="string">
- <annotation><documentation>The script text that will be evaluated. This
- is mutually exclusive with the expression element.
- </documentation></annotation>
- </attribute>
- <attribute name="lang" type="string">
- <annotation><documentation>Identification of the scripting language
- to use.</documentation></annotation>
- </attribute>
- <attribute name="var" type="string">
- <annotation><documentation>Name of the variable in which the result
- of the script evaluation will be stored</documentation></annotation>
- </attribute>
- </complexType>
-
- <complexType name="qlType">
- <sequence>
- <element name="description" minOccurs="0" maxOccurs="unbounded" type="string" />
- <element name="query" type="string">
- <annotation><documentation>The query text.</documentation></annotation>
- </element>
- <element name="parameters" minOccurs="0">
- <annotation><documentation>Query parameters.</documentation></annotation>
- <complexType>
- <sequence>
- <group ref="tns:wireObjectGroup" maxOccurs="unbounded" />
- </sequence>
- </complexType>
- </element>
- </sequence>
- <attribute name="var" type="string">
- <annotation><documentation>Name of the variable in which the result
- of the script evaluation will be stored</documentation></annotation>
- </attribute>
- <attribute name="unique" type="string">
- <annotation><documentation>Does this query return a unique result or a list
- </documentation></annotation>
- </attribute>
- </complexType>
-
- <attributeGroup name="activityAttributes">
- <attribute name="name" type="string">
- <annotation><documentation>The id of this activity. The name should be unique
- in the complete scope of the process.</documentation></annotation>
- </attribute>
- <attribute name="g" type="string">
- <annotation><documentation>Graphical information used by process designer tool.
- </documentation></annotation>
- </attribute>
- <attribute name="continue" default="sync" type="tns:continueType">
- <annotation><documentation>To specify async continuations.
- sync is the default.
- </documentation></annotation>
- </attribute>
- </attributeGroup>
-
- <simpleType name="continueType">
- <restriction base="string">
- <enumeration value="async" />
- <enumeration value="sync" />
- <enumeration value="exclusive" />
- </restriction>
- </simpleType>
-
-
- <attributeGroup name="assignmentAttributes">
- <annotation><documentation>the assignment attributes will be used in
- tasks and swimlanes to specify to whom these respectively are assigned.
- </documentation></annotation>
- <attribute name="assignee" type="string">
- <annotation><documentation>Expression that resolves to a userId referencing
- the person to which the task or swimlane will be assigned.
- </documentation></annotation>
- </attribute>
- <attribute name="assignee-lang" type="string">
- <annotation><documentation>Expression language for the assignee attribute.
- </documentation></annotation>
- </attribute>
- <attribute name="candidate-users" type="string">
- <annotation><documentation>Expression that resolves to a comma separated
- list of userId's. All the referred people will be candidates for
- take the task or swimlane.</documentation></annotation>
- </attribute>
- <attribute name="candidate-users-lang" type="string">
- <annotation><documentation>Expression language for the
- candidate-users attribute.</documentation></annotation>
- </attribute>
- <attribute name="candidate-groups" type="string">
- <annotation><documentation>Resolves to a comma separated list of groupId's.
- All the referred people will be candidates to
- take the task or swimlane.</documentation></annotation>
- </attribute>
- <attribute name="candidate-groups-lang" type="string">
- <annotation><documentation>Expression language for the
- candidate-groups attribute.</documentation></annotation>
- </attribute>
- </attributeGroup>
-
- <element name="swimlane">
- <annotation><documentation>A process role.</documentation></annotation>
- <complexType>
- <sequence>
- <element name="description" minOccurs="0" type="string" />
- </sequence>
- <attribute name="name" type="string" use="required" />
- <attributeGroup ref="tns:assignmentAttributes" />
- </complexType>
- </element>
-
- <complexType name="transitionType">
- <annotation><documentation>The outgoing transitions. The first in the list
- will be the default outgoing transition.
- </documentation></annotation>
- <sequence>
- <element name="description" minOccurs="0" maxOccurs="unbounded" type="string" />
- <group ref="tns:eventListenerGroup" minOccurs="0" maxOccurs="unbounded" />
- </sequence>
- <attribute name="name" type="string">
- <annotation><documentation>Name of this outgoing transition</documentation></annotation>
- </attribute>
- <attribute name="to" type="string">
- <annotation><documentation>Name of the destination activity of this transition.
- </documentation></annotation>
- </attribute>
- <attribute name="g" type="string">
- <annotation><documentation>Graphical information used by process designer tool.
- </documentation></annotation>
- </attribute>
- </complexType>
-
- <element name="transition" type="tns:transitionType">
- <annotation><documentation>A transition from one activity to another.</documentation></annotation>
- </element>
-
- <element name="on">
- <complexType>
- <sequence>
- <element ref="tns:timer" minOccurs="0" />
- <group ref="tns:eventListenerGroup" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>A list of event listeners that will
- be notified when the event is fired</documentation></annotation>
- </group>
- </sequence>
- <attribute name="event" type="string">
- <annotation><documentation>The event identification. start, end, take or
- any other custom event.
- </documentation></annotation>
- </attribute>
- <attribute name="continue" type="tns:continueType" default="sync" />
- </complexType>
- </element>
-
- <complexType name="parameterType">
- <attribute name="subvar" type="string">
- <annotation><documentation>The name of the sub process variable.
- </documentation></annotation>
- </attribute>
- <attribute name="expr" type="string">
- <annotation><documentation>An expression for which the resulting
- value will be used as value.
- </documentation></annotation>
- </attribute>
- <attribute name="lang" type="string">
- <annotation><documentation>Language of the expression.
- </documentation></annotation>
- </attribute>
- <attribute name="var" type="string">
- <annotation><documentation>Name of the process variable
- in the super process execution..
- </documentation></annotation>
- </attribute>
- </complexType>
-
-
- <element name="timer">
- <complexType>
- <sequence>
- <annotation><documentation>A list of event listeners that will
- be notified when the timer fires</documentation></annotation>
- <element name="description" minOccurs="0" type="string" />
- <group ref="tns:eventListenerGroup" minOccurs="0" maxOccurs="unbounded">
- </group>
- </sequence>
- <attribute name="duedate" type="string">
- <annotation><documentation>Timer duedate expression that defines the duedate of this
- timer relative to the creation time of the timer. E.g. '2 hours' or '4 business days'
- </documentation></annotation>
- </attribute>
- <attribute name="repeat" type="string">
- <annotation><documentation>Timer duedate expression that defines repeated scheduling
- relative to the last timer fire event. E.g. '2 hours' or '4 business days'
- </documentation></annotation>
- </attribute>
- <attribute name="duedatetime" type="string">
- <annotation><documentation>Absolute time in format <code>HH:mm dd/MM/yyyy</code>
- (see SimpleDateFormat). The format for the absolute time can be customized in the
- jbpm configuration.
- </documentation></annotation>
- </attribute>
- </complexType>
- </element>
-
- <group name="eventListenerGroup">
- <choice>
- <element name="event-listener" type="tns:wireObjectType" />
- <element name="hql" type="tns:qlType" />
- <element name="sql" type="tns:qlType" />
- <element name="java" type="tns:javaType" />
- <element name="script" type="tns:scriptType" />
- <element name="mail" type="tns:mailType" />
- </choice>
- </group>
-
- <complexType name="mailType">
- <sequence>
- <element name="description" minOccurs="0" maxOccurs="unbounded" type="string" />
- <element name="from" type="tns:mailRecipientType" minOccurs="0" />
- <element name="to" type="tns:mailRecipientType" minOccurs="0" />
- <element name="cc" type="tns:mailRecipientType" minOccurs="0" />
- <element name="bcc" type="tns:mailRecipientType" minOccurs="0" />
- <element name="subject" type="string" minOccurs="0" />
- <element name="text" type="string" minOccurs="0" />
- <element name="html" type="string" minOccurs="0" />
- <element name="attachments" minOccurs="0" >
- <complexType>
- <sequence>
- <element name="attachment" maxOccurs="unbounded">
- <complexType>
- <attribute name="url" type="string">
- <annotation><documentation>URL reference to the attachment</documentation></annotation>
- </attribute>
- <attribute name="resource" type="string">
- <annotation><documentation>Name of the attachment resource on the classpath</documentation></annotation>
- </attribute>
- <attribute name="file" type="string">
- <annotation><documentation>File reference to the attachment</documentation></annotation>
- </attribute>
- </complexType>
- </element>
- </sequence>
- </complexType>
- </element>
- </sequence>
- <attribute name="template" type="tns:templateType" />
- </complexType>
-
- <complexType name="mailRecipientType">
- <attribute name="addresses" type="string">
- <annotation><documentation>list of email address separated by ',' (comma) ';' (semicolon) '|' or whitespace</documentation></annotation>
- </attribute>
- <attribute name="users" type="string">
- <annotation><documentation>list of user ids that are resolved to the email address against configured identity component.
- user ids should be separated by ',' (comma) ';' (semicolon) '|' or whitespace</documentation></annotation>
- </attribute>
- <attribute name="groups" type="string">
- <annotation><documentation>list of group ids that are resolved to the email address against configured identity component.
- group ids should be separated by ',' (comma) ';' (semicolon) '|' or whitespace</documentation></annotation>
- </attribute>
- </complexType>
-
- <simpleType name="booleanValueType">
- <restriction base="string">
- <enumeration value="true" />
- <enumeration value="on" />
- <enumeration value="enabled" />
- <enumeration value="false" />
- <enumeration value="off" />
- <enumeration value="disabled" />
- </restriction>
- </simpleType>
-
-
- <simpleType name="templateType">
- <annotation><documentation>Reference to the email template</documentation></annotation>
- <restriction base="string"></restriction>
- </simpleType>
-
- <element name="migrate-instances">
- <annotation><documentation>Information to migrate instances of previously deployed process definitions
- to the new one</documentation></annotation>
- <complexType>
- <sequence>
- <element name="activity-mapping" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>One activity mapping will be present for each activity of which the name changed.</documentation></annotation>
- <complexType>
- <attribute name="old-name" type="string" use="required">
- <annotation><documentation>The name of the activity in the previously deployed process definition.</documentation></annotation>
- </attribute>
- <attribute name="new-name" type="string" use="required">
- <annotation><documentation>The name of the activity in the newly deployed process definition</documentation></annotation>
- </attribute>
- </complexType>
- </element>
- </sequence>
- </complexType>
- </element>
-
-
-</schema>
Added: jbpm4/trunk/modules/api/src/main/resources/jpdl-4.2.xsd
===================================================================
--- jbpm4/trunk/modules/api/src/main/resources/jpdl-4.2.xsd (rev 0)
+++ jbpm4/trunk/modules/api/src/main/resources/jpdl-4.2.xsd 2009-10-27 16:27:14 UTC (rev 5819)
@@ -0,0 +1,1241 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://jbpm.org/4.2/jpdl"
+ xmlns:tns="http://jbpm.org/4.2/jpdl"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <annotation>
+ <documentation>Schema for jPDL 4 process descriptions;
+ element process is the top level element.
+ </documentation>
+ </annotation>
+
+ <!-- ### PROCESS DEFINITION ############################################# -->
+
+ <element name="process">
+ <annotation><documentation>A jPDL process definition description; This
+ is the top level element in a jPDL process file.</documentation></annotation>
+ <complexType>
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <element name="description" minOccurs="0" type="string" />
+ <element ref="tns:swimlane" minOccurs="0" maxOccurs="unbounded" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
+ <group ref="tns:activityGroup" minOccurs="0" maxOccurs="unbounded" />
+ <element ref="tns:migrate-instances" minOccurs="0" maxOccurs="1" />
+ </sequence>
+ <attribute name="name" use="required" type="string">
+ <annotation>
+ <documentation>
+ The process name. Multiple processes can be deployed with the same name, as long as they have a different
+ version.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="key" type="string">
+ <annotation>
+ <documentation>
+ The key can be used to provide a short acronym that will replace the name as the basis for the generated
+ process definition id
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="version" type="int">
+ <annotation>
+ <documentation>
+ Indicates the sequence number of this version for all processes with the same name. By specifying a version
+ automatic deployment can figure out if this process is already deployed or not.
+ </documentation>
+ </annotation>
+ </attribute>
+ <anyAttribute processContents="skip">
+ <annotation><documentation>for extensibility
+ </documentation></annotation>
+ </anyAttribute>
+ </complexType>
+ </element>
+
+ <!-- ### ACTIVITIES ##################################################### -->
+
+ <group name="activityGroup">
+ <choice>
+ <!-- ~~~ START ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="start">
+ <annotation><documentation>Start event
+ </documentation></annotation>
+ <complexType>
+ <sequence>
+ <element name="description" minOccurs="0" type="string" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <attributeGroup ref="tns:activityAttributes" />
+ <attribute name="form" type="string">
+ <annotation><documentation>the resource name of the form in the
+ deployment.</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <!-- ~~~ END ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="end">
+ <annotation><documentation>End event.
+ </documentation></annotation>
+ <complexType>
+ <sequence>
+ <element name="description" minOccurs="0" type="string" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attributeGroup ref="tns:activityAttributes" />
+ <attribute name="ends" default="process-instance">
+ <simpleType>
+ <restriction base="string">
+ <enumeration value="execution"/>
+ <enumeration value="process-instance"/>
+ </restriction>
+ </simpleType>
+ </attribute>
+ <attribute name="state" default="ended" type="string">
+ <annotation><documentation>sets the state of the execution explicitely</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="end-cancel">
+ <annotation><documentation>End cancel event.
+ </documentation></annotation>
+ <complexType>
+ <sequence>
+ <element name="description" minOccurs="0" type="string" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attributeGroup ref="tns:activityAttributes" />
+ <attribute name="ends" default="process-instance">
+ <simpleType>
+ <restriction base="string">
+ <enumeration value="execution"/>
+ <enumeration value="process-instance"/>
+ </restriction>
+ </simpleType>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="end-error">
+ <annotation><documentation>End cancel event.
+ </documentation></annotation>
+ <complexType>
+ <sequence>
+ <element name="description" minOccurs="0" type="string" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attributeGroup ref="tns:activityAttributes" />
+ <attribute name="ends" default="process-instance">
+ <simpleType>
+ <restriction base="string">
+ <enumeration value="execution"/>
+ <enumeration value="process-instance"/>
+ </restriction>
+ </simpleType>
+ </attribute>
+ </complexType>
+ </element>
+
+ <!-- ~~~ STATE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="state">
+ <annotation><documentation>A wait state. When an execution arrives in this
+ activity, the execution will wait until an external trigger is received
+ with execution.signal() or execution.getActivityInstance().signal()
+ </documentation></annotation>
+ <complexType>
+ <sequence>
+ <element name="description" minOccurs="0" type="string" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+ <element name="transition" minOccurs="0" maxOccurs="unbounded">
+ <complexType>
+ <complexContent>
+ <extension base="tns:transitionType">
+ <sequence>
+ <element ref="tns:timer" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+ </sequence>
+ <attributeGroup ref="tns:activityAttributes" />
+ </complexType>
+ </element>
+
+ <!-- ~~~ DECISION ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="decision">
+ <annotation><documentation>Decision gateway: selects one path out of many alternatives.
+ When an execution comes in, exactly one outgoing transition is taken.
+ </documentation></annotation>
+ <complexType>
+ <sequence>
+ <element name="description" minOccurs="0" type="string" />
+ <element name="handler" minOccurs="0" type="tns:wireObjectType" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+ <element name="transition" minOccurs="0" maxOccurs="unbounded">
+ <complexType>
+ <complexContent>
+ <extension base="tns:transitionType">
+ <sequence>
+ <element name="condition" minOccurs="0" maxOccurs="unbounded">
+ <complexType>
+ <sequence>
+ <element name="handler" minOccurs="0" type="tns:wireObjectType" />
+ </sequence>
+ <attribute name="expr" type="string">
+ <annotation><documentation>The script text that will be evaluated.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="lang" type="string">
+ <annotation><documentation>Identification of the scripting language
+ to use.</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <!-- TODO add conditions -->
+ </element>
+ </sequence>
+ <attributeGroup ref="tns:activityAttributes" />
+ <attribute name="expr" type="string">
+ <annotation><documentation>The script that will be evaluated and resolve to
+ the name of the outgoing transition.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="lang" type="string">
+ <annotation><documentation>Identification of the scripting language
+ to use for the expr attribute.</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <!-- ~~~ FORK ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="fork">
+ <annotation><documentation>Spawns multiple concurrent paths of
+ execution.
+ </documentation></annotation>
+ <complexType>
+ <sequence>
+ <element name="description" minOccurs="0" type="string" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <attributeGroup ref="tns:activityAttributes" />
+ </complexType>
+ </element>
+
+ <!-- ~~~ JOIN ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="join">
+ <annotation><documentation>Spawns multiple concurrent paths of
+ execution.
+ </documentation></annotation>
+ <complexType>
+ <sequence>
+ <element name="description" minOccurs="0" type="string" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <attributeGroup ref="tns:activityAttributes" />
+ <attribute name="multiplicity" type="int" />
+ <attribute name="lockmode" default="upgrade">
+ <simpleType>
+ <restriction base="string">
+ <enumeration value="none"/>
+ <enumeration value="read"/>
+ <enumeration value="upgrade"/>
+ <enumeration value="upgrade_nowait"/>
+ <enumeration value="write"/>
+ </restriction>
+ </simpleType>
+ </attribute>
+ </complexType>
+ </element>
+
+ <!-- ~~~ SCRIPT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="script">
+ <annotation><documentation>Evaluates a piece of text as a script
+ </documentation></annotation>
+ <complexType>
+ <complexContent>
+ <extension base="tns:scriptType">
+ <sequence>
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <attributeGroup ref="tns:activityAttributes" />
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+
+ <!-- ~~~ HQL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="hql">
+ <annotation><documentation>Performs a hibernate query
+ </documentation></annotation>
+ <complexType>
+ <complexContent>
+ <extension base="tns:qlType">
+ <sequence>
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <attributeGroup ref="tns:activityAttributes" />
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+
+ <!-- ~~~ SQL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="sql">
+ <annotation><documentation>Performs a hibernate SQL query
+ </documentation></annotation>
+ <complexType>
+ <complexContent>
+ <extension base="tns:qlType">
+ <sequence>
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <attributeGroup ref="tns:activityAttributes" />
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+
+ <!-- ~~~ MAIL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="mail">
+ <annotation><documentation>Sends an email
+ </documentation></annotation>
+ <complexType>
+ <complexContent>
+ <extension base="tns:mailType">
+ <sequence>
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <attributeGroup ref="tns:activityAttributes" />
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+
+ <!-- ~~~ JAVA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="java">
+ <annotation><documentation>Invokes a method on a java object.
+ Either the java class is instantiated with reflection, or the
+ java object is fetched from the environment. Then values from the
+ environment are injected into the fields and a method is executed.
+ </documentation></annotation>
+ <complexType>
+ <complexContent>
+ <extension base="tns:javaType">
+ <sequence>
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <attributeGroup ref="tns:activityAttributes" />
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+
+ <!-- ~~~ CUSTOM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="custom">
+ <annotation><documentation>Uses a user defined, custom implementation of
+ ActivityBehaviour
+ </documentation></annotation>
+ <complexType>
+ <complexContent>
+ <extension base="tns:wireObjectType">
+ <sequence>
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <attributeGroup ref="tns:activityAttributes" />
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+
+ <!-- ~~~ TASK ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="task">
+ <annotation><documentation>Creates a task in the task component.
+ </documentation></annotation>
+ <complexType>
+ <sequence>
+ <element name="description" minOccurs="0" type="string" />
+ <element name="assignment-handler" minOccurs="0" type="tns:wireObjectType" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+ <element name="notification" minOccurs="0">
+ <complexType>
+ <attribute name="continue" type="tns:continueType" default="sync" />
+ <attribute name="template" type="tns:templateType" use="optional" />
+ </complexType>
+ </element>
+ <element name="reminder" minOccurs="0">
+ <complexType>
+ <attribute name="duedate" type="string" />
+ <attribute name="repeat" type="string" />
+ <attribute name="continue" type="tns:continueType" default="sync" />
+ <attribute name="template" type="tns:templateType" use="optional"/>
+ </complexType>
+ </element>
+ <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
+ <element name="transition" minOccurs="0" maxOccurs="unbounded">
+ <complexType>
+ <complexContent>
+ <extension base="tns:transitionType">
+ <sequence>
+ <element ref="tns:timer" minOccurs="0" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+ </sequence>
+ <attributeGroup ref="tns:activityAttributes" />
+ <attributeGroup ref="tns:assignmentAttributes"/>
+ <attribute name="swimlane" type="string" />
+ <attribute name="form" type="string">
+ <annotation><documentation>the resource name of the form in the
+ deployment.</documentation></annotation>
+ </attribute>
+ <attribute name="duedate" type="string" />
+ <attribute name="on-transition" default="cancel">
+ <simpleType>
+ <restriction base="string">
+ <enumeration value="keep"/>
+ <enumeration value="cancel"/>
+ </restriction>
+ </simpleType>
+ </attribute>
+ <attribute name="completion" type="string" default="complete" />
+ </complexType>
+ </element>
+
+ <!-- ~~~ SUB-PROCESS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="sub-process">
+ <annotation><documentation>Waits while a sub process instance is
+ being executed and continues when the sub process instance ends.
+ </documentation></annotation>
+ <complexType>
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <element name="description" minOccurs="0" type="string" />
+ <element name="parameter-in" type="tns:parameterType" minOccurs="0" maxOccurs="unbounded" />
+ <element name="parameter-out" type="tns:parameterType" minOccurs="0" maxOccurs="unbounded" />
+ <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
+ </element>
+ <element name="swimlane-mapping" minOccurs="0" maxOccurs="unbounded">
+ <complexType>
+ <attribute name="swimlane" type="string" use="required" />
+ <attribute name="sub-swimlane" type="string" use="required" />
+ </complexType>
+ </element>
+ <element name="transition" minOccurs="0" maxOccurs="unbounded">
+ <complexType>
+ <complexContent>
+ <extension base="tns:transitionType">
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <element name="outcome-value">
+ <complexType>
+ <group ref="tns:wireObjectGroup" />
+ </complexType>
+ </element>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ </element>
+ </sequence>
+ <attribute name="sub-process-id" type="string">
+ <annotation><documentation>Identifies the sub process by the id. This means that a specific
+ version of a process definition is referenced
+ </documentation></annotation>
+ </attribute>
+ <attribute name="sub-process-key" type="string">
+ <annotation><documentation>Identifies the sub process by the key. This means that the latest
+ version of the process definition with the given key is referenced. The latest version
+ of the process is looked up each time the activity executes.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="outcome" type="string">
+ <annotation><documentation>Expression that is evaluated when the sub process
+ instance ends. The value is then used for outcome transition mapping.
+ </documentation></annotation>
+ </attribute>
+ <attributeGroup ref="tns:activityAttributes" />
+ </complexType>
+ </element>
+
+ <!-- ~~~ group ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="group">
+ <annotation><documentation>Scope enclosing a number of activities.
+ </documentation></annotation>
+ <complexType>
+ <sequence>
+ <element name="description" minOccurs="0" type="string" />
+ <group ref="tns:activityGroup" minOccurs="0" maxOccurs="unbounded" />
+ <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+ <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
+ </element>
+ <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attributeGroup ref="tns:activityAttributes" />
+ </complexType>
+ </element>
+ </choice>
+ </group>
+
+ <group name="wireObjectGroup">
+ <choice>
+
+ <!-- SPECIAL OBJECTS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="null">
+ <annotation><documentation>the null value
+ </documentation></annotation>
+ </element>
+ <element name="ref">
+ <annotation><documentation>A reference to an object in the current environment</documentation></annotation>
+ <complexType>
+ <attribute name="object" type="string" use="required">
+ <annotation><documentation>The name of the referred object</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+ <element name="env-ref">
+ <annotation><documentation>The current environment.
+ </documentation></annotation>
+ </element>
+ <element name="jndi">
+ <annotation><documentation>A lookup from JNDI through the InitialContext
+ </documentation></annotation>
+ <complexType>
+ <attribute name="jndi-name" type="string" use="required" />
+ </complexType>
+ </element>
+
+ <!-- COLLECTIONS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="list">
+ <annotation><documentation>A java.util.List</documentation></annotation>
+ <complexType>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <group ref="tns:wireObjectGroup" />
+ </choice>
+ <attribute name="class" type="string" default="java.util.ArrayList">
+ <annotation><documentation>Implementation class for this list.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="synchronized" type="tns:booleanValueType" default="false">
+ <annotation><documentation>Indicates if this collection should be synchronized
+ with Collections.synchronizedList(List)</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="map">
+ <annotation><documentation>A java.util.Map</documentation></annotation>
+ <complexType>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="entry">
+ <complexType>
+ <choice minOccurs="0">
+ <element name="key" minOccurs="0">
+ <complexType>
+ <group ref="tns:wireObjectGroup" />
+ </complexType>
+ </element>
+ <element name="value" minOccurs="0">
+ <complexType>
+ <group ref="tns:wireObjectGroup" />
+ </complexType>
+ </element>
+ </choice>
+ </complexType>
+ </element>
+ </choice>
+ <attribute name="class" type="string" default="java.util.HashMap">
+ <annotation><documentation>Implementation class for this map.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="synchronized" type="tns:booleanValueType" default="false">
+ <annotation><documentation>Indicates if this collection should be synchronized
+ with Collections.synchronizedList(List)</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="set">
+ <annotation><documentation>A java.util.Set
+ </documentation></annotation>
+ <complexType>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <group ref="tns:wireObjectGroup" />
+ </choice>
+ <attribute name="name" type="string">
+ <annotation><documentation>The name of the object. It's optional and serves
+ as an id to refer to this object from other object declarations. This name can
+ also be used lookup the object programmatically.</documentation></annotation>
+ </attribute>
+ <attribute name="class" type="string" default="java.util.HashList">
+ <annotation><documentation>Implementation class for this set.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="synchronized" type="tns:booleanValueType" default="false">
+ <annotation><documentation>Indicates if this collection should be synchronized
+ with Collections.synchronizedSet(Set)</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="properties">
+ <annotation><documentation>A java.util.Properties</documentation></annotation>
+ <complexType>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="property">
+ <complexType>
+ <attribute name="name" type="string" use="required" />
+ <attribute name="value" type="string" use="required" />
+ </complexType>
+ </element>
+ </choice>
+ <attribute name="file" type="string">
+ <annotation><documentation>A file on the file system</documentation></annotation>
+ </attribute>
+ <attribute name="resource" type="string">
+ <annotation><documentation>A file as a resource in the classpath</documentation></annotation>
+ </attribute>
+ <attribute name="url" type="string">
+ <annotation><documentation>the contents is fetched by loading a url</documentation></annotation>
+ </attribute>
+ <attribute name="is-xml" type="tns:booleanValueType">
+ <annotation><documentation>optionally indicates if the content of referenced file in attributes
+ 'file', 'resource' or 'url' is XML. The default is the
+ plain properties format with a space or the equals character (=) separating key and value on
+ each line.</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <!-- OBJECT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="object" type="tns:wireObjectType" />
+
+ <!-- BASIC TYPES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <element name="string">
+ <complexType>
+ <attribute name="name">
+ <annotation><documentation>the name of the string object</documentation></annotation>
+ </attribute>
+ <attribute name="value">
+ <annotation><documentation>the actual string value</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="byte">
+ <annotation><documentation>A java.lang.Byte</documentation></annotation>
+ <complexType>
+ <attribute name="name" type="string">
+ <annotation><documentation>The name of the object. It's optional and serves
+ as an id to refer to this object from other object declarations. This name can
+ also be used lookup the object programmatically.</documentation></annotation>
+ </attribute>
+ <attribute name="value" type="byte" use="required" />
+ </complexType>
+ </element>
+ <element name="char">
+ <annotation><documentation>A java.lang.Character</documentation></annotation>
+ <complexType>
+ <attribute name="name" type="string">
+ <annotation><documentation>The name of the object. It's optional and serves
+ as an id to refer to this object from other object declarations. This name can
+ also be used lookup the object programmatically.</documentation></annotation>
+ </attribute>
+ <attribute name="value" use="required">
+ <simpleType>
+ <restriction base="string">
+ <maxLength value="1" />
+ </restriction>
+ </simpleType>
+ </attribute>
+ </complexType>
+ </element>
+ <element name="double">
+ <annotation><documentation>A java.lang.Double</documentation></annotation>
+ <complexType>
+ <attribute name="name" type="string">
+ <annotation><documentation>The name of the object. It's optional and serves
+ as an id to refer to this object from other object declarations. This name can
+ also be used lookup the object programmatically.</documentation></annotation>
+ </attribute>
+ <attribute name="value" type="double" use="required" />
+ </complexType>
+ </element>
+ <element name="false">
+ <annotation><documentation>java.lang.Boolean.FALSE
+ </documentation></annotation>
+ <complexType>
+ <attribute name="name" type="string">
+ <annotation><documentation>The name of the object. It's optional and serves
+ as an id to refer to this object from other object declarations. This name can
+ also be used lookup the object programmatically.</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+ <element name="float">
+ <annotation><documentation>A java.lang.Float
+ </documentation></annotation>
+ <complexType>
+ <attribute name="name" type="string">
+ <annotation><documentation>The name of the object. It's optional and serves
+ as an id to refer to this object from other object declarations. This name can
+ also be used lookup the object programmatically.</documentation></annotation>
+ </attribute>
+ <attribute name="value" type="float" use="required" />
+ </complexType>
+ </element>
+ <element name="int">
+ <annotation><documentation>A java.lang.Integer
+ </documentation></annotation>
+ <complexType>
+ <attribute name="name" type="string">
+ <annotation><documentation>The name of the object. It's optional and serves
+ as an id to refer to this object from other object declarations. This name can
+ also be used lookup the object programmatically.</documentation></annotation>
+ </attribute>
+ <attribute name="value" type="int" use="required"/>
+ </complexType>
+ </element>
+ <element name="long">
+ <annotation><documentation>A java.lang.Long</documentation></annotation>
+ <complexType>
+ <attribute name="name" type="string">
+ <annotation><documentation>The name of the object. It's optional and serves
+ as an id to refer to this object from other object declarations. This name can
+ also be used lookup the object programmatically.</documentation></annotation>
+ </attribute>
+ <attribute name="value" type="long" use="required"/>
+ </complexType>
+ </element>
+ <element name="short">
+ <annotation><documentation>a java.lang.Short
+ </documentation></annotation>
+ <complexType>
+ <attribute name="name" type="string">
+ <annotation><documentation>The name of the object. It's optional and serves
+ as an id to refer to this object from other object declarations. This name can
+ also be used lookup the object programmatically.</documentation></annotation>
+ </attribute>
+ <attribute name="value" type="short" use="required"/>
+ </complexType>
+ </element>
+ <element name="true">
+ <annotation><documentation>java.lang.Boolean.TRUE
+ </documentation></annotation>
+ <complexType>
+ <attribute name="name" type="string">
+ <annotation><documentation>The name of the object. It's optional and serves
+ as an id to refer to this object from other object declarations. This name can
+ also be used lookup the object programmatically.</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+
+ </choice>
+ </group>
+
+ <complexType name="wireObjectType">
+ <annotation><documentation>Any java object that will be created by reflection. .
+ <p>There are three main ways to create an object: by constructor or by a factory
+ object or a static factory method.</p>
+ <p><b>Using the constructor</b>: Then the <code>class</code> attribute must provide the
+ fully qualified class name. In case another constructor then the default is
+ targetted, a <code>constructor</code> child element can be provided.
+ The <code>factory</code> attribute should not be provided for using a constructor.
+ </p>
+ <p><b>Using a factory</b>: Then the <code>factory</code> attribute or one
+ <code>factory</code> element must be provided along with the attribute
+ <code>method</code>.
+ </p>
+ <p><b>Using a static factory method</b>: Then the <code>class</code> and
+ <code>method</code> attributes should be specified. There should be no
+ reference to a <code>factory</code> attribute of element.
+ </p>
+ <p><b>Construction and initialization</b>: all objects (constructor and factory)
+ are build in two phases: construction and initialisation phase. During construction
+ all is done until a pointer is obtained to the object. In initialisation, operations
+ are applied to the object until it is ready to be used. The separation between
+ construction and initialisation is made to allow for bidirectional references. In
+ that case, at least one of both ends can not be fully initialised before it is injected
+ into the other end.
+ </p>
+ <p><b>Operations</b>: after construction, various operations can be applied to objects
+ like e.g. direct field injection, injection through setters, method invocation,
+ enlist with the standard transaction, subscribe the object as a listener to an observable
+ </p>
+ <p><b>Arguments</b>: There are two different places for arguments. The <code>arg</code>
+ elements for the factory method invocation should be placed as child elements under the
+ <code>object</code> element. The <code>arg</code> elements for the constructor should be
+ placed as child elements under the <code>constructor</code> element.
+ </p>
+ </documentation></annotation>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="description" minOccurs="0" maxOccurs="unbounded" type="string" />
+ <element name="factory">
+ <annotation><documentation>Contains one element that describes the factory object.</documentation></annotation>
+ <complexType>
+ <group ref="tns:wireObjectGroup" />
+ </complexType>
+ </element>
+ <element name="constructor">
+ <annotation><documentation>Specifies the arguments to use for a non-default constructor.</documentation></annotation>
+ <complexType>
+ <choice maxOccurs="unbounded">
+ <element name="arg" type="tns:argType" />
+ </choice>
+ </complexType>
+ </element>
+ <element name="arg" type="tns:argType">
+ <annotation><documentation>The factory method arguments.</documentation></annotation>
+ </element>
+ <element name="field">
+ <annotation><documentation>Injects a value into a member field of this object.
+ Exactly one child element must specify the value.
+ </documentation></annotation>
+ <complexType>
+ <group ref="tns:wireObjectGroup" />
+ <attribute name="name">
+ <annotation><documentation>The member field name</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+ <element name="property">
+ <annotation><documentation>Injects a value through a setter method.
+ Exactly one child element must specify the value.
+ </documentation></annotation>
+ <complexType>
+ <group ref="tns:wireObjectGroup" />
+ <attribute name="name">
+ <annotation><documentation>The name of the property (without the 'set' prefix)</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+ <element name="invoke">
+ <annotation><documentation>Invokes a method</documentation></annotation>
+ <complexType>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="arg" type="tns:argType" />
+ </choice>
+ <attribute name="method" type="string" use="required">
+ <annotation><documentation>the method name</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+ </choice>
+ <attribute name="class" type="string">
+ <annotation><documentation>The fully qualified class name</documentation></annotation>
+ </attribute>
+ <attribute name="expr" type="string">
+ <annotation><documentation>The class to instantiate.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="lang" type="string">
+ <annotation><documentation>The class to instantiate.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="factory" type="string">
+ <annotation><documentation>The name of the factory object</documentation></annotation>
+ </attribute>
+ <attribute name="method" type="string">
+ <annotation><documentation>The factory method name</documentation></annotation>
+ </attribute>
+ <attribute name="auto-wire" type="string">
+ <annotation><documentation>Indicates if the member fields and setter properties
+ should be automatically wired based on matching the property names and types with the
+ object names and types</documentation></annotation>
+ </attribute>
+ </complexType>
+
+ <complexType name="argType">
+ <annotation><documentation>The method arguments.
+ Each 'arg' element should have exactly one child element
+ that represents the value of the argument.
+ </documentation></annotation>
+ <attribute name="type" type="string">
+ <annotation><documentation>The java class name representing
+ the type of the method. This is optional and can be used to
+ indicate the appropriate method in case of method overloading.
+ </documentation></annotation>
+ </attribute>
+ </complexType>
+
+ <complexType name="javaType">
+ <sequence>
+ <element name="description" minOccurs="0" maxOccurs="unbounded" type="string" />
+ <element name="field" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>Field injections from the environment
+ invocation.</documentation></annotation>
+ </element>
+ <element name="arg" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>Method arguments.</documentation></annotation>
+ </element>
+ </sequence>
+ <attribute name="method" type="string" use="required">
+ <annotation><documentation>The name of the method to invoke.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="class" type="string">
+ <annotation><documentation>The class to instantiate.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="expr" type="string">
+ <annotation><documentation>Expression that resolves to the target object
+ on which the method should be invoked.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="lang" type="string">
+ <annotation><documentation>The language in which attribute 'expr' is to be
+ resolved.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="var" type="string">
+ <annotation><documentation>The variable name to store the return value
+ </documentation></annotation>
+ </attribute>
+ </complexType>
+
+ <complexType name="scriptType">
+ <sequence>
+ <element name="description" minOccurs="0" maxOccurs="unbounded" type="string" />
+ <element name="text" type="string" minOccurs="0">
+ <annotation><documentation>The content of this expression element
+ is the script text that will be evaluated. This is mutually
+ exclusive with the expression attribute.</documentation></annotation>
+ </element>
+ </sequence>
+ <attribute name="expr" type="string">
+ <annotation><documentation>The script text that will be evaluated. This
+ is mutually exclusive with the expression element.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="lang" type="string">
+ <annotation><documentation>Identification of the scripting language
+ to use.</documentation></annotation>
+ </attribute>
+ <attribute name="var" type="string">
+ <annotation><documentation>Name of the variable in which the result
+ of the script evaluation will be stored</documentation></annotation>
+ </attribute>
+ </complexType>
+
+ <complexType name="qlType">
+ <sequence>
+ <element name="description" minOccurs="0" maxOccurs="unbounded" type="string" />
+ <element name="query" type="string">
+ <annotation><documentation>The query text.</documentation></annotation>
+ </element>
+ <element name="parameters" minOccurs="0">
+ <annotation><documentation>Query parameters.</documentation></annotation>
+ <complexType>
+ <sequence>
+ <group ref="tns:wireObjectGroup" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ <attribute name="var" type="string">
+ <annotation><documentation>Name of the variable in which the result
+ of the script evaluation will be stored</documentation></annotation>
+ </attribute>
+ <attribute name="unique" type="string">
+ <annotation><documentation>Does this query return a unique result or a list
+ </documentation></annotation>
+ </attribute>
+ </complexType>
+
+ <attributeGroup name="activityAttributes">
+ <attribute name="name" type="string">
+ <annotation><documentation>The id of this activity. The name should be unique
+ in the complete scope of the process.</documentation></annotation>
+ </attribute>
+ <attribute name="g" type="string">
+ <annotation><documentation>Graphical information used by process designer tool.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="continue" default="sync" type="tns:continueType">
+ <annotation><documentation>To specify async continuations.
+ sync is the default.
+ </documentation></annotation>
+ </attribute>
+ </attributeGroup>
+
+ <simpleType name="continueType">
+ <restriction base="string">
+ <enumeration value="async" />
+ <enumeration value="sync" />
+ <enumeration value="exclusive" />
+ </restriction>
+ </simpleType>
+
+
+ <attributeGroup name="assignmentAttributes">
+ <annotation><documentation>the assignment attributes will be used in
+ tasks and swimlanes to specify to whom these respectively are assigned.
+ </documentation></annotation>
+ <attribute name="assignee" type="string">
+ <annotation><documentation>Expression that resolves to a userId referencing
+ the person to which the task or swimlane will be assigned.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="assignee-lang" type="string">
+ <annotation><documentation>Expression language for the assignee attribute.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="candidate-users" type="string">
+ <annotation><documentation>Expression that resolves to a comma separated
+ list of userId's. All the referred people will be candidates for
+ take the task or swimlane.</documentation></annotation>
+ </attribute>
+ <attribute name="candidate-users-lang" type="string">
+ <annotation><documentation>Expression language for the
+ candidate-users attribute.</documentation></annotation>
+ </attribute>
+ <attribute name="candidate-groups" type="string">
+ <annotation><documentation>Resolves to a comma separated list of groupId's.
+ All the referred people will be candidates to
+ take the task or swimlane.</documentation></annotation>
+ </attribute>
+ <attribute name="candidate-groups-lang" type="string">
+ <annotation><documentation>Expression language for the
+ candidate-groups attribute.</documentation></annotation>
+ </attribute>
+ </attributeGroup>
+
+ <element name="swimlane">
+ <annotation><documentation>A process role.</documentation></annotation>
+ <complexType>
+ <sequence>
+ <element name="description" minOccurs="0" type="string" />
+ </sequence>
+ <attribute name="name" type="string" use="required" />
+ <attributeGroup ref="tns:assignmentAttributes" />
+ </complexType>
+ </element>
+
+ <complexType name="transitionType">
+ <annotation><documentation>The outgoing transitions. The first in the list
+ will be the default outgoing transition.
+ </documentation></annotation>
+ <sequence>
+ <element name="description" minOccurs="0" maxOccurs="unbounded" type="string" />
+ <group ref="tns:eventListenerGroup" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <attribute name="name" type="string">
+ <annotation><documentation>Name of this outgoing transition</documentation></annotation>
+ </attribute>
+ <attribute name="to" type="string">
+ <annotation><documentation>Name of the destination activity of this transition.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="g" type="string">
+ <annotation><documentation>Graphical information used by process designer tool.
+ </documentation></annotation>
+ </attribute>
+ </complexType>
+
+ <element name="transition" type="tns:transitionType">
+ <annotation><documentation>A transition from one activity to another.</documentation></annotation>
+ </element>
+
+ <element name="on">
+ <complexType>
+ <sequence>
+ <element ref="tns:timer" minOccurs="0" />
+ <group ref="tns:eventListenerGroup" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>A list of event listeners that will
+ be notified when the event is fired</documentation></annotation>
+ </group>
+ </sequence>
+ <attribute name="event" type="string">
+ <annotation><documentation>The event identification. start, end, take or
+ any other custom event.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="continue" type="tns:continueType" default="sync" />
+ </complexType>
+ </element>
+
+ <complexType name="parameterType">
+ <attribute name="subvar" type="string">
+ <annotation><documentation>The name of the sub process variable.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="expr" type="string">
+ <annotation><documentation>An expression for which the resulting
+ value will be used as value.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="lang" type="string">
+ <annotation><documentation>Language of the expression.
+ </documentation></annotation>
+ </attribute>
+ <attribute name="var" type="string">
+ <annotation><documentation>Name of the process variable
+ in the super process execution..
+ </documentation></annotation>
+ </attribute>
+ </complexType>
+
+
+ <element name="timer">
+ <complexType>
+ <sequence>
+ <annotation><documentation>A list of event listeners that will
+ be notified when the timer fires</documentation></annotation>
+ <element name="description" minOccurs="0" type="string" />
+ <group ref="tns:eventListenerGroup" minOccurs="0" maxOccurs="unbounded">
+ </group>
+ </sequence>
+ <attribute name="duedate" type="string">
+ <annotation><documentation>Timer duedate expression that defines the duedate of this
+ timer relative to the creation time of the timer. E.g. '2 hours' or '4 business days'
+ </documentation></annotation>
+ </attribute>
+ <attribute name="repeat" type="string">
+ <annotation><documentation>Timer duedate expression that defines repeated scheduling
+ relative to the last timer fire event. E.g. '2 hours' or '4 business days'
+ </documentation></annotation>
+ </attribute>
+ <attribute name="duedatetime" type="string">
+ <annotation><documentation>Absolute time in format <code>HH:mm dd/MM/yyyy</code>
+ (see SimpleDateFormat). The format for the absolute time can be customized in the
+ jbpm configuration.
+ </documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <group name="eventListenerGroup">
+ <choice>
+ <element name="event-listener" type="tns:wireObjectType" />
+ <element name="hql" type="tns:qlType" />
+ <element name="sql" type="tns:qlType" />
+ <element name="java" type="tns:javaType" />
+ <element name="script" type="tns:scriptType" />
+ <element name="mail" type="tns:mailType" />
+ </choice>
+ </group>
+
+ <complexType name="mailType">
+ <sequence>
+ <element name="description" minOccurs="0" maxOccurs="unbounded" type="string" />
+ <element name="from" type="tns:mailRecipientType" minOccurs="0" />
+ <element name="to" type="tns:mailRecipientType" minOccurs="0" />
+ <element name="cc" type="tns:mailRecipientType" minOccurs="0" />
+ <element name="bcc" type="tns:mailRecipientType" minOccurs="0" />
+ <element name="subject" type="string" minOccurs="0" />
+ <element name="text" type="string" minOccurs="0" />
+ <element name="html" type="string" minOccurs="0" />
+ <element name="attachments" minOccurs="0" >
+ <complexType>
+ <sequence>
+ <element name="attachment" maxOccurs="unbounded">
+ <complexType>
+ <attribute name="url" type="string">
+ <annotation><documentation>URL reference to the attachment</documentation></annotation>
+ </attribute>
+ <attribute name="resource" type="string">
+ <annotation><documentation>Name of the attachment resource on the classpath</documentation></annotation>
+ </attribute>
+ <attribute name="file" type="string">
+ <annotation><documentation>File reference to the attachment</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ <attribute name="template" type="tns:templateType" />
+ </complexType>
+
+ <complexType name="mailRecipientType">
+ <attribute name="addresses" type="string">
+ <annotation><documentation>list of email address separated by ',' (comma) ';' (semicolon) '|' or whitespace</documentation></annotation>
+ </attribute>
+ <attribute name="users" type="string">
+ <annotation><documentation>list of user ids that are resolved to the email address against configured identity component.
+ user ids should be separated by ',' (comma) ';' (semicolon) '|' or whitespace</documentation></annotation>
+ </attribute>
+ <attribute name="groups" type="string">
+ <annotation><documentation>list of group ids that are resolved to the email address against configured identity component.
+ group ids should be separated by ',' (comma) ';' (semicolon) '|' or whitespace</documentation></annotation>
+ </attribute>
+ </complexType>
+
+ <simpleType name="booleanValueType">
+ <restriction base="string">
+ <enumeration value="true" />
+ <enumeration value="on" />
+ <enumeration value="enabled" />
+ <enumeration value="false" />
+ <enumeration value="off" />
+ <enumeration value="disabled" />
+ </restriction>
+ </simpleType>
+
+
+ <simpleType name="templateType">
+ <annotation><documentation>Reference to the email template</documentation></annotation>
+ <restriction base="string"></restriction>
+ </simpleType>
+
+ <element name="migrate-instances">
+ <annotation><documentation>Information to migrate instances of previously deployed process definitions
+ to the new one</documentation></annotation>
+ <complexType>
+ <sequence>
+ <element name="migration-handler" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>The migration handler specifies the name of a class to be executed while migrating the process instance.</documentation></annotation>
+ <complexType>
+ <attribute name="class"/>
+ </complexType>
+ </element>
+ <element name="activity-mapping" minOccurs="0" maxOccurs="unbounded">
+ <annotation><documentation>One activity mapping will be present for each activity of which the name changed.</documentation></annotation>
+ <complexType>
+ <attribute name="old-name" type="string" use="required">
+ <annotation><documentation>The name of the activity in the previously deployed process definition.</documentation></annotation>
+ </attribute>
+ <attribute name="new-name" type="string" use="required">
+ <annotation><documentation>The name of the activity in the newly deployed process definition</documentation></annotation>
+ </attribute>
+ </complexType>
+ </element>
+ </sequence>
+ <attribute name="action" type="tns:migrationActionType" default="migrate">
+ </attribute>
+ </complexType>
+ </element>
+
+ <simpleType name="migrationActionType">
+ <restriction base="string">
+ <enumeration value="end" />
+ <enumeration value="migrate" />
+ </restriction>
+ </simpleType>
+
+</schema>
Property changes on: jbpm4/trunk/modules/api/src/main/resources/jpdl-4.2.xsd
___________________________________________________________________
Name: svn:mime-type
+ text/plain
16 years, 6 months
JBoss JBPM SVN: r5818 - jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/db/hibernate.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2009-10-27 11:57:27 -0400 (Tue, 27 Oct 2009)
New Revision: 5818
Modified:
jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/db/hibernate/LimitedTextType.java
Log:
[JBPM-2603] restore LimitedTextType behavior as limit change breaks DB2
Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/db/hibernate/LimitedTextType.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/db/hibernate/LimitedTextType.java 2009-10-27 15:53:57 UTC (rev 5817)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/db/hibernate/LimitedTextType.java 2009-10-27 15:57:27 UTC (rev 5818)
@@ -44,7 +44,13 @@
public void set(PreparedStatement st, Object value, int index) throws SQLException {
String text = (String) value;
- st.setCharacterStream(index, new StringReader(text), limit);
+ int length = text.length();
+ if (length > limit) {
+ text = text.substring(0, limit);
+ length = limit;
+ }
+
+ st.setCharacterStream(index, new StringReader(text), length);
}
public void setParameterValues(Properties parameters) {
16 years, 6 months
JBoss JBPM SVN: r5817 - jbpm4/trunk/modules/examples.
by do-not-reply@jboss.org
Author: tom.baeyens(a)jboss.com
Date: 2009-10-27 11:53:57 -0400 (Tue, 27 Oct 2009)
New Revision: 5817
Modified:
jbpm4/trunk/modules/examples/.classpath
Log:
removed exclude of resources in eclipse project
Modified: jbpm4/trunk/modules/examples/.classpath
===================================================================
--- jbpm4/trunk/modules/examples/.classpath 2009-10-27 15:53:16 UTC (rev 5816)
+++ jbpm4/trunk/modules/examples/.classpath 2009-10-27 15:53:57 UTC (rev 5817)
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
- <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
+ <classpathentry kind="src" output="target/test-classes" path="src/test/resources"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
16 years, 6 months
JBoss JBPM SVN: r5816 - jbpm4/trunk/modules/distro/src/main/files/install.
by do-not-reply@jboss.org
Author: jbarrez
Date: 2009-10-27 11:53:16 -0400 (Tue, 27 Oct 2009)
New Revision: 5816
Modified:
jbpm4/trunk/modules/distro/src/main/files/install/build.xml
Log:
Fix for JBPM-2540: Fix replacement of Signavio repository path on Windows
Modified: jbpm4/trunk/modules/distro/src/main/files/install/build.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/files/install/build.xml 2009-10-27 15:22:03 UTC (rev 5815)
+++ jbpm4/trunk/modules/distro/src/main/files/install/build.xml 2009-10-27 15:53:16 UTC (rev 5816)
@@ -57,10 +57,6 @@
<property name="signavio.src.dir" value="${jbpm.home}/install/src/signavio" />
<property name="signavio.tmp.dir" value="${jbpm.home}/install/generated/signavio-war" />
<property name="signavio.repo.dir.name" value="signavio-repository" />
- <property name="signavio.repo.dir" value="${jbpm.home}/${signavio.repo.dir.name}"/>
-
- <dirname property="current.dir" file="../jbpm.jar" />
- <echo message="current dir = ${current.dir}" />
<!-- GENERAL CONDITIONS -->
<condition property="is.jboss.distro.available">
@@ -794,18 +790,19 @@
</target>
<target name="internal.set.signavio.repo.dir">
- <mkdir dir="${jbpm.home}/signavio-repository" />
+ <mkdir dir="${jbpm.home}/${signavio.repo.dir.name}" />
<!-- unzip the signavio war -->
<delete dir="${signavio.tmp.dir}" />
<mkdir dir="${signavio.tmp.dir}" />
<unzip src="${jbpm.home}/install/src/signavio/${signavio.war.file.name}" dest="${signavio.tmp.dir}" />
+
<!-- Replace Windows backslash with forward slash (see JBPM-2540) -->
<pathconvert property="signavio.repo.path" targetos="unix">
<map from="${basedir}/" to='' />
<map from="${basedir}\\" to='' />
- <path location="${current.dir}/${signavio.repo.dir.name}"/>
+ <path location="${jbpm.home}/${signavio.repo.dir.name}"/>
</pathconvert>
<!-- replace the repo dir in he unzipped WEB-INF/web.xml -->
16 years, 6 months
JBoss JBPM SVN: r5815 - jbpm4/trunk/modules/userguide/src/main/docbook/en/modules.
by do-not-reply@jboss.org
Author: jbarrez
Date: 2009-10-27 11:22:03 -0400 (Tue, 27 Oct 2009)
New Revision: 5815
Modified:
jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch01-Introduction.xml
Log:
Fixed some typos and linkes in introduction chapter
Modified: jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch01-Introduction.xml
===================================================================
--- jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch01-Introduction.xml 2009-10-27 14:44:56 UTC (rev 5814)
+++ jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch01-Introduction.xml 2009-10-27 15:22:03 UTC (rev 5815)
@@ -9,7 +9,7 @@
<title>License and EULA</title>
<para>jBPM is distributed under the terms of the
GNU Lesser General Public License (LGPL) and the JBoss End User License Agreement (EULA).
- See <ulink url="../../../lgpl.html">the full LGPL license text</ulink> and <ulink url="../../../JBossORG-EULA.txt">the
+ See <ulink url="../../../license.txt">the full LGPL license text</ulink> and <ulink url="../../../jboss.eula.txt">the
full End User License Agreement</ulink>.
</para>
</section>
@@ -18,7 +18,7 @@
<title>Downloads</title>
<para>The distribution packages can be downloaded from sourceforge
</para>
- <ulink url="http://sourceforge.net/project/showfiles.php?group_id=70542&package_i...">http://sourceforge.net/project/showfiles.php?group_id=70542&package_i...</ulink>
+ <ulink url="http://sourceforge.net/projects/jbpm/files/">http://sourceforge.net/projects/jbpm/files/</ulink>
</section>
<section>
@@ -41,7 +41,7 @@
process language in persistent execution mode. Persistent
execution mode means that process definitions, process executions
and process history is stored in a relational DB. This is the common way
- of how jBPM is used.
+ of how jBPM is used in practice.
</para>
<para>This user guide explains the supported way on how to use jBPM.
The developers guide explains more advanced customization options that
@@ -51,8 +51,8 @@
<section>
<title>Migration from jBPM 3</title>
- <para>Migration from jBPM 3 to jBPM 4 is not supported. Check out the developers
- guide for more information about migration.
+ <para>Migration from jBPM 3 to jBPM 4 is not supported.
+ Check out the developers guide for hints on how to perform the migration.
</para>
</section>
@@ -65,23 +65,23 @@
- <emphasis role="bold">jBPM Version</emphasis> : which version of jBPM are you using?
- <emphasis role="bold">Database</emphasis> : which database and which version of that database
- <emphasis role="bold">JDK</emphasis> : which Java version are you using? use 'java -version' to find out
-- <emphasis role="bold">Container</emphasis> : which Java version are you using? use 'java -version' to find out
-- <emphasis role="bold">Configuration</emphasis> : is your jbpm.cfg.xml only importing files from the jbpm.jar
+- <emphasis role="bold">Container</emphasis> : which container are you using? (JBoss, Tomcat, etc.)
+- <emphasis role="bold">Configuration</emphasis> : is your jbpm.cfg.xml only using imports from the jbpm.jar
lib itself? or did you create a custom config file?
- <emphasis role="bold">Libraries</emphasis> : are you using the exact versions of the libs from inside the jbpm
distribution of the version that you're using? or did you change some of the libs?
<emphasis role="bold">=== Process ==================================</emphasis>
-past jPDL process here
+paste jPDL process here
<emphasis role="bold">=== API ===================================</emphasis>
-past the relevant code snippet that you use to invoke jBPM
+paste the relevant code snippet that you use to invoke jBPM
<emphasis role="bold">=== Stacktrace ==============================</emphasis>
-past full stack trace here
+paste full stack trace here
<emphasis role="bold">=== Debug logs ==============================</emphasis>
-past debug logs here
+paste debug logs here
<emphasis role="bold">=== Problem description =========================</emphasis>
Keep this part short and to the point. E.g. API doesn't work as expected.
16 years, 6 months
JBoss JBPM SVN: r5814 - jbpm4/trunk/modules/api/src/main/resources.
by do-not-reply@jboss.org
Author: tom.baeyens(a)jboss.com
Date: 2009-10-27 10:44:56 -0400 (Tue, 27 Oct 2009)
New Revision: 5814
Modified:
jbpm4/trunk/modules/api/src/main/resources/jpdl-4.2.xsd
Log:
JBPM-2554 added description to jpdl activities and process elements
Modified: jbpm4/trunk/modules/api/src/main/resources/jpdl-4.2.xsd
===================================================================
--- jbpm4/trunk/modules/api/src/main/resources/jpdl-4.2.xsd 2009-10-27 14:41:10 UTC (rev 5813)
+++ jbpm4/trunk/modules/api/src/main/resources/jpdl-4.2.xsd 2009-10-27 14:44:56 UTC (rev 5814)
@@ -19,7 +19,7 @@
is the top level element in a jPDL process file.</documentation></annotation>
<complexType>
<sequence minOccurs="0" maxOccurs="unbounded">
- <element name="description" minOccurs="0" maxOccurs="unbounded" type="string" />
+ <element name="description" minOccurs="0" type="string" />
<element ref="tns:swimlane" minOccurs="0" maxOccurs="unbounded" />
<element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
<element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
@@ -66,6 +66,7 @@
</documentation></annotation>
<complexType>
<sequence>
+ <element name="description" minOccurs="0" type="string" />
<element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
<element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
</sequence>
@@ -83,6 +84,7 @@
</documentation></annotation>
<complexType>
<sequence>
+ <element name="description" minOccurs="0" type="string" />
<element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attributeGroup ref="tns:activityAttributes" />
@@ -105,6 +107,7 @@
</documentation></annotation>
<complexType>
<sequence>
+ <element name="description" minOccurs="0" type="string" />
<element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attributeGroup ref="tns:activityAttributes" />
@@ -124,6 +127,7 @@
</documentation></annotation>
<complexType>
<sequence>
+ <element name="description" minOccurs="0" type="string" />
<element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attributeGroup ref="tns:activityAttributes" />
@@ -146,6 +150,7 @@
</documentation></annotation>
<complexType>
<sequence>
+ <element name="description" minOccurs="0" type="string" />
<element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
<element name="transition" minOccurs="0" maxOccurs="unbounded">
<complexType>
@@ -170,6 +175,7 @@
</documentation></annotation>
<complexType>
<sequence>
+ <element name="description" minOccurs="0" type="string" />
<element name="handler" minOccurs="0" type="tns:wireObjectType" />
<element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
<element name="transition" minOccurs="0" maxOccurs="unbounded">
@@ -219,6 +225,7 @@
</documentation></annotation>
<complexType>
<sequence>
+ <element name="description" minOccurs="0" type="string" />
<element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
<element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
</sequence>
@@ -233,6 +240,7 @@
</documentation></annotation>
<complexType>
<sequence>
+ <element name="description" minOccurs="0" type="string" />
<element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
<element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
</sequence>
@@ -364,6 +372,7 @@
</documentation></annotation>
<complexType>
<sequence>
+ <element name="description" minOccurs="0" type="string" />
<element name="assignment-handler" minOccurs="0" type="tns:wireObjectType" />
<element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
<element name="notification" minOccurs="0">
@@ -420,6 +429,7 @@
</documentation></annotation>
<complexType>
<sequence minOccurs="0" maxOccurs="unbounded">
+ <element name="description" minOccurs="0" type="string" />
<element name="parameter-in" type="tns:parameterType" minOccurs="0" maxOccurs="unbounded" />
<element name="parameter-out" type="tns:parameterType" minOccurs="0" maxOccurs="unbounded" />
<element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
@@ -474,6 +484,7 @@
</documentation></annotation>
<complexType>
<sequence>
+ <element name="description" minOccurs="0" type="string" />
<group ref="tns:activityGroup" minOccurs="0" maxOccurs="unbounded" />
<element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
<element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
@@ -489,8 +500,8 @@
<group name="wireObjectGroup">
<choice>
+
<!-- SPECIAL OBJECTS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-
<element name="null">
<annotation><documentation>the null value
</documentation></annotation>
@@ -516,7 +527,6 @@
</element>
<!-- COLLECTIONS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-
<element name="list">
<annotation><documentation>A java.util.List</documentation></annotation>
<complexType>
@@ -619,11 +629,9 @@
</element>
<!-- OBJECT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-
<element name="object" type="tns:wireObjectType" />
<!-- BASIC TYPES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-
<element name="string">
<complexType>
<attribute name="name">
@@ -784,6 +792,7 @@
</p>
</documentation></annotation>
<choice minOccurs="0" maxOccurs="unbounded">
+ <element name="description" minOccurs="0" maxOccurs="unbounded" type="string" />
<element name="factory">
<annotation><documentation>Contains one element that describes the factory object.</documentation></annotation>
<complexType>
@@ -874,6 +883,7 @@
<complexType name="javaType">
<sequence>
+ <element name="description" minOccurs="0" maxOccurs="unbounded" type="string" />
<element name="field" minOccurs="0" maxOccurs="unbounded">
<annotation><documentation>Field injections from the environment
invocation.</documentation></annotation>
@@ -908,6 +918,7 @@
<complexType name="scriptType">
<sequence>
+ <element name="description" minOccurs="0" maxOccurs="unbounded" type="string" />
<element name="text" type="string" minOccurs="0">
<annotation><documentation>The content of this expression element
is the script text that will be evaluated. This is mutually
@@ -931,6 +942,7 @@
<complexType name="qlType">
<sequence>
+ <element name="description" minOccurs="0" maxOccurs="unbounded" type="string" />
<element name="query" type="string">
<annotation><documentation>The query text.</documentation></annotation>
</element>
@@ -1014,6 +1026,9 @@
<element name="swimlane">
<annotation><documentation>A process role.</documentation></annotation>
<complexType>
+ <sequence>
+ <element name="description" minOccurs="0" type="string" />
+ </sequence>
<attribute name="name" type="string" use="required" />
<attributeGroup ref="tns:assignmentAttributes" />
</complexType>
@@ -1024,6 +1039,7 @@
will be the default outgoing transition.
</documentation></annotation>
<sequence>
+ <element name="description" minOccurs="0" maxOccurs="unbounded" type="string" />
<group ref="tns:eventListenerGroup" minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attribute name="name" type="string">
@@ -1086,9 +1102,10 @@
<element name="timer">
<complexType>
<sequence>
+ <annotation><documentation>A list of event listeners that will
+ be notified when the timer fires</documentation></annotation>
+ <element name="description" minOccurs="0" type="string" />
<group ref="tns:eventListenerGroup" minOccurs="0" maxOccurs="unbounded">
- <annotation><documentation>A list of event listeners that will
- be notified when the timer fires</documentation></annotation>
</group>
</sequence>
<attribute name="duedate" type="string">
@@ -1123,6 +1140,7 @@
<complexType name="mailType">
<sequence>
+ <element name="description" minOccurs="0" maxOccurs="unbounded" type="string" />
<element name="from" type="tns:mailRecipientType" minOccurs="0" />
<element name="to" type="tns:mailRecipientType" minOccurs="0" />
<element name="cc" type="tns:mailRecipientType" minOccurs="0" />
16 years, 6 months
JBoss JBPM SVN: r5813 - jbpm4/trunk/modules/distro/src/main/files/install.
by do-not-reply@jboss.org
Author: jbarrez
Date: 2009-10-27 10:41:10 -0400 (Tue, 27 Oct 2009)
New Revision: 5813
Modified:
jbpm4/trunk/modules/distro/src/main/files/install/build.xml
Log:
Fix for JBPM-2540: Fix replacement of Signavio repository path on Windows
Modified: jbpm4/trunk/modules/distro/src/main/files/install/build.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/files/install/build.xml 2009-10-27 11:31:02 UTC (rev 5812)
+++ jbpm4/trunk/modules/distro/src/main/files/install/build.xml 2009-10-27 14:41:10 UTC (rev 5813)
@@ -331,6 +331,9 @@
<property name="container.lib.dir" value="${jboss.server.config.dir}/deploy/jbpm/jbpm-service.sar" />
<antcall target="internal.copy.database.driver" />
+
+ <!-- Signavio -->
+ <antcall target="install.signavio.into.jboss" />
</target>
<!-- ### INSTALL EXAMPLES INTO JBOSS ################################################ -->
@@ -479,10 +482,10 @@
</fileset>
</copy>
- <!-- Copy Signavio war into /webapps
+ <!-- Copy Signavio war into /webapps -->
<antcall target="install.signavio.into.tomcat" />
- -->
+
<!-- Rename wars (the context root is configured by WEB-INF/jboss-web.xml,
which is neglected by Tomcat -->
<move file="${tomcat.home}/webapps/gwt-console-jbpm.war" tofile="${tomcat.home}/webapps/jbpm-console.war" />
@@ -797,13 +800,20 @@
<delete dir="${signavio.tmp.dir}" />
<mkdir dir="${signavio.tmp.dir}" />
<unzip src="${jbpm.home}/install/src/signavio/${signavio.war.file.name}" dest="${signavio.tmp.dir}" />
+
+ <!-- Replace Windows backslash with forward slash (see JBPM-2540) -->
+ <pathconvert property="signavio.repo.path" targetos="unix">
+ <map from="${basedir}/" to='' />
+ <map from="${basedir}\\" to='' />
+ <path location="${current.dir}/${signavio.repo.dir.name}"/>
+ </pathconvert>
<!-- replace the repo dir in he unzipped WEB-INF/web.xml -->
<replaceregexp file="${signavio.tmp.dir}/WEB-INF/web.xml" flags="s"
match="<param-name>fileSystemRootDirectory</param-name>.*?<param-value>.*?</param-value>"
- replace="<param-name>fileSystemRootDirectory</param-name><param-value>${current.dir}/${signavio.repo.dir.name}</param-value>"/>
+ replace="<param-name>fileSystemRootDirectory</param-name><param-value>${signavio.repo.path}</param-value>"/>
- <!-- zip it up again and copy it back to /lib-->
+ <!-- zip it up again and copy it back to the signavio src dir-->
<zip destfile="${signavio.tmp.dir}/${signavio.war.file.name}" basedir="${signavio.tmp.dir}" />
<copy file="${signavio.tmp.dir}/${signavio.war.file.name}" todir="${signavio.src.dir}" overwrite="true"/>
</target>
16 years, 6 months