Merge branch 'vendor/activiti-runtime'

This commit is contained in:
Achim D. Brucker 2015-05-30 15:58:13 +02:00
commit 8026d11134
2290 changed files with 178566 additions and 0 deletions

View File

@ -0,0 +1,471 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="activiti.distro" default="distro">
<property file="${user.home}/.activiti/build.properties" />
<property name="activiti.version" value="5.8" />
<property name="target.distro.root" value="target/activiti-${activiti.version}" />
<property name="activiti.website" value="../../activiti-website" />
<condition property="mvn.executable" value="mvn.bat" else="mvn">
<os family="windows"/>
</condition>
<condition property="ls.executable" value="cmd" else="ls">
<os family="windows"/>
</condition>
<condition property="ls.executable.options" value="/c dir /B" else="">
<os family="windows"/>
</condition>
<condition property="ls.executable.path.seperator" value="\" else="/">
<os family="windows"/>
</condition>
<target name="clean">
<delete dir="target" />
</target>
<target name="distro" depends="build.modules,
copy.static.resources,
copy.dependencies,
copy.webapps,
copy.examples,
copy.docs">
<zip destfile="${target.distro.root}.zip">
<fileset dir="target">
<include name="activiti-${activiti.version}/**" />
</fileset>
</zip>
</target>
<target name="build.modules">
<condition property="nodocs.profile" value=",nodocs -Dskiptests" else="">
<equals arg1="${nodocs}" arg2="true" />
</condition>
<exec executable="${mvn.executable}" dir=".." failonerror="true">
<env key="MAVEN_OPTS" value="-Xmx1024m -Xms512m"/>
<arg line="-Pdistro${nodocs.profile} clean install" />
</exec>
</target>
<target name="copy.static.resources">
<copy todir="${target.distro.root}">
<fileset dir="src" />
</copy>
</target>
<target name="copy.dependencies">
<!-- FETCH DEPENDENCIES FROM MAVEN -->
<exec executable="${mvn.executable}" dir="../modules/activiti-engine">
<arg line="dependency:copy-dependencies -DoutputDirectory=../../distro/target/libs-engine-runtime -DexcludeArtifactIds=mysql-connector-java,postgresql,jtds"/>
</exec>
<exec executable="${mvn.executable}" dir="../modules/activiti-cxf">
<arg line="dependency:copy-dependencies -DoutputDirectory=../../distro/target/libs-engine-runtime-feature-cxf"/>
</exec>
<exec executable="${mvn.executable}" dir="../modules/activiti-engine">
<arg line="dependency:copy-dependencies -DoutputDirectory=../../distro/target/libs-engine-test -DexcludeScope=runtime -DexcludeArtifactIds=mysql-connector-java,postgresql,jtds"/>
</exec>
<exec executable="${mvn.executable}" dir="../modules/activiti-spring">
<arg line="dependency:copy-dependencies -DoutputDirectory=../../distro/target/libs-spring-runtime"/>
</exec>
<exec executable="${mvn.executable}" dir="../modules/activiti-spring">
<arg line="dependency:copy-dependencies -DoutputDirectory=../../distro/target/libs-spring-test -DexcludeScope=runtime"/>
</exec>
<exec executable="${mvn.executable}" dir="../modules/activiti-webapp-rest2">
<arg line="dependency:copy-dependencies -DoutputDirectory=../../distro/target/libs-webapp-rest"/>
</exec>
<exec executable="${mvn.executable}" dir="../modules/activiti-webapp-explorer2">
<arg line="dependency:copy-dependencies -DoutputDirectory=../../distro/target/libs-webapp-explorer" />
</exec>
<!-- ADD ACTIVITI JARS -->
<copy todir="target/libs-engine-runtime">
<fileset dir="../modules/activiti-engine/target">
<include name="activiti-engine-*.jar" />
</fileset>
</copy>
<copy todir="target/libs-spring-runtime">
<fileset dir="../modules/activiti-spring/target">
<include name="activiti-spring-*.jar" />
</fileset>
</copy>
<copy todir="target/libs-engine-runtime-feature-cxf">
<fileset dir="../modules/activiti-cxf/target">
<include name="activiti-cxf-*.jar" />
</fileset>
</copy>
<!-- DELETE UNNECESSARY ANT JARS -->
<delete>
<fileset dir="target/libs-engine-runtime">
<include name="ant-*.jar" />
</fileset>
<fileset dir="target/libs-engine-test">
<include name="ant-*.jar" />
</fileset>
</delete>
<!-- GROOVY SCRIPTING FEATURE -->
<mkdir dir="target/libs-engine-runtime-feature-groovy" />
<move todir="target/libs-engine-runtime-feature-groovy">
<fileset dir="target/libs-engine-test">
<include name="antlr-*.jar" />
<include name="asm-*.jar" />
<include name="groovy-*.jar" />
</fileset>
</move>
<!-- JPA FEATURE -->
<mkdir dir="target/libs-engine-runtime-feature-jpa" />
<move todir="target/libs-engine-runtime-feature-jpa">
<fileset dir="target/libs-engine-test">
<include name="persistence-api-*.jar" />
<include name="openjpa-*.jar" />
<include name="serp-*.jar" />
<include name="commons-lang-*.jar" />
<include name="commons-collections-*.jar" />
<include name="commons-pool-*.jar" />
<include name="geronimo-jms*.jar" />
<include name="geronimo-jpa*.jar" />
</fileset>
</move>
<!-- CREATE DEPENDENCY LIST FILES -->
<mkdir dir="${target.distro.root}/setup/files/dependencies/libs" />
<exec output="${target.distro.root}/setup/files/dependencies/libs.engine.test.txt" executable="${ls.executable}">
<arg line="${ls.executable.options} target${ls.executable.path.seperator}libs-engine-test"/>
</exec>
<exec output="${target.distro.root}/setup/files/dependencies/libs.engine.runtime.feature.groovy.txt" executable="${ls.executable}">
<arg line="${ls.executable.options} target${ls.executable.path.seperator}libs-engine-runtime-feature-groovy"/>
</exec>
<exec output="${target.distro.root}/setup/files/dependencies/libs.engine.runtime.feature.jpa.txt" executable="${ls.executable}">
<arg line="${ls.executable.options} target${ls.executable.path.seperator}libs-engine-runtime-feature-jpa"/>
</exec>
<delete>
<fileset dir="target/libs-engine-runtime"
includesfile="${target.distro.root}/setup/files/dependencies/libs.engine.test.txt" />
<fileset dir="target/libs-engine-runtime"
includesfile="${target.distro.root}/setup/files/dependencies/libs.engine.runtime.feature.groovy.txt" />
<fileset dir="target/libs-engine-runtime"
includesfile="${target.distro.root}/setup/files/dependencies/libs.engine.runtime.feature.jpa.txt" />
</delete>
<exec output="${target.distro.root}/setup/files/dependencies/libs.engine.runtime.txt" executable="${ls.executable}">
<arg line="${ls.executable.options} target${ls.executable.path.seperator}libs-engine-runtime"/>
</exec>
<exec output="${target.distro.root}/setup/files/dependencies/libs.engine.runtime.feature.cxf.txt" executable="${ls.executable}">
<arg line="${ls.executable.options} target${ls.executable.path.seperator}libs-engine-runtime-feature-cxf"/>
</exec>
<exec output="${target.distro.root}/setup/files/dependencies/libs.spring.test.txt" executable="${ls.executable}">
<arg line="${ls.executable.options} target${ls.executable.path.seperator}libs-spring-test"/>
</exec>
<delete>
<fileset dir="target/libs-spring-runtime"
includesfile="${target.distro.root}/setup/files/dependencies/libs.spring.test.txt" />
<fileset dir="target/libs-spring-test"
includesfile="${target.distro.root}/setup/files/dependencies/libs.engine.test.txt" />
</delete>
<exec output="${target.distro.root}/setup/files/dependencies/libs.spring.test.txt" executable="${ls.executable}">
<arg line="${ls.executable.options} target${ls.executable.path.seperator}libs-spring-test"/>
</exec>
<exec output="${target.distro.root}/setup/files/dependencies/libs.spring.runtime.txt" executable="${ls.executable}">
<arg line="${ls.executable.options} target${ls.executable.path.seperator}libs-spring-runtime"/>
</exec>
<exec output="${target.distro.root}/setup/files/dependencies/libs.webapp.rest.txt" executable="${ls.executable}">
<arg line="${ls.executable.options} target${ls.executable.path.seperator}libs-webapp-rest"/>
</exec>
<exec output="${target.distro.root}/setup/files/dependencies/libs.webapp.explorer.txt" executable="${ls.executable}">
<arg line="${ls.executable.options} target${ls.executable.path.seperator}libs-webapp-explorer" />
</exec>
<!-- MOVE ALL LIBS TO setup/files/dependencies/libs -->
<mkdir dir="${target.distro.root}/setup/files/dependencies/libs" />
<move todir="${target.distro.root}/setup/files/dependencies/libs">
<fileset dir="target/libs-engine-runtime" />
<fileset dir="target/libs-engine-runtime-feature-groovy" />
<fileset dir="target/libs-engine-runtime-feature-jpa" />
<fileset dir="target/libs-engine-runtime-feature-cxf" />
<fileset dir="target/libs-engine-test" />
<fileset dir="target/libs-spring-runtime" />
<fileset dir="target/libs-spring-test" />
<fileset dir="target/libs-webapp-rest" />
<fileset dir="target/libs-webapp-explorer" />
</move>
</target>
<target name="copy.webapps">
<mkdir dir="${target.distro.root}/setup/files/webapps/activiti-explorer.war" />
<unzip dest="${target.distro.root}/setup/files/webapps/activiti-explorer.war"
src="../modules/activiti-webapp-explorer2/target/activiti-webapp-explorer2-${activiti.version}.war"/>
<mkdir dir="${target.distro.root}/setup/files/webapps/activiti-rest.war" />
<unzip dest="${target.distro.root}/setup/files/webapps/activiti-rest.war"
src="../modules/activiti-webapp-rest2/target/activiti-webapp-rest2-${activiti.version}.war"/>
<delete>
<fileset dir="${target.distro.root}/setup/files/webapps/activiti-explorer.war/WEB-INF/lib" />
<fileset dir="${target.distro.root}/setup/files/webapps/activiti-rest.war/WEB-INF/lib" />
</delete>
</target>
<target name="copy.examples">
<!-- ENGINE EXAMPLES -->
<mkdir dir="${target.distro.root}/workspace/activiti-engine-examples/src/main/java" />
<copy todir="${target.distro.root}/workspace/activiti-engine-examples/src/main/java" includeEmptyDirs="false">
<fileset dir="../modules/activiti-engine/src/test/java">
<include name="org/activiti/examples/**" />
<exclude name="**/*Test.java" />
<exclude name="org/activiti/examples/variables/jpa/**" />
</fileset>
</copy>
<mkdir dir="${target.distro.root}/workspace/activiti-engine-examples/src/main/process" />
<copy todir="${target.distro.root}/workspace/activiti-engine-examples/src/main/process" includeEmptyDirs="false">
<fileset dir="../modules/activiti-engine/src/test/resources">
<include name="org/activiti/examples/**/*.bpmn20.xml" />
<include name="org/activiti/examples/**/*.form" />
<include name="org/activiti/examples/**/*.png" />
<include name="org/activiti/examples/**/*.internal" /> <!-- needed for KickStart examples -->
<exclude name="org/activiti/examples/groovy/*.bpmn20.xml" />
<exclude name="org/activiti/examples/variables/jpa/*.bpmn20.xml" />
</fileset>
</copy>
<mkdir dir="${target.distro.root}/workspace/activiti-engine-examples/src/test/java" />
<copy todir="${target.distro.root}/workspace/activiti-engine-examples/src/test/java" includeEmptyDirs="false">
<fileset dir="../modules/activiti-engine/src/test/java">
<include name="org/activiti/examples/**/*Test.java" />
<exclude name="org/activiti/examples/groovy/*Test.java" />
<exclude name="org/activiti/examples/variables/jpa/*Test.java" />
</fileset>
</copy>
<mkdir dir="${target.distro.root}/workspace/activiti-engine-examples/src/test/resources" />
<copy todir="${target.distro.root}/workspace/activiti-engine-examples/src/test/resources" includeEmptyDirs="false">
<fileset dir="../modules/activiti-engine/src/test/resources">
<include name="activiti.cfg.xml" />
<include name="logging.properties" />
</fileset>
</copy>
<!-- GROOVY EXAMPLES -->
<mkdir dir="${target.distro.root}/workspace/activiti-groovy-examples/src/main/process" />
<copy todir="${target.distro.root}/workspace/activiti-groovy-examples/src/main/process" includeEmptyDirs="false">
<fileset dir="../modules/activiti-engine/src/test/resources">
<include name="org/activiti/examples/groovy/*.bpmn20.xml" />
</fileset>
</copy>
<mkdir dir="${target.distro.root}/workspace/activiti-groovy-examples/src/test/java" />
<copy todir="${target.distro.root}/workspace/activiti-groovy-examples/src/test/java" includeEmptyDirs="false">
<fileset dir="../modules/activiti-engine/src/test/java">
<include name="org/activiti/examples/groovy/*Test.java" />
</fileset>
</copy>
<mkdir dir="${target.distro.root}/workspace/activiti-groovy-examples/src/test/resources" />
<copy todir="${target.distro.root}/workspace/activiti-groovy-examples/src/test/resources" includeEmptyDirs="false">
<fileset dir="../modules/activiti-engine/src/test/resources">
<include name="activiti.cfg.xml" />
<include name="logging.properties" />
</fileset>
</copy>
<!-- JPA EXAMPLES -->
<mkdir dir="${target.distro.root}/workspace/activiti-jpa-examples/src/main/java" />
<copy todir="${target.distro.root}/workspace/activiti-jpa-examples/src/main/java" includeEmptyDirs="false">
<fileset dir="../modules/activiti-engine/src/test/java">
<include name="org/activiti/examples/variables/jpa/**" />
<exclude name="**/*Test.java" />
</fileset>
</copy>
<mkdir dir="${target.distro.root}/workspace/activiti-jpa-examples/src/main/process" />
<copy todir="${target.distro.root}/workspace/activiti-jpa-examples/src/main/process" includeEmptyDirs="false">
<fileset dir="../modules/activiti-engine/src/test/resources">
<include name="org/activiti/examples/variables/jpa/*.bpmn20.xml" />
</fileset>
</copy>
<mkdir dir="${target.distro.root}/workspace/activiti-jpa-examples/src/test/java" />
<copy todir="${target.distro.root}/workspace/activiti-jpa-examples/src/test/java" includeEmptyDirs="false">
<fileset dir="../modules/activiti-engine/src/test/java">
<include name="org/activiti/examples/variables/jpa/*Test.java" />
</fileset>
</copy>
<mkdir dir="${target.distro.root}/workspace/activiti-jpa-examples/src/test/resources" />
<copy todir="${target.distro.root}/workspace/activiti-jpa-examples/src/test/resources" includeEmptyDirs="false">
<fileset dir="../modules/activiti-engine/src/test/resources">
<include name="org/activiti/examples/variables/jpa/activiti.cfg.xml" />
<include name="activiti.cfg.xml" />
<include name="logging.properties" />
<include name="META-INF/persistence.xml" />
</fileset>
</copy>
<!-- SPRING EXAMPLES -->
<mkdir dir="${target.distro.root}/workspace/activiti-spring-examples/src/main/java" />
<copy todir="${target.distro.root}/workspace/activiti-spring-examples/src/main/java" includeEmptyDirs="false">
<fileset dir="../modules/activiti-spring/src/test/java">
<exclude name="**/*Test.java" />
</fileset>
</copy>
<mkdir dir="${target.distro.root}/workspace/activiti-spring-examples/src/main/process" />
<copy todir="${target.distro.root}/workspace/activiti-spring-examples/src/main/process" includeEmptyDirs="false">
<fileset dir="../modules/activiti-spring/src/test/resources">
<include name="**/*.bpmn20.xml" />
<include name="**/*.form" />
<exclude name="**/custom-persistence.xml" />
<exclude name="**/*-context.xml" />
<exclude name="logging.properties" />
</fileset>
</copy>
<mkdir dir="${target.distro.root}/workspace/activiti-spring-examples/src/test/java" />
<copy todir="${target.distro.root}/workspace/activiti-spring-examples/src/test/java" includeEmptyDirs="false">
<fileset dir="../modules/activiti-spring/src/test/java">
<include name="**/*Test.java" />
</fileset>
</copy>
<mkdir dir="${target.distro.root}/workspace/activiti-spring-examples/src/test/resources" />
<copy todir="${target.distro.root}/workspace/activiti-spring-examples/src/test/resources" includeEmptyDirs="false">
<fileset dir="../modules/activiti-spring/src/test/resources">
<include name="**/custom-persistence.xml" />
<include name="**/*-context.xml" />
<include name="logging.properties" />
</fileset>
</copy>
<!-- CXF EXAMPLES -->
<mkdir dir="${target.distro.root}/workspace/activiti-cxf-examples/src/test/java" />
<copy todir="${target.distro.root}/workspace/activiti-cxf-examples/src/test/java" includeEmptyDirs="false">
<fileset dir="../modules/activiti-cxf/src/test/java">
<exclude name="**/WSDLImporterTest.java" />
</fileset>
</copy>
<mkdir dir="${target.distro.root}/workspace/activiti-cxf-examples/src/test/resources" />
<copy todir="${target.distro.root}/workspace/activiti-cxf-examples/src/test/resources" includeEmptyDirs="false">
<fileset dir="../modules/activiti-cxf/src/test/resources">
</fileset>
</copy>
</target>
<target name="build.docs" unless="nodocs">
<!-- JAVADOCS -->
<exec executable="${mvn.executable}" dir="../modules/activiti-engine">
<arg line="-DexcludePackageNames=org.activiti.engine.impl* javadoc:javadoc" />
</exec>
<mkdir dir="${target.distro.root}/docs/javadocs" />
<copy todir="${target.distro.root}/docs/javadocs">
<fileset dir="../modules/activiti-engine/target/site/apidocs" />
</copy>
<!-- USERGUIDE -->
<echo message="On failure, make sure that you have installed the Xalan libs by executing the 'install.xalan.libs' target in the 'userguide' folder."></echo>
<ant antfile="../userguide/build.xml" inheritall="false" />
<mkdir dir="${target.distro.root}/docs/userguide" />
<copy todir="${target.distro.root}/docs/userguide">
<fileset dir="../userguide/target/html/en" />
</copy>
</target>
<target name="copy.docs" depends="build.docs" unless="nodocs">
<!-- COPY XSD -->
<copy todir="${target.distro.root}/docs/xsd">
<fileset dir="../modules/activiti-engine/src/main/resources/org/activiti/impl/bpmn/parser">
<include name="*.xsd" />
</fileset>
<fileset dir="../modules/activiti-engine/src/main/resources/org/activiti/impl/cfg">
<include name="*.xsd" />
</fileset>
</copy>
</target>
<target name="publish.docs" depends="build.docs">
<mkdir dir="${activiti.website}/javadocs" />
<copy todir="${activiti.website}/javadocs" overwrite="true">
<fileset dir="../modules/activiti-engine/target/site/apidocs" />
</copy>
<mkdir dir="${activiti.website}/userguide" />
<copy todir="${activiti.website}/userguide" overwrite="true">
<fileset dir="../userguide/target/html/en" />
</copy>
<copy todir="${activiti.website}" overwrite="true">
<fileset dir="src">
<include name="readme.html" />
</fileset>
</copy>
</target>
<!-- ##### ACTIVITI MODELER PATCHING ##########################################
Note that this target is NOT executed during a distro build, because the
Modeler is not shipped with the final zip.
This target exists to be called to add the Activiti stencil set and Cycle plugins,
when a new version of the Modeler is built from the Signavio source repository.
-->
<property name="modeler.patch.folder" value="${modeler.target.folder}/patched" />
<property name="modeler.extracted-war.folder" value="${modeler.target.folder}/extracted-from-war" />
<property name="modeler.src.files.folder" value="src/setup/files/cfg.modeler" />
<target name="patch.activiti.modeler"
depends="internal.modeler.stencilsets.patch" /><!-- internal.modeler.plugin.cycle.patch, -->
<target name="internal.modeler.patches.init">
<delete dir="${modeler.patch.folder}" />
<mkdir dir="${modeler.patch.folder}" />
<delete dir="${modeler.extracted-war.folder}" />
<mkdir dir="${modeler.extracted-war.folder}" />
<!-- extract files to be patched from the war -->
<unzip src="${modeler.target.folder}/activiti-modeler.war"
dest="${modeler.extracted-war.folder}">
<patternset>
<include name="editor/oryx.debug.js" />
<include name="editor/oryx.js" />
<include name="editor/plugins.xml" />
</patternset>
<mapper type="flatten" />
</unzip>
<!-- copy files to be patched in the internal.modeler.xx targets -->
<copy todir="${modeler.patch.folder}" overwrite="true">
<fileset dir="${modeler.extracted-war.folder}" />
</copy>
<!-- copy war to be patched to the patch folder -->
<copy file="${modeler.target.folder}/activiti-modeler.war" tofile="${modeler.patch.folder}/activiti-modeler-${activiti.version}.war" />
</target>
<target name="internal.modeler.plugin.cycle.patch" depends="internal.modeler.patches.init">
<!-- add plugin code -->
<concat destfile="${modeler.patch.folder}/oryx.debug.js" append="true">
<fileset file="${modeler.src.files.folder}/ActivitiCycle.js" />
</concat>
<concat destfile="${modeler.patch.folder}/oryx.js" append="true">
<fileset file="${modeler.src.files.folder}/ActivitiCycle.js" />
</concat>
<!-- register Activiti Cycle Plugin -->
<replace file="${modeler.patch.folder}/plugins.xml">
<replacetoken><![CDATA[</plugins>]]></replacetoken>
<replacevalue><![CDATA[
<plugin source="ActivitiCycle.js" name="ORYX.Plugins.ActivitiCycle" />
</plugins>]]></replacevalue>
</replace>
<!-- fix line endings in patched plugins.xml -->
<fixcrlf file="${modeler.patch.folder}/plugins.xml" eol="dos" />
<!-- Touch is required, see http://stackoverflow.com/questions/2210041/updating-files-inside-an-existing-war-file -->
<tstamp> <format property="touch.time" pattern="MM/dd/yyyy hh:mm aa"/></tstamp>
<touch datetime="${touch.time}" file="${modeler.patch.folder}/oryx.debug.js"/>
<touch datetime="${touch.time}" file="${modeler.patch.folder}/oryx.js"/>
<touch datetime="${touch.time}" file="${modeler.patch.folder}/plugins.xml"/>
<touch datetime="${touch.time}" file="${modeler.src.files.folder}/activiti_logo_16x16.png"/>
<!-- Update war with patched files -->
<war destfile="${modeler.patch.folder}/activiti-modeler-${activiti.version}.war" update="true">
<zipfileset file="${modeler.patch.folder}/oryx.debug.js" fullpath="editor/oryx.debug.js" />
<zipfileset file="${modeler.patch.folder}/oryx.js" fullpath="editor/oryx.js" />
<zipfileset file="${modeler.patch.folder}/plugins.xml" fullpath="editor/plugins.xml" />
<zipfileset file="${modeler.patch.folder}/plugins.xml" fullpath="WEB-INF/xml/editor/plugins.xml" />
<zipfileset file="${modeler.src.files.folder}/activiti_logo_16x16.png" fullpath="editor/images/activiti_logo_16x16.png" />
</war>
</target>
<target name="internal.modeler.stencilsets.patch" depends="internal.modeler.patches.init">
<!-- Touch is required, see http://stackoverflow.com/questions/2210041/updating-files-inside-an-existing-war-file -->
<tstamp> <format property="touch.time" pattern="MM/dd/yyyy hh:mm aa"/></tstamp>
<touch datetime="${touch.time}" file="${modeler.src.files.folder}/extensions.json"/>
<touch datetime="${touch.time}" file="${modeler.src.files.folder}/bpmn2.0activiti.json"/>
<!-- Update war with patched files -->
<war destfile="${modeler.patch.folder}/activiti-modeler-${activiti.version}.war" update="true">
<zipfileset file="${modeler.src.files.folder}/extensions.json" fullpath="WEB-INF/json/extensions.json" />
<zipfileset file="${modeler.src.files.folder}/extensions.json" fullpath="editor/stencilsets/extensions/extensions.json" />
<zipfileset file="${modeler.src.files.folder}/bpmn2.0activiti.json" fullpath="editor/stencilsets/extensions/bpmn2.0activiti/bpmn2.0activiti.json" />
</war>
</target>
</project>

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@ -0,0 +1,224 @@
Activiti BPM Platform
Copyright 2010-2011 Alfresco Software, Ltd.
The following activiti software libraries are distributed under the Apache License Version 2.0 (the ÒLicenseÓ):
* activiti-cxf-<version>-sources.jar
* activiti-cxf-<version>.jar
* activiti-engine-<version>-sources.jar
* activiti-engine-<version>.jar
* activiti-spring-<version>-sources.jar
* activiti-spring-<version>.jar
You may not use these files except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an ÒAS ISÓ BASIS, WITHOUT WARRANTIES OR CONDITIONS OR ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
This software package also includes third party components as listed below.
This software package includes changed source code of the following libraries:
JUEL
* Location: http://juel.sourceforge.net/
* Included in activiti-engine-5.8.jar in package org.activiti.engine.impl.juel
* License: Apache V2
Quartz
* Location: http://www.quartz-scheduler.org/
* CronExpression is included in activiti-engine-5.8.jar in package org.activiti.engine.impl.calendar
* License: Apache V2
JSON
* Location: http://www.JSON.org/java
* Included in activiti-engine-5.8.jar in package org.activiti.engine.impl.json
* License:
===============================================================================
Copyright (c) 2002 JSON.org
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
The Software shall be used for Good, not Evil.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
===============================================================================
This software includes unchanged copies of the following libraries:
FastInfoset-1.2.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
XmlSchema-1.4.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
abdera-client-0.4.0-incubating.jar : http://www.apache.org/licenses/LICENSE-2.0.html
abdera-core-0.4.0-incubating.jar : http://www.apache.org/licenses/LICENSE-2.0.html
abdera-extensions-html-0.4.0-incubating.jar : http://www.apache.org/licenses/LICENSE-2.0.html
abdera-extensions-json-0.4.0-incubating.jar : http://www.apache.org/licenses/LICENSE-2.0.html
abdera-extensions-main-0.4.0-incubating.jar : http://www.apache.org/licenses/LICENSE-2.0.html
abdera-i18n-0.4.0-incubating.jar : http://www.apache.org/licenses/LICENSE-2.0.html
abdera-parser-0.4.0-incubating.jar : http://www.apache.org/licenses/LICENSE-2.0.html
abdera-server-0.4.0-incubating.jar : http://www.apache.org/licenses/LICENSE-2.0.html
activation-1.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
antlr-2.7.7.jar : http://www.antlr.org/license.html (BSD license)
antlr-runtime-3.1.3.jar : http://www.antlr.org/license.html (BSD license)
aopalliance-1.0.jar : Public domain
apache-mime4j-0.6.jar : http://www.apache.org/licenses/LICENSE-2.0.html
asm-3.1.jar : http://asm.ow2.org/license.html
asm-3.2.jar : http://asm.ow2.org/license.html
asm-analysis-3.2.jar : http://asm.ow2.org/license.html
asm-commons-3.2.jar : http://asm.ow2.org/license.html
asm-tree-3.2.jar : http://asm.ow2.org/license.html
asm-util-3.2.jar : http://asm.ow2.org/license.html
axiom-api-1.2.5.jar : http://www.apache.org/licenses/LICENSE-2.0.html
axiom-impl-1.2.5.jar : http://www.apache.org/licenses/LICENSE-2.0.html
cglib-2.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
commons-beanutils-1.7.0.jar : http://www.apache.org/licenses/LICENSE-2.0.html
commons-codec-1.3.jar : http://www.apache.org/licenses/LICENSE-2.0.html
commons-codec-1.4.jar : http://www.apache.org/licenses/LICENSE-2.0.html
commons-collections-3.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
commons-collections-3.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
commons-dbcp-1.4.jar : http://www.apache.org/licenses/LICENSE-2.0.html
commons-digester-1.6.jar : http://www.apache.org/licenses/LICENSE-2.0.html
commons-el-1.0.jar : http://www.apache.org/licenses/LICENSE-2.0.html
commons-email-1.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
commons-fileupload-1.2.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
commons-httpclient-3.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
commons-io-1.4.jar : http://www.apache.org/licenses/LICENSE-2.0.html
commons-lang-2.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
commons-lang-2.4.jar : http://www.apache.org/licenses/LICENSE-2.0.html
commons-logging-1.0.4.jar : http://www.apache.org/licenses/LICENSE-2.0.html
commons-logging-1.1.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
commons-pool-1.3.jar : http://www.apache.org/licenses/LICENSE-2.0.html
commons-pool-1.5.4.jar : http://www.apache.org/licenses/LICENSE-2.0.html
cxf-api-2.1.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
cxf-common-schemas-2.1.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
cxf-common-utilities-2.1.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
cxf-rt-bindings-soap-2.1.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
cxf-rt-bindings-xml-2.1.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
cxf-rt-core-2.1.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
cxf-rt-databinding-jaxb-2.1.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
cxf-rt-frontend-jaxws-2.1.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
cxf-rt-frontend-simple-2.1.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
cxf-rt-transports-http-2.1.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
cxf-rt-transports-http-jetty-2.1.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
cxf-rt-ws-addr-2.1.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
cxf-tools-common-2.1.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
dom4j-1.6.1.jar : http://www.opensource.org/licenses/bsd-license.php
drools-api-5.1.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
drools-compiler-5.1.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
drools-core-5.1.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
ecj-3.5.1.jar : http://www.eclipse.org/org/documents/epl-v10.php
freemarker-2.3.13.jar : http://www.opensource.org/licenses/bsd-license.php
geronimo-activation_1.0.2_spec-1.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
geronimo-annotation_1.0_spec-1.1.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
geronimo-jaxws_2.1_spec-1.0.jar : http://www.apache.org/licenses/LICENSE-2.0.html
geronimo-jms_1.1_spec-1.0.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
geronimo-jpa_3.0_spec-1.0.jar : http://www.apache.org/licenses/LICENSE-2.0.html
geronimo-jta_1.1_spec-1.1.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
geronimo-servlet_2.5_spec-1.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
geronimo-stax-api_1.0_spec-1.0.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
geronimo-ws-metadata_2.0_spec-1.1.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
groovy-1.7.5.jar : http://www.apache.org/licenses/LICENSE-2.0.html
h2-1.2.132.jar: http://www.mozilla.org/MPL & http://opensource.org/licenses/eclipse-1.0.php
hamcrest-core-1.1.jar : http://www.opensource.org/licenses/bsd-license.php
htmlparser-1.0.5.jar : http://www.opensource.org/licenses/cpl1.0.php
htmlparser-1.6.jar : http://www.opensource.org/licenses/cpl1.0.php
httpclient-4.0.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
httpcore-4.0.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
httpmime-4.0.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
javassist-3.6.0.GA.jar : MPL http://www.mozilla.org/MPL/ and the LGPL http://www.opensource.org/licenses/lgpl-2.1.php
jaxb-api-2.2.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
jaxb-impl-2.2.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
jaxb-xjc-2.1.7.jar : http://www.apache.org/licenses/LICENSE-2.0.html
jaxen-1.1.1.jar : http://jaxen.codehaus.org/license.html (modified apache license)
jcip-annotations-1.0.jar : Creative Commons Attribution License http://creativecommons.org/licenses/by/2.5
jetty-continuation-7.2.0.v20101020.jar : http://www.apache.org/licenses/LICENSE-2.0.html
jetty-http-7.2.0.v20101020.jar : http://www.apache.org/licenses/LICENSE-2.0.html
jetty-io-7.2.0.v20101020.jar : http://www.apache.org/licenses/LICENSE-2.0.html
jetty-server-7.2.0.v20101020.jar : http://www.apache.org/licenses/LICENSE-2.0.html
jetty-util-7.2.0.v20101020.jar : http://www.apache.org/licenses/LICENSE-2.0.html
js-1.6R7.jar : Mozilla Public License version 1.1 http://www.mozilla.org/MPL/MPL-1.1.html
json-20070829.jar : http://www.json.org/java/ free software
jstl-1.1.0.jar : http://www.apache.org/licenses/LICENSE-2.0.html
jtds-1.2.4.jar : LGPL http://www.opensource.org/licenses/lgpl-2.1.php (no version mentioned)
junit-4.8.1.jar : http://www.opensource.org/licenses/cpl1.0.php
livetribe-jsr223-2.0.6.jar : http://www.apache.org/licenses/LICENSE-2.0.html
log4j-1.2.14.jar : http://www.apache.org/licenses/LICENSE-2.0.html
mail-1.4.1.jar : CDDL https://glassfish.dev.java.net/javaee5/mail/
mime-util-2.1.3.jar : http://www.apache.org/licenses/LICENSE-2.0.html
mockito-core-1.8.2.jar : MIT http://www.opensource.org/licenses/mit-license.php
mvel2-2.0.16.jar : http://www.apache.org/licenses/LICENSE-2.0.html
mybatis-3.0.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
myfaces-api-1.1.5.jar : http://www.apache.org/licenses/LICENSE-2.0.html
myfaces-impl-1.1.5.jar : http://www.apache.org/licenses/LICENSE-2.0.html
mysql-connector-java-5.1.6.jar : GPL http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
neethi-2.0.4.jar : http://www.apache.org/licenses/LICENSE-2.0.html
objenesis-1.0.jar : http://www.apache.org/licenses/LICENSE-2.0.html
openjpa-1.2.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
org.osgi.core-4.2.0.jar : http://www.apache.org/licenses/LICENSE-2.0.html
org.restlet-2.0.4.jar : LGPL 3.0 license http://www.opensource.org/licenses/lgpl-3.0.html, LGPL 2.1 license http://www.opensource.org/licenses/lgpl-2.1.php, CDDL 1.0 license http://www.opensource.org/licenses/cddl1.php, EPL 1.0 http://www.opensource.org/licenses/eclipse-1.0.php
org.restlet.ext.httpclient-2.0.4.jar : LGPL 3.0 license http://www.opensource.org/licenses/lgpl-3.0.html, LGPL 2.1 license http://www.opensource.org/licenses/lgpl-2.1.php, CDDL 1.0 license http://www.opensource.org/licenses/cddl1.php, EPL 1.0 http://www.opensource.org/licenses/eclipse-1.0.php
org.restlet.ext.json-2.0.4.jar : LGPL 3.0 license http://www.opensource.org/licenses/lgpl-3.0.html, LGPL 2.1 license http://www.opensource.org/licenses/lgpl-2.1.php, CDDL 1.0 license http://www.opensource.org/licenses/cddl1.php, EPL 1.0 http://www.opensource.org/licenses/eclipse-1.0.php
org.restlet.ext.xml-2.0.4.jar : LGPL 3.0 license http://www.opensource.org/licenses/lgpl-3.0.html, LGPL 2.1 license http://www.opensource.org/licenses/lgpl-2.1.php, CDDL 1.0 license http://www.opensource.org/licenses/cddl1.php, EPL 1.0 http://www.opensource.org/licenses/eclipse-1.0.php
org.restlet.lib.org.json-2.0.jar : LGPL 3.0 license http://www.opensource.org/licenses/lgpl-3.0.html, LGPL 2.1 license http://www.opensource.org/licenses/lgpl-2.1.php, CDDL 1.0 license http://www.opensource.org/licenses/cddl1.php, EPL 1.0 http://www.opensource.org/licenses/eclipse-1.0.php
persistence-api-1.0.jar : CDDL http://www.opensource.org/licenses/cddl1
postgresql-8.4-701.jdbc4.jar : BSD http://www.opensource.org/licenses/bsd-license.php
saaj-api-1.3.jar : CDDL http://www.opensource.org/licenses/cddl1
saaj-impl-1.3.jar : CDDL http://www.opensource.org/licenses/cddl1
scannotation-1.0.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
serp-1.13.1.jar : BSD http://www.opensource.org/licenses/bsd-license.php
servlet-api-2.5.jar : http://developers.sun.com/license/berkeley_license.html
signavio-core-components-1.0.jar : MIT http://www.opensource.org/licenses/mit-license.php
slf4j-api-1.5.6.jar : MIT http://www.opensource.org/licenses/mit-license.php
slf4j-api-1.6.1.jar : MIT http://www.opensource.org/licenses/mit-license.php
slf4j-jdk14-1.6.1.jar : MIT http://www.opensource.org/licenses/mit-license.php
slf4j-log4j12-1.5.6.jar : MIT http://www.opensource.org/licenses/mit-license.php
spring-aop-3.0.3.RELEASE.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-asm-3.0.0.RELEASE.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-asm-3.0.3.RELEASE.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-beans-3.0.0.RELEASE.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-beans-3.0.3.RELEASE.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-context-3.0.0.RELEASE.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-context-3.0.3.RELEASE.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-context-support-3.0.0.RELEASE.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-core-3.0.0.RELEASE.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-core-3.0.3.RELEASE.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-expression-3.0.0.RELEASE.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-expression-3.0.3.RELEASE.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-jdbc-3.0.3.RELEASE.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-orm-3.0.3.RELEASE.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-surf-1.0.0-RC2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-surf-api-1.0.0-RC2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-surf-core-1.0.0-RC2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-surf-core-configservice-1.0.0-RC2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-test-3.0.3.RELEASE.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-tx-3.0.3.RELEASE.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-web-2.0.8.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-web-3.0.0.RELEASE.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-web-3.0.3.RELEASE.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-webmvc-3.0.0.RELEASE.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-webscripts-1.0.0-RC2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
spring-webscripts-api-1.0.0-RC2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
stax-api-1.0-2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
subethasmtp-smtp-1.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
subethasmtp-wiser-1.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
urlrewritefilter-3.1.0.jar : BSD http://www.opensource.org/licenses/bsd-license.php
vaadin-6.5.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
velocity-1.4.jar : http://www.apache.org/licenses/LICENSE-2.0.html
velocity-dep-1.4.jar : http://www.apache.org/licenses/LICENSE-2.0.html
wsdl4j-1.6.2.jar : http://www.opensource.org/licenses/cpl1.0.php
wstx-asl-3.2.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
wstx-asl-3.2.4.jar : http://www.apache.org/licenses/LICENSE-2.0.html
xercesImpl-2.9.1.jar : http://www.apache.org/licenses/LICENSE-2.0.html
xml-apis-1.0.b2.jar : CDDL http://www.opensource.org/licenses/cddl1
xml-apis-1.3.04.jar : CDDL http://www.opensource.org/licenses/cddl1
xml-resolver-1.2.jar : http://www.apache.org/licenses/LICENSE-2.0.html
xpp3_min-1.1.4c.jar : http://www.extreme.indiana.edu/viewcvs/~checkout~/XPP3/java/LICENSE.txt Apache 1.0 variant
xstream-1.3.1.jar : BSD http://www.opensource.org/licenses/bsd-license.php

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,5 @@
db=h2
jdbc.driver=org.h2.Driver
jdbc.url=jdbc:h2:tcp://localhost/activiti
jdbc.username=sa
jdbc.password=

View File

@ -0,0 +1,20 @@
# The tx property refers to the transaction environment
# you want to use. Choose from {standalone}
tx=standalone
# Specify the version of Tomcat that you want to use.
# We only tested with the given Tomcat version but in
# theory any tomcat 6.0.x version should do fine.
tomcat.version=6.0.32
# If you have tomcat already downloaded, point the
# downloads.dir property to that directly. If tomcat is
# not found in the downloads.dir, it will be automatically
# downloaded there.
downloads.dir=../../downloads
# Remove this property or set it to disabled if you're not using Activiti Cycle
feature.cycle=enabled
# Remove this property or set it to disabled if you're not using Activiti Modeler
feature.modeler=enabled

View File

@ -0,0 +1,495 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="activiti.setup" default="demo.start">
<!-- ### PROPERTIES #################################################################### -->
<property file="${user.home}/.activiti/build.properties" />
<property file="build.properties" />
<property file="build.db.properties" />
<property name="activiti.home" value=".." />
<property name="activiti.version" value="5.8" />
<property name="tomcat.url" value="http://activiti.org/downloads/" />
<property name="cycle.workspace" location="${activiti.home}/workspace/activiti-cycle-examples"/>
<property name="activiti.modeler.base.url" value="http://localhost:8080/activiti-modeler/" />
<!-- ### OS PROPERTIES #################################################################### -->
<condition property="is.windows">
<os family="Windows"/>
</condition>
<condition property="is.not.windows">
<not>
<os family="Windows"/>
</not>
</condition>
<!-- ### DEMO SETUP OPTIONAL FEATURES #################################################################### -->
<condition property="cycle.is.enabled">
<equals arg1="${feature.cycle}" arg2="enabled" />
</condition>
<condition property="modeler.is.enabled">
<equals arg1="${feature.modeler}" arg2="enabled" />
</condition>
<!-- ### EXAMPLES #################################################################### -->
<target name="inflate.examples"
description="Inflates the ${activiti.home}/workspace example projects with the required dependency libs"
depends="internal.cfg.create">
<mkdir dir="${activiti.home}/workspace/activiti-engine-examples/libs-runtime" />
<copy todir="${activiti.home}/workspace/activiti-engine-examples/libs-runtime">
<fileset dir="files/dependencies/libs" includesfile="${activiti.home}/setup/files/dependencies/libs.engine.runtime.txt" />
</copy>
<mkdir dir="${activiti.home}/workspace/activiti-engine-examples/libs-test" />
<copy todir="${activiti.home}/workspace/activiti-engine-examples/libs-test">
<fileset dir="files/dependencies/libs" includesfile="${activiti.home}/setup/files/dependencies/libs.engine.test.txt" />
</copy>
<mkdir dir="${activiti.home}/workspace/activiti-groovy-examples/libs-runtime" />
<copy todir="${activiti.home}/workspace/activiti-groovy-examples/libs-runtime">
<fileset dir="files/dependencies/libs" includesfile="${activiti.home}/setup/files/dependencies/libs.engine.runtime.txt" />
</copy>
<mkdir dir="${activiti.home}/workspace/activiti-groovy-examples/libs-test" />
<copy todir="${activiti.home}/workspace/activiti-groovy-examples/libs-test">
<fileset dir="files/dependencies/libs" includesfile="${activiti.home}/setup/files/dependencies/libs.engine.test.txt" />
<fileset dir="files/dependencies/libs" includesfile="${activiti.home}/setup/files/dependencies/libs.engine.runtime.feature.groovy.txt" />
</copy>
<mkdir dir="${activiti.home}/workspace/activiti-jpa-examples/libs-runtime" />
<copy todir="${activiti.home}/workspace/activiti-jpa-examples/libs-runtime">
<fileset dir="files/dependencies/libs" includesfile="${activiti.home}/setup/files/dependencies/libs.engine.runtime.txt" />
</copy>
<mkdir dir="${activiti.home}/workspace/activiti-jpa-examples/libs-test" />
<copy todir="${activiti.home}/workspace/activiti-jpa-examples/libs-test">
<fileset dir="files/dependencies/libs" includesfile="${activiti.home}/setup/files/dependencies/libs.engine.test.txt" />
<fileset dir="files/dependencies/libs" includesfile="${activiti.home}/setup/files/dependencies/libs.engine.runtime.feature.jpa.txt" />
</copy>
<move todir="${activiti.home}/workspace/activiti-jpa-examples/libs-runtime">
<fileset dir="${activiti.home}/workspace/activiti-jpa-examples/libs-test">
<include name="persistence-api-*.jar" />
</fileset>
</move>
<mkdir dir="${activiti.home}/workspace/activiti-spring-examples/libs-runtime" />
<copy todir="${activiti.home}/workspace/activiti-spring-examples/libs-runtime">
<fileset dir="files/dependencies/libs" includesfile="${activiti.home}/setup/files/dependencies/libs.spring.runtime.txt" />
<fileset dir="files/dependencies/libs" includesfile="${activiti.home}/setup/files/dependencies/libs.engine.runtime.txt" />
</copy>
<mkdir dir="${activiti.home}/workspace/activiti-spring-examples/libs-test" />
<copy todir="${activiti.home}/workspace/activiti-spring-examples/libs-test">
<fileset dir="files/dependencies/libs" includesfile="${activiti.home}/setup/files/dependencies/libs.engine.test.txt" />
<fileset dir="files/dependencies/libs" includesfile="${activiti.home}/setup/files/dependencies/libs.engine.runtime.feature.jpa.txt" />
<fileset dir="files/dependencies/libs" includesfile="${activiti.home}/setup/files/dependencies/libs.spring.test.txt" />
</copy>
<move todir="${activiti.home}/workspace/activiti-spring-examples/libs-runtime">
<fileset dir="${activiti.home}/workspace/activiti-spring-examples/libs-test">
<include name="persistence-api-*.jar" />
</fileset>
</move>
<mkdir dir="${activiti.home}/workspace/activiti-cxf-examples/libs-runtime" />
<copy todir="${activiti.home}/workspace/activiti-cxf-examples/libs-runtime">
<fileset dir="files/dependencies/libs" includesfile="${activiti.home}/setup/files/dependencies/libs.engine.runtime.txt" />
<fileset dir="files/dependencies/libs" includesfile="${activiti.home}/setup/files/dependencies/libs.engine.runtime.feature.cxf.txt" />
</copy>
<mkdir dir="${activiti.home}/workspace/activiti-cxf-examples/libs-test" />
<copy todir="${activiti.home}/workspace/activiti-cxf-examples/libs-test">
<fileset dir="files/dependencies/libs" includesfile="${activiti.home}/setup/files/dependencies/libs.engine.test.txt" />
</copy>
</target>
<!-- ### DEMO SETUP #################################################################### -->
<target name="demo.start"
description="Starts the demo setup and installs all components (if necessary)"
depends="demo.install,
h2.start,
tomcat.start,
explorer.browser.open" />
<available property="demo.is.installed" file="${activiti.home}/apps"/>
<target name="demo.install"
description="Installs Tomcat and H2 database, deploys the Activiti webapps, creates the db schema and deploys example processes"
unless="demo.is.installed">
<echo message="installing demo..." />
<antcall target="internal.build.webapps" />
<antcall target="h2.install" />
<antcall target="h2.start" />
<antcall target="internal.db.create" />
<antcall target="internal.db.demo.data" />
<antcall target="h2.stop" />
<antcall target="tomcat.install" />
<antcall target="deploy.activiti.webapps.into.tomcat" />
</target>
<target name="demo.clean"
description="Deletes the setup/apps directory including Tomcat and H2 installations">
<delete dir="${activiti.home}/apps" />
<delete dir="${activiti.home}/setup/build" />
</target>
<target name="demo.stop"
description="Stops tomcat and h2 database"
depends="tomcat.stop, h2.stop"/>
<!-- ### DB #################################################################### -->
<target name="internal.db.create"
depends="internal.classpath.libs">
<echo message="creating db" />
<java classname="org.activiti.engine.impl.db.DbSchemaUpdate" classpathref="classpath.libs" />
</target>
<target name="internal.db.drop"
depends="internal.classpath.libs">
<java classname="org.activiti.engine.impl.db.DbSchemaDrop" classpathref="classpath.libs" />
</target>
<target name="internal.db.demo.data"
depends="internal.cfg.create, internal.classpath.libs">
<echo message="populating demo data" />
<mkdir dir="build/demo" />
<copy file="files/demo/${db}.data.sql" todir="build/demo" />
<!-- replace some properties currently needed/used for cycle config -->
<replace file="build/demo/${db}.data.sql">
<replacefilter token="@activiti.modeler.base.url@" value="${activiti.modeler.base.url}" />
<replacefilter token="@cycle.base.file.path@" value="${cycle.workspace}" />
</replace>
<sql driver="${jdbc.driver}"
password="${jdbc.password}"
url="${jdbc.url}"
userid="${jdbc.username}"
classpathref="classpath.libs"
src="build/demo/${db}.data.sql"/>
<ant antfile="../workspace/activiti-engine-examples/build.xml" target="deploy" inheritall="false" />
</target>
<!-- ### DB #################################################################### -->
<condition property="h2.not.installed">
<not><available file="${activiti.home}/apps/h2"/></not>
</condition>
<condition property="db.install.supported">
<equals arg1="${db}" arg2="h2" />
</condition>
<target name="h2.install"
description="Installs the H2 db in the ${activiti.home}/apps/h2 directory"
depends="internal.db.install.h2, internal.db.install.h2.unnecessary, internal.db.install.unsupported" />
<target name="internal.db.install.h2"
if="h2.not.installed">
<echo message="Installing H2 database in ${activiti.home}/apps/h2" />
<mkdir dir="${activiti.home}/apps/h2" />
<copy todir="${activiti.home}/apps/h2">
<fileset dir="${activiti.home}/setup/files/dependencies/libs">
<include name="h2*.jar"/>
</fileset>
<fileset dir="files/h2" />
</copy>
<chmod perm="a+x">
<fileset dir="${activiti.home}/apps/h2">
<include name="*.sh"/>
</fileset>
</chmod>
</target>
<target name="internal.db.install.h2.unnecessary"
unless="h2.not.installed">
<echo message="H2 is already installed" />
</target>
<target name="internal.db.install.unsupported"
unless="db.install.supported">
<echo message="Automatic installation of ${db} DB not supported. It is assumed to be installed and running" />
</target>
<target name="h2.start"
description="Starts the H2 server"
depends="internal.taskdef.launch">
<echo message="starting H2 database..." />
<launch dir="${activiti.home}/apps/h2"
script="h2.start"
msg="TCP server running on"/>
<echo message="H2 database started" />
</target>
<target name="h2.stop"
description="Stops the H2 server"
depends="internal.taskdef.launch">
<launch dir="${activiti.home}/apps/h2"
script="h2.stop"/>
</target>
<target name="h2.console.start"
description="Launches the H2 web console and opens a browser on the page"
depends="internal.taskdef.launch">
<echo message="H2 Web Console" />
<echo message="==============" />
<echo message="JDBC URL: jdbc:h2:tcp://localhost/activiti" />
<echo message="Press CTRL+C to shutdown the console." />
<echo message="" />
<launch dir="${activiti.home}/apps/h2"
script="h2.console.start" /> <!-- Not using a launch complete msg, since there is no way
of stopping the h2 console later on,
so we don't want to let the ant task return-->
</target>
<!-- ### TOMCAT #################################################################### -->
<property name="tomcat.home" value="${activiti.home}/apps/apache-tomcat-${tomcat.version}" />
<property name="tomcat.filename" value="apache-tomcat-${tomcat.version}.zip" />
<property name="tomcat.download.url" value="${tomcat.url}${tomcat.filename}" />
<property name="tomcat.java.opts" value="-server -Xms128m -Xmx512m -XX:NewSize=64m -XX:MaxNewSize=64m -XX:PermSize=256m -XX:MaxPermSize=512m -Dfile.encoding=UTF-8" />
<property name="tomcat.distro" value="${downloads.dir}/${tomcat.filename}" />
<available property="is.tomcat.installed" file="${tomcat.home}/bin" />
<available property="is.tomcat.available" file="${tomcat.distro}" />
<available file="${user.home}/.activiti/tomcat-users.xml" property="tomcat.users.available" />
<target name="tomcat.install"
description="Installs apache tomcat in ${activiti.home}/apps/apache-tomcat-${tomcat.version}"
unless="is.tomcat.installed">
<antcall target="internal.tomcat.download" />
<antcall target="internal.tomcat.unzip" />
<antcall target="internal.tomcat.copy.users" />
<antcall target="internal.tomcat.enable.debug" />
<antcall target="internal.tomcat.apply.javaopts.other" />
<antcall target="internal.tomcat.apply.javaopts.windows" />
<copy file="${activiti.home}/setup/files/tomcat/logging.properties" todir="${tomcat.home}/conf" overwrite="true" />
</target>
<target name="internal.tomcat.download" unless="is.tomcat.available">
<mkdir dir="${downloads.dir}" />
<get src="${tomcat.download.url}" dest="${tomcat.distro}" />
</target>
<target name="internal.tomcat.unzip">
<mkdir dir="${activiti.home}/apps" />
<unzip src="${tomcat.distro}" dest="${activiti.home}/apps"/>
</target>
<target name="internal.download.tomcat" unless="is.tomcat.available">
<mkdir dir="${downloads.dir}" />
<get src="${tomcat.download.url}" dest="${tomcat.distro}" />
</target>
<target name="internal.tomcat.copy.users" if="tomcat.users.available">
<copy file="${user.home}/.activiti/tomcat-users.xml"
todir="${tomcat.home}/conf"
overwrite="true"/>
</target>
<target name="internal.tomcat.enable.debug" if="tomcat.enable.debug">
<echo>Enabling tomcat remote debugging ... </echo>
<replace file="${tomcat.home}/bin/startup.sh">
<replacetoken><![CDATA[exec "$PRGDIR"/"$EXECUTABLE" start "$@"]]></replacetoken>
<replacevalue><![CDATA[exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"]]></replacevalue>
</replace>
<replace file="${tomcat.home}/bin/startup.bat">
<replacetoken><![CDATA[call "%EXECUTABLE%" start %CMD_LINE_ARGS%]]></replacetoken>
<replacevalue><![CDATA[call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%]]></replacevalue>
</replace>
</target>
<target name="internal.tomcat.apply.javaopts.other" if="is.not.windows">
<replace file="${tomcat.home}/bin/catalina.sh">
<replacetoken><![CDATA[#!/bin/sh]]></replacetoken>
<replacevalue><![CDATA[#!/bin/sh
JAVA_OPTS=$JAVA_OPTS" @tomcat.java.opts@"
]]></replacevalue>
</replace>
<replace file="${tomcat.home}/conf/server.xml">
<replacetoken><![CDATA[port="8080"]]></replacetoken>
<replacevalue><![CDATA[port="8080" URIEncoding="UTF-8"]]></replacevalue>
</replace>
<replace file="${tomcat.home}/bin/catalina.sh" token="@tomcat.java.opts@" value="${tomcat.java.opts}" />
<chmod perm="a+x" os="Linux, Mac OS X">
<fileset dir="${tomcat.home}/bin">
<include name="*.sh" />
</fileset>
</chmod>
</target>
<target name="internal.tomcat.apply.javaopts.windows" if="is.windows">
<replace file="${tomcat.home}/bin/catalina.bat">
<replacetoken><![CDATA[rem ----- Execute The Requested Command ---------------------------------------]]></replacetoken>
<replacevalue><![CDATA[rem ----- Execute The Requested Command ---------------------------------------
set JAVA_OPTS=%JAVA_OPTS% @tomcat.java.opts@
]]></replacevalue>
</replace>
<replace file="${tomcat.home}/conf/server.xml">
<replacetoken><![CDATA[port="8080"]]></replacetoken>
<replacevalue><![CDATA[port="8080" URIEncoding="UTF-8"]]></replacevalue>
</replace>
<replace file="${tomcat.home}/bin/catalina.bat" token="@tomcat.java.opts@" value="${tomcat.java.opts}"/>
</target>
<target name="tomcat.start"
description="Starts the tomcat server"
depends="internal.taskdef.launch">
<launch dir="${activiti.home}/apps/apache-tomcat-${tomcat.version}/bin"
script="startup"
msg="Using CLASSPATH:" />
</target>
<target name="tomcat.stop"
description="Stops the tomcat server"
depends="internal.taskdef.launch">
<launch dir="${activiti.home}/apps/apache-tomcat-${tomcat.version}/bin"
script="shutdown"
msg="Using CLASSPATH:"/>
</target>
<!-- ### DEPLOY TO TOMCAT #################################################################### -->
<target name="deploy.activiti.webapps.into.tomcat"
depends="internal.build.webapps,
internal.deploy.activiti.rest.into.tomcat,
internal.deploy.activiti.explorer.into.tomcat" />
<target name="internal.build.webapps"
depends="internal.define.jdbc.driver.libs">
<mkdir dir="${activiti.home}/setup/build/webapps" />
<copy todir="${activiti.home}/setup/build/webapps">
<fileset dir="${activiti.home}/setup/files/webapps" />
</copy>
<!-- Activiti Explorer -->
<copy todir="${activiti.home}/setup/build/webapps/activiti-explorer.war/WEB-INF/lib">
<fileset dir="${activiti.home}/setup/files/dependencies/libs"
includesfile="${activiti.home}/setup/files/dependencies/libs.webapp.explorer.txt" />
</copy>
<propertyfile file="${activiti.home}/setup/build/webapps/activiti-explorer.war/WEB-INF/classes/db.properties">
<entry key="db" value="${db}" />
<entry key="jdbc.driver" value="${jdbc.driver}" />
<entry key="jdbc.url" value="${jdbc.url}" />
<entry key="jdbc.username" value="${jdbc.username}" />
<entry key="jdbc.password" value="${jdbc.password}" />
</propertyfile>
<!-- Activiti Rest -->
<copy todir="${activiti.home}/setup/build/webapps/activiti-rest.war/WEB-INF/lib">
<fileset dir="${activiti.home}/setup/files/dependencies/libs"
includesfile="${activiti.home}/setup/files/dependencies/libs.webapp.rest.txt" />
<fileset dir="${activiti.home}/setup/files/dependencies/libs"
includesfile="${activiti.home}/setup/files/dependencies/libs.engine.runtime.feature.groovy.txt" />
<fileset dir="${activiti.home}/setup/files/dependencies/libs"
includesfile="${activiti.home}/setup/files/dependencies/libs.engine.runtime.feature.cxf.txt" />
<fileset refid="jdbc.driver.libs" />
</copy>
</target>
<target name="internal.deploy.activiti.rest.into.tomcat">
<mkdir dir="${tomcat.home}/webapps/activiti-rest" />
<copy todir="${tomcat.home}/webapps/activiti-rest">
<fileset dir="${activiti.home}/setup/build/webapps/activiti-rest.war"/>
</copy>
</target>
<target name="internal.deploy.activiti.explorer.into.tomcat">
<mkdir dir="${tomcat.home}/webapps/activiti-explorer" />
<copy todir="${tomcat.home}/webapps/activiti-explorer">
<fileset dir="${activiti.home}/setup/build/webapps/activiti-explorer.war" />
</copy>
</target>
<!-- ### LAUNCH TASKDEF AND CLASSPATH #################################################################### -->
<target name="internal.taskdef.launch"
depends="internal.classpath.libs">
<taskdef name="launch" classname="org.activiti.engine.impl.ant.LaunchTask" classpathref="classpath.libs" />
</target>
<target name="internal.classpath.libs" depends="internal.cfg.create">
<path id="classpath.libs">
<fileset dir="${activiti.home}/setup/files/dependencies/libs">
<include name="*.jar" />
</fileset>
<fileset dir="${activiti.home}/setup/build">
<include name="activiti-cfg.jar" />
</fileset>
</path>
</target>
<target name="internal.define.jdbc.driver.libs">
<fileset id="jdbc.driver.libs" dir="${activiti.home}/setup/files/dependencies/libs">
<include name="h2-*.jar" />
</fileset>
</target>
<!-- ### OPEN BROWSER #################################################################### -->
<property name="macos.browser" value="/usr/bin/open" />
<property name="windows.browser" value="C:/Program Files/Mozilla Firefox/firefox.exe" />
<property name="linux.browser" value="firefox" />
<target name="explorer.browser.open">
<!-- Sleep for 5 second to be sure tomcat coyote http-connector is ready to accept connections -->
<sleep seconds="5"/>
<open-html-page url="http://localhost:8080/activiti-explorer" />
</target>
<macrodef name="open-html-page">
<attribute name="url" />
<sequential>
<exec executable="${macos.browser}" os="Mac OS X" failifexecutionfails="false" failonerror="false">
<arg value="@{url}" />
</exec>
<exec executable="cmd" os="Windows Vista, Windows XP,Windows 2000,Windows 98" failifexecutionfails="false" failonerror="false">
<arg value="/C start &quot;${windows.browser}&quot; &quot;@{url}&quot;" />
</exec>
<exec executable="${linux.browser}" os="Linux" failifexecutionfails="false" failonerror="false">
<arg value="@{url}" />
</exec>
</sequential>
</macrodef>
<!-- ### CFG #################################################################### -->
<target name="internal.cfg.create">
<mkdir dir="${activiti.home}/setup/build/activiti-cfg" />
<copy todir="${activiti.home}/setup/build/activiti-cfg" overwrite="true">
<filterset filtersfile="build.db.properties" />
<fileset dir="files/cfg.activiti/${tx}" />
</copy>
<zip destfile="${activiti.home}/setup/build/activiti-cfg.jar">
<fileset dir="${activiti.home}/setup/build/activiti-cfg" />
</zip>
<echo message="copying configuration to ${activiti.home}/workspace/activiti-engine-examples/src/main/config" />
<mkdir dir="${activiti.home}/workspace/activiti-engine-examples/src/main/config" />
<unzip src="${activiti.home}/setup/build/activiti-cfg.jar" dest="${activiti.home}/workspace/activiti-engine-examples/src/main/config" />
<replace file="${activiti.home}/workspace/activiti-engine-examples/src/main/config/activiti.cfg.xml">
<replacetoken><![CDATA[<!-- Database configurations -->]]></replacetoken>
<replacevalue><![CDATA[<!--
This configuration file is used by the deploy target
in the build.xml in the root of the activiti-engine-examples
project
This configuration is generated by the setup script
If you run the cfg.create target in the setup, keep
in mind that this file might be overwritten.
-->
<!-- Database configurations -->]]></replacevalue>
</replace>
</target>
</project>

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<!-- Database configurations -->
<property name="databaseSchemaUpdate" value="true" />
<property name="jdbcUrl" value="@jdbc.url@" />
<property name="jdbcDriver" value="@jdbc.driver@" />
<property name="jdbcUsername" value="@jdbc.username@" />
<property name="jdbcPassword" value="@jdbc.password@" />
<property name="jobExecutorActivate" value="true" />
<property name="dbCycleUsed" value="true" />
</bean>
</beans>

View File

@ -0,0 +1,6 @@
activiti.modeler.base.url=http://localhost:8080/activiti-modeler/
database=@db@
jdbc.driver=@jdbc.driver@
jdbc.url=@jdbc.url@
jdbc.username=@jdbc.username@
jdbc.password=@jdbc.password@

View File

@ -0,0 +1,305 @@
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* @author Falko Menge <falko.menge@camunda.com>
*/
// define namespace if it doesn't already exist
if (!ORYX) {
var ORYX = new Object();
}
if (!ORYX.Plugins) {
ORYX.Plugins = new Object();
}
ORYX.Plugins.ActivitiCycle = ORYX.Plugins.AbstractPlugin.extend({
button: undefined,
panel: undefined,
numberOfLinks: 1,
construct: function() {
// call super class constructor
arguments.callee.$.construct.apply(this, arguments);
// add button to toolbar
// this.facade.offer({
// 'name': 'Activiti Cycle: 0 Links',
// 'cls': 'x-btn-text-icon', // button with icon and text
// 'functionality': this.perform.bind(this),
// 'group': 'Activiti',
// 'icon': ORYX.PATH + "images/activiti_logo_16x16.png",
// 'description': 'Activiti Cycle',
// 'index': 1,
// 'minShape': 0,
// 'maxShape': 0
// });
this.panel = new Ext.Panel({
title: this.getPanelTitle(),
cls: 'activiticyclepanel',
border: false,
autoWidth: true,
autoScroll: true,
tbar: [{
text: 'Show links',
handler: this.showLinks.bind(this),
'cls': 'x-btn-text-icon', // button with icon and text
'icon': ORYX.PATH + "images/activiti_logo_16x16.png"
},{
text: 'Add link',
handler: this.openAddLinkDialog.bind(this),
'cls': 'x-btn-text-icon', // button with icon and text
'icon': ORYX.PATH + "images/activiti_logo_16x16.png"
}]//,
// html: '3 Artifacts linked with this model'
});
var region = this.facade.addToRegion("west", this.panel);
// this.button = new Ext.Button({
// text: 'Add Link',
// 'cls': 'x-btn-text-icon', // button with icon and text
// 'icon': ORYX.PATH + "images/activiti_logo_16x16.png",
// autoWidth: true,
// handler: this.perform.bind(this)
// });
// this.panel.add(this.button);
// this.panel.doLayout();
},
showLinks: function () {
// fake data
validExtensions = [ {
title : 'ABPM-2',
definition : 'User Story',
'extends' : 'JIRA'
} ];
loadedExtensions = [];
successCallback = this.openAddLinkDialog.bind(this);
// Extract the data
var data = [];
validExtensions.each(function(value){
data.push([value.title, value.definition, value["extends"]]);
});
// Create a new Selection Model
var sm = new Ext.grid.CheckboxSelectionModel();
// Create a new Grid with a selection box
var grid = new Ext.grid.GridPanel({
deferRowRender: false,
id: 'oryx_new_stencilset_extention_grid',
store: new Ext.data.SimpleStore({
fields: ['title', 'definition', 'extends']
}),
cm: new Ext.grid.ColumnModel([
sm,
{
header: 'Target Artifact',
width: 200,
sortable: true,
dataIndex: 'title'
},
{
header: 'Type',
width: 90,
sortable: true,
dataIndex: 'definition'
},
{
header: 'Repository',
width: 90,
sortable: true,
dataIndex: 'extends'
}
]),
sm: sm,
frame: true,
width: 400,
height: 400,
iconCls: 'icon-grid',
listeners: {
"render": function(){
this.getStore().loadData(data);
selectItems.defer(1);
}
}
});
function selectItems() {
// Select loaded extensions
var selectedRecords = new Array();
grid.store.each(function(rec) {
if(loadedExtensions.any(function(ext) { return ext.definition == rec.get('definition'); }))
selectedRecords.push(rec);
});
sm.selectRecords(selectedRecords);
}
/* grid.store.on("load", function() {
console.log("okay");
grid.getSelectionModel().selectRecords(selectedRecords);
}, this, {delay:500});*/
// Create a new Panel
var panel = new Ext.Panel({
items: [{
xtype: 'label',
text: 'The following list show artifacts from Activiti Cycle that are linked with the current model.',
style: 'margin:10px;display:block'
}, grid],
frame: true,
buttons: [{
text: 'Remove selected links',
handler: function(){
var selectionModel = Ext.getCmp('oryx_new_stencilset_extention_grid').getSelectionModel();
var result = selectionModel.selections.items.collect(function(item){
return item.data;
});
// Ext.getCmp('activiti_cycle_show_links_window').close();
successCallback(result);
}.bind(this)
}, {
text: 'Add link',
handler: function(){
var selectionModel = Ext.getCmp('oryx_new_stencilset_extention_grid').getSelectionModel();
var result = selectionModel.selections.items.collect(function(item){
return item.data;
});
// Ext.getCmp('activiti_cycle_show_links_window').close();
successCallback(result);
}.bind(this)
}, {
text: 'Close',
handler: function(){
Ext.getCmp('activiti_cycle_show_links_window').close();
}.bind(this)
}]
});
// Create a new Window
var window = new Ext.Window({
id: 'activiti_cycle_show_links_window',
width: 427,
title: 'Activiti Cycle: Linked Artifacts',
floating: true,
shim: true,
modal: true,
resizable: false,
autoHeight: true,
items: [panel]
});
// Show the window
window.show();
},
openAddLinkDialog: function () {
var options = [
[
undefined,
'User Story',
'user_story'
]
];
var store = new Ext.data.SimpleStore({
fields: [{name: 'icon'},
{name: 'title'},
{name: 'value'} ],
data : options
});
var typeCombo = new Ext.form.ComboBox({
tpl: '<tpl for="."><div class="x-combo-list-item">{[(values.icon) ? "<img src=\'" + values.icon + "\' />" : ""]} {title}</div></tpl>',
store: store,
displayField:'title',
valueField: 'value',
typeAhead: true,
mode: 'local',
triggerAction: 'all',
selectOnFocus:true
});
// Create a new Panel
var panel = new Ext.Panel({
items: [
{
xtype: 'label',
text: 'Please select the target artifact from Activiti Cycle that should be linked with the current model.',
style: 'margin-top:5px;margin-bottom:5px;display:block'
},
{
xtype: 'panel',
frame: true,
html: '<iframe src="http://localhost:8080/activiti-cycle/" width="389" height="300" frameborder="no" />'
},
{
xtype: 'label',
text: 'Type:',
style: 'margin-top:10px;display:block'
},
typeCombo
],
frame: true,
buttons: [{
text: 'Add link',
handler: function(){
this.addLink();
Ext.getCmp('activiti_cycle_add_link_window').close();
}.bind(this)
}, {
text: 'Cancel',
handler: function(){
Ext.getCmp('activiti_cycle_add_link_window').close();
}.bind(this)
}]
});
// Create a new Window
var window = new Ext.Window({
id: 'activiti_cycle_add_link_window',
width: 427,
title: 'Activiti Cycle: Add Link',
floating: true,
shim: true,
modal: true,
resizable: false,
autoHeight: true,
items: [panel]
});
// Show the window
window.show();
},
addLink: function () {
++this.numberOfLinks;
this.panel.setTitle(this.getPanelTitle());
},
getPanelTitle: function () {
return 'Activiti Cycle: ' + this.numberOfLinks + ' artifact' + (this.numberOfLinks == 1 ? '' : 's') + ' linked';
}
});

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,299 @@
{
"title" : "Activiti",
"title_de":"Activiti",
"namespace":"http://oryx-editor.org/stencilsets/extensions/bpmn2.0activiti#",
"description":"The subset of BPMN 2.0 supported by Activiti.",
"description":"Die von Activiti unterstützte Untermenge von BPMN 2.0.",
"extends":"http://b3mn.org/stencilset/bpmn2.0#",
"stencils":[
{
"type": "node",
"id":"UserTask",
"superId":"Task",
"title":"User Task",
"title_de":"Benutzeraufgabe",
"groups":["Activities"],
"groups_de":["Aktivitäten"],
"description":"A User Task is used to model work that needs to be done by a human actor. When the process execution arrives at such a user task, a new task is created in the task list of the user(s) or group(s) assigned to that task.",
"view":"activity/node.task.svg",
"icon":"activity/list/type.user.png",
"roles": [
"all",
"sequence_start",
"sequence_end",
"from_task_event",
"to_task_event",
"FromEventbasedGateway",
"messageflow_start",
"messageflow_end",
"fromtoall"
],
"properties": [
{
"id":"tasktype",
"value":"User"
}
]
},
{
"type": "node",
"id":"ServiceTask",
"superId":"Task",
"title":"Service Task",
"title_de":"Serviceaufgabe",
"groups":["Activities"],
"groups_de":["Aktivitäten"],
"description":"A Service Task is a Task that uses some sort of service, which could be a Web service or an automated application.",
"view":"activity/node.task.svg",
"icon":"activity/list/type.service.png",
"roles": [
"all",
"sequence_start",
"sequence_end",
"from_task_event",
"to_task_event",
"FromEventbasedGateway",
"messageflow_start",
"messageflow_end",
"fromtoall"
],
"properties": [
{
"id":"tasktype",
"value":"Service"
}
]
},
{
"type": "node",
"id":"ScriptTask",
"superId":"Task",
"title":"Script Task",
"title_de":"Skriptaufgabe",
"groups":["Activities"],
"groups_de":["Aktivitäten"],
"description":"A Script Task is executed by a business process engine. The modeler or implementer defines a script in a language that the engine can interpret. When the Task is ready to start, the engine will execute the script. When the script is completed, the Task will also be completed.",
"view":"activity/node.task.svg",
"icon":"activity/list/type.script.png",
"roles": [
"all",
"sequence_start",
"sequence_end",
"from_task_event",
"to_task_event",
"FromEventbasedGateway",
"messageflow_start",
"messageflow_end",
"fromtoall"
],
"properties": [
{
"id":"tasktype",
"value":"Script"
}
]
},
{
"type": "node",
"id":"ManualTask",
"superId":"Task",
"title":"Manual Task",
"title_de":"Manuelle Aufgabe",
"groups":["Activities"],
"groups_de":["Aktivitäten"],
"description":"A Manual Task defines a task that is external to the BPM engine. It is used to model work that is done by somebody, which the engine does not need to know of, nor is there a system of UI interface. For the engine, a manual task is handled as a pass-through activity, automatically continuing the process from the moment process execution arrives into it.",
"view":"activity/node.task.svg",
"icon":"activity/list/type.manual.png",
"roles": [
"all",
"sequence_start",
"sequence_end",
"from_task_event",
"to_task_event",
"FromEventbasedGateway",
"messageflow_start",
"messageflow_end",
"fromtoall"
],
"properties": [
{
"id":"tasktype",
"value":"Manual"
}
]
},
{
"type": "node",
"id":"SendTask",
"superId":"Task",
"title":"Send Task",
"title_de":"Sendeaufgabe",
"groups":["Activities"],
"groups_de":["Aktivitäten"],
"description":"A Send Task is a simple Task that is designed to send a Message to an external Participant (relative to the Process). Once the Message has been sent, the Task is completed.",
"view":"activity/node.task.svg",
"icon":"activity/list/type.send.png",
"roles": [
"all",
"sequence_start",
"sequence_end",
"from_task_event",
"to_task_event",
"FromEventbasedGateway",
"messageflow_start",
"messageflow_end",
"fromtoall"
],
"properties": [
{
"id":"tasktype",
"value":"Send"
}
]
},
{
"type": "node",
"id":"ReceiveTask",
"superId":"Task",
"title":"Receive Task",
"title_de":"Empfangsaufgabe",
"groups":["Activities"],
"groups_de":["Aktivitäten"],
"description":"A Receive Task is a simple Task that is designed to wait for a Message to arrive from an external Participant (relative to the Process). Once the Message has been received, the Task is completed.",
"view":"activity/node.task.svg",
"icon":"activity/list/type.receive.png",
"roles": [
"all",
"sequence_start",
"sequence_end",
"from_task_event",
"to_task_event",
"FromEventbasedGateway",
"messageflow_start",
"messageflow_end",
"fromtoall"
],
"properties": [
{
"id":"tasktype",
"value":"Receive"
}
]
},
{
"type": "node",
"id":"CallActivity",
"superId":"CollapsedSubprocess",
"title":"Call Activity",
"title_de":"Aufrufaufgabe",
"groups":["Activities"],
"groups_de":["Aktivitäten"],
"description":"A Call Activity acts as a wrapper for the invocation of a global Process or Global Task within the execution.",
"view":"activity/subprocess.collapsed.svg",
"icon":"activity/subprocess.png",
"roles": [
"all",
"sequence_start",
"sequence_end",
"messageflow_start",
"messageflow_end",
"to_task_event",
"from_task_event",
"fromtoall",
"ActivitiesMorph"
],
"properties": [
{
"id":"callacitivity",
"value":"true"
}
]
},
{
"type": "node",
"id":"ExpandedSubProcess",
"superId":"Subprocess",
"title" : "Expanded Subprocess",
"title_de" : "Aufgeklappter Unterprozess",
"groups" : ["Activities"],
"groups_de" : ["Aktivitäten"],
"description" : "A subprocess is a decomposable activity. An expanded subprocess contains a valid BPMN diagram.",
"description_de" : "Ein Unterprozess ist eine verfeinerte Aktivität. Ein aufgeklappter Unterprozess enthält in sich ein eigenes BPMN Diagramm, welches direkt innerhalb modelliert wird.",
"view" : "activity/subprocess.expanded.svg",
"icon" : "activity/expanded.subprocess.png",
"roles" : [
"all",
"sequence_start",
"sequence_end",
"messageflow_start",
"messageflow_end",
"to_task_event",
"from_task_event",
"fromtoall",
"canContainArtifacts",
"ActivitiesMorph"
],
"properties": [
]
}
],
"properties":[],
"rules": {
"connectionRules": [],
"cardinalityRules": [],
"containmentRules": []
},
"removestencils": [
"Subprocess",
"CollapsedSubprocess",
"ITSystem",
"EventSubprocess",
"CollapsedEventSubprocess",
"DataStore",
"Message",
"StartErrorEvent",
"StartCompensationEvent",
"StartParallelMultipleEvent",
"StartEscalationEvent",
"IntermediateParallelMultipleEventCatching",
"IntermediateEscalationEvent",
"EndEscalationEvent",
"IntermediateEscalationEventThrowing",
"EventbasedGateway",
"InclusiveGateway",
"ComplexGateway",
"CollapsedPool",
"processparticipant",
"DataObject",
"StartConditionalEvent",
"StartSignalEvent",
"StartTimerEvent",
"StartMultipleEvent",
"StartMessageEvent",
"IntermediateEvent",
"IntermediateMessageEventCatching",
"IntermediateMessageEventThrowing",
"IntermediateErrorEvent",
"IntermediateCancelEvent",
"IntermediateCompensationEventCatching",
"IntermediateCompensationEventThrowing",
"IntermediateConditionalEvent",
"IntermediateSignalEventCatching",
"IntermediateSignalEventThrowing",
"IntermediateMultipleEventCatching",
"IntermediateMultipleEventThrowing",
"IntermediateLinkEventCatching",
"IntermediateLinkEventThrowing",
"EndMessageEvent",
"EndErrorEvent",
"EndCancelEvent",
"EndCompensationEvent",
"EndSignalEvent",
"EndMultipleEvent",
"EndTerminateEvent",
"Association_Unidirectional",
"Association_Bidirectional",
"MessageFlow"
],
"removeproperties": []
}

View File

@ -0,0 +1,3 @@
host = http://localhost:8080
fileSystemRootDirectory = ../../../workspace/activiti-modeler-examples

View File

@ -0,0 +1,33 @@
{
"extensions": [
{
"title" : "Activiti",
"title_de":"Activiti",
"namespace" : "http://oryx-editor.org/stencilsets/extensions/bpmn2.0activiti#",
"description":"The subset of BPMN 2.0 supported by Activiti.",
"description_de":"Die von Activiti unterstützte Untermenge von BPMN 2.0.",
"definition":"bpmn2.0activiti/bpmn2.0activiti.json",
"extends":"http://b3mn.org/stencilset/bpmn2.0#"
}
],
"perspectives": [
{
"title":"BPMN (Complete)",
"title_de":"BPMN (Vollständig)",
"namespace":"http://oryx-editor.org/stencilsets/perspectives/academicbpmn2#",
"description":"BPMN complete. Features the whole standard and all elements from the specification.",
"description_de":"BPMN in dem kompletten standardisierten Umfang (sämtliche Modellierungskonstrukte).",
"stencilset":"http://b3mn.org/stencilset/bpmn2.0#",
"extensions" : []
},
{
"title":"BPMN (Activiti)",
"title_de":"BPMN (Activiti)",
"namespace" : "http://oryx-editor.org/stencilsets/perspectives/activitibpmn2#",
"description":"The subset of BPMN 2.0 supported by Activiti.",
"description_de":"Die von Activiti unterstützte Untermenge von BPMN 2.0.",
"stencilset" : "http://b3mn.org/stencilset/bpmn2.0#",
"extensions" : ["http://oryx-editor.org/stencilsets/extensions/bpmn2.0activiti#"]
}
]
}

View File

@ -0,0 +1,114 @@
insert into ACT_ID_GROUP values ('admin', 1, 'System administrator', 'security-role');
insert into ACT_ID_GROUP values ('user', 1, 'User', 'security-role');
insert into ACT_ID_GROUP values ('manager', 1, 'Manager', 'security-role');
insert into ACT_ID_GROUP values ('management', 1, 'Management', 'assignment');
insert into ACT_ID_GROUP values ('accountancy', 1, 'Accountancy', 'assignment');
insert into ACT_ID_GROUP values ('engineering', 1, 'Engineering', 'assignment');
insert into ACT_ID_GROUP values ('sales', 1, 'Sales', 'assignment');
insert into ACT_ID_USER values ('kermit', 1, 'Kermit', 'the Frog', 'kermit@localhost', 'kermit', '');
insert into ACT_ID_MEMBERSHIP values ('kermit', 'admin');
insert into ACT_ID_MEMBERSHIP values ('kermit', 'manager');
insert into ACT_ID_MEMBERSHIP values ('kermit', 'management');
insert into ACT_ID_MEMBERSHIP values ('kermit', 'accountancy');
insert into ACT_ID_MEMBERSHIP values ('kermit', 'engineering');
insert into ACT_ID_MEMBERSHIP values ('kermit', 'sales');
insert into ACT_ID_USER values ('fozzie', 1, 'Fozzie', 'Bear', 'fozzie@localhost', 'fozzie', '');
insert into ACT_ID_MEMBERSHIP values ('fozzie', 'user');
insert into ACT_ID_MEMBERSHIP values ('fozzie', 'accountancy');
insert into ACT_ID_USER values ('gonzo', 1, 'Gonzo', 'the Great', 'gonzo@localhost', 'gonzo', '');
insert into ACT_ID_MEMBERSHIP values ('gonzo', 'manager');
insert into ACT_ID_MEMBERSHIP values ('gonzo', 'management');
insert into ACT_ID_MEMBERSHIP values ('gonzo', 'accountancy');
insert into ACT_ID_MEMBERSHIP values ('gonzo', 'sales');
update ACT_GE_PROPERTY
set VALUE_ = '10'
where NAME_ = 'next.dbid';
insert into ACT_CY_CONN_CONFIG values ('1',
'org.activiti.cycle.impl.connector.fs.FileSystemConnector',
'Eclipse Workspace (File System)',
'Workspace',
'kermit', '',
'<map><entry><string>basePath</string><string>@cycle.base.file.path@</string></entry></map>');
insert into ACT_CY_CONN_CONFIG values ('2',
'org.activiti.cycle.impl.connector.signavio.SignavioConnector',
'Activiti Modeler',
'Activiti',
'kermit', '',
'<map>
<entry><string>signavioBaseUrl</string><string>@activiti.modeler.base.url@</string></entry>
<entry><string>loginRequired</string><boolean>false</boolean></entry>
</map>');
insert into ACT_CY_CONN_CONFIG values ('3',
'org.activiti.cycle.impl.connector.fs.FileSystemConnector',
'Eclipse Workspace (File System)',
'Workspace',
'fozzie', '',
'<map><entry><string>basePath</string><string>@cycle.base.file.path@</string></entry></map>');
insert into ACT_CY_CONN_CONFIG values ('4',
'org.activiti.cycle.impl.connector.signavio.SignavioConnector',
'Activiti Modeler',
'Activiti',
'fozzie', '',
'<map>
<entry><string>signavioBaseUrl</string><string>@activiti.modeler.base.url@</string></entry>
<entry><string>loginRequired</string><boolean>false</boolean></entry>
</map>');
insert into ACT_CY_CONN_CONFIG values ('5',
'org.activiti.cycle.impl.connector.fs.FileSystemConnector',
'Eclipse Workspace (File System)',
'Workspace',
'gonzo', '',
'<map><entry><string>basePath</string><string>@cycle.base.file.path@</string></entry></map>');
insert into ACT_CY_CONN_CONFIG values ('6',
'org.activiti.cycle.impl.connector.signavio.SignavioConnector',
'Activiti Modeler',
'Activiti',
'gonzo', '',
'<map>
<entry><string>signavioBaseUrl</string><string>@activiti.modeler.base.url@</string></entry>
<entry><string>loginRequired</string><boolean>false</boolean></entry>
</map>');
insert into ACT_CY_CONFIG values ('1',
'processSolutionTemplates',
'default',
'<processSolutionTemplate>
<vFolder type="Management" name="Management" connectorId="Workspace" referencedNodeId="/" />
<vFolder type="Processes" name="Processes" connectorId="Activiti" referencedNodeId="/root-directory" />
<vFolder type="Requirements" name="Requirements" connectorId="Workspace" referencedNodeId="/" />
<vFolder type="Implementation" name="Implementation" connectorId="Workspace" referencedNodeId="/" />
</processSolutionTemplate>');
insert into ACT_CY_PROCESS_SOLUTION values ('ps1',
'Easy Bugfiling Process',
'IN_SPECIFICATION');
insert into ACT_CY_V_FOLDER values('ps1Management',
'Management',
'Workspace',
'/EasyBugFilingProcess/Management',
'ps1',
'Management');
insert into ACT_CY_V_FOLDER values('ps1Requirements',
'Requirements',
'Workspace',
'/EasyBugFilingProcess/Requirements',
'ps1',
'Requirements');
insert into ACT_CY_V_FOLDER values('ps1Implementation',
'Implementation',
'Workspace',
'/EasyBugFilingProcess/Implementation',
'ps1',
'Implementation');

View File

@ -0,0 +1,3 @@
@echo off
java -cp h2*.jar org.h2.tools.Server -web -webAllowOthers -browser

View File

@ -0,0 +1,3 @@
#!/bin/sh
java -cp h2*.jar org.h2.tools.Server -web -webAllowOthers -browser

View File

@ -0,0 +1,3 @@
@echo off
java -cp h2*.jar org.h2.tools.Server -baseDir . -tcp -tcpAllowOthers

View File

@ -0,0 +1,3 @@
#!/bin/sh
java -cp h2*.jar org.h2.tools.Server -baseDir . -tcp -tcpAllowOthers

View File

@ -0,0 +1,3 @@
@echo off
java -cp h2*.jar org.h2.tools.Server -tcpShutdown tcp://localhost:9092

View File

@ -0,0 +1,3 @@
#!/bin/sh
java -cp h2*.jar org.h2.tools.Server -tcpShutdown tcp://localhost:9092

View File

@ -0,0 +1,65 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.
2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.
3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.FileHandler.prefix = manager.
4host-manager.org.apache.juli.FileHandler.level = FINE
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler
############################################################
# Custom log settings for Activiti classes go here
############################################################
# Activiti classes log level set to FINE
org.activiti.level = FINE
org.activiti.handlers = 1catalina.org.apache.juli.FileHandler

View File

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/test/java"/>
<classpathentry kind="src" path="src/test/resources"/>
<classpathentry kind="lib" path="libs-runtime/activation-1.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/activiti-cxf-5.8-sources.jar"/>
<classpathentry kind="lib" path="libs-runtime/activiti-cxf-5.8.jar"/>
<classpathentry kind="lib" path="libs-runtime/activiti-engine-5.8-sources.jar"/>
<classpathentry kind="lib" path="libs-runtime/activiti-engine-5.8.jar"/>
<classpathentry kind="lib" path="libs-runtime/aopalliance-1.0.jar"/>
<classpathentry kind="lib" path="libs-runtime/commons-email-1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/commons-lang-2.4.jar"/>
<classpathentry kind="lib" path="libs-runtime/commons-logging-1.1.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/cxf-api-2.1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/cxf-common-schemas-2.1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/cxf-common-utilities-2.1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/cxf-rt-bindings-soap-2.1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/cxf-rt-bindings-xml-2.1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/cxf-rt-core-2.1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/cxf-rt-databinding-jaxb-2.1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/cxf-rt-frontend-jaxws-2.1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/cxf-rt-frontend-simple-2.1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/cxf-rt-transports-http-2.1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/cxf-rt-transports-http-jetty-2.1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/cxf-rt-ws-addr-2.1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/cxf-tools-common-2.1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/FastInfoset-1.2.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/geronimo-annotation_1.0_spec-1.1.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/geronimo-jaxws_2.1_spec-1.0.jar"/>
<classpathentry kind="lib" path="libs-runtime/geronimo-servlet_2.5_spec-1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/geronimo-stax-api_1.0_spec-1.0.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/geronimo-ws-metadata_2.0_spec-1.1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/h2-1.2.132.jar"/>
<classpathentry kind="lib" path="libs-runtime/jaxb-api-2.2.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/jaxb-impl-2.2.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/jaxb-xjc-2.1.7.jar"/>
<classpathentry kind="lib" path="libs-runtime/jetty-6.1.9.jar"/>
<classpathentry kind="lib" path="libs-runtime/jetty-util-6.1.9.jar"/>
<classpathentry kind="lib" path="libs-runtime/junit-4.8.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/livetribe-jsr223-2.0.6.jar"/>
<classpathentry kind="lib" path="libs-runtime/mail-1.4.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/mybatis-3.0.4.jar"/>
<classpathentry kind="lib" path="libs-runtime/neethi-2.0.4.jar"/>
<classpathentry kind="lib" path="libs-runtime/saaj-api-1.3.jar"/>
<classpathentry kind="lib" path="libs-runtime/saaj-impl-1.3.jar"/>
<classpathentry kind="lib" path="libs-runtime/servlet-api-2.5.jar"/>
<classpathentry kind="lib" path="libs-runtime/slf4j-api-1.6.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/slf4j-jdk14-1.6.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-aop-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-asm-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-beans-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-context-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-core-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-expression-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-web-2.0.8.jar"/>
<classpathentry kind="lib" path="libs-runtime/velocity-1.4.jar"/>
<classpathentry kind="lib" path="libs-runtime/velocity-dep-1.4.jar"/>
<classpathentry kind="lib" path="libs-runtime/wsdl4j-1.6.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/wstx-asl-3.2.4.jar"/>
<classpathentry kind="lib" path="libs-runtime/xercesImpl-2.9.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/xml-apis-1.3.04.jar"/>
<classpathentry kind="lib" path="libs-runtime/xml-resolver-1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/XmlSchema-1.4.2.jar"/>
<classpathentry kind="lib" path="libs-test/drools-api-5.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/drools-compiler-5.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/drools-core-5.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/ecj-3.5.1.jar"/>
<classpathentry kind="lib" path="libs-test/geronimo-jta_1.1_spec-1.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/h2-1.2.132.jar"/>
<classpathentry kind="lib" path="libs-test/hamcrest-core-1.1.jar"/>
<classpathentry kind="lib" path="libs-test/jtds-1.2.4.jar"/>
<classpathentry kind="lib" path="libs-test/junit-4.8.1.jar"/>
<classpathentry kind="lib" path="libs-test/mockito-core-1.8.2.jar"/>
<classpathentry kind="lib" path="libs-test/mvel2-2.0.16.jar"/>
<classpathentry kind="lib" path="libs-test/mysql-connector-java-5.1.6.jar"/>
<classpathentry kind="lib" path="libs-test/objenesis-1.0.jar"/>
<classpathentry kind="lib" path="libs-test/postgresql-8.4-701.jdbc4.jar"/>
<classpathentry kind="lib" path="libs-test/subethasmtp-smtp-1.2.jar"/>
<classpathentry kind="lib" path="libs-test/subethasmtp-wiser-1.2.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>activiti-cxf-examples</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,4 @@
# Defines the home directory of the Activiti installation.
# The value is either the absolute path to ${acitviti.home} or the relative path
activiti.home = C://Projekte_Activiti/activiti/distro/target/activiti-5.8
activiti.tomcat.lib = C://Projekte_Activiti/activiti/distro/target/activiti-5.8/apps/apache-tomcat-6.0.29/lib

View File

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="EasyBugFilingProcess" default="compile">
<property file="build.properties" />
<property name="target.dir" value="target" />
<property name="activiti.cfg.jar" value="${activiti.tomcat.home.lib}/activiti-cfg.jar" />
<property name="maven.repo.local" value="${user.home}/.m2/repository" />
<property name="maven.ant.tasks.version" value="2.1.3" />
<property name="maven.ant.tasks.dir" value="${maven.repo.local}/org/apache/maven/maven-ant-tasks/${maven.ant.tasks.version}/" />
<property name="maven.ant.tasks.jar" value="${maven.ant.tasks.dir}/maven-ant-tasks-${maven.ant.tasks.version}.jar" />
<property name="maven.ant.tasks.bootstrap.location"
value="http://repo1.maven.org/maven2/org/apache/maven/maven-ant-tasks/${maven.ant.tasks.version}/maven-ant-tasks-${maven.ant.tasks.version}.jar" />
<available property="maven.ant.tasks.jar.exists" file="${maven.ant.tasks.jar}" />
<!--
This will download the "latest version" of the maven-ant-tasks if
needed
-->
<target name="bootstrap.maven.tasks" unless="maven.ant.tasks.jar.exists">
<mkdir dir="${maven.ant.tasks.dir}" />
<get src="${maven.ant.tasks.bootstrap.location}" dest="${maven.ant.tasks.jar}" />
</target>
<!-- This will make the connection of ANT to your maven project -->
<target name="mvn.init" unless="compile.classpath" depends="bootstrap.maven.tasks"
xmlns:artifact="urn:maven-artifact-ant">
<typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant" classpath="${maven.ant.tasks.jar}" />
<condition property="maven.repo.local" value="${maven.repo.local}" else="${user.home}/.m2/repository">
<isset property="maven.repo.local" />
</condition>
<echo>Using maven.repo.local=${maven.repo.local}</echo>
<artifact:localRepository id="local.repository" path="${maven.repo.local}" />
<artifact:pom file="pom.xml" id="maven.project" />
<artifact:dependencies pathId="compile.classpath" filesetId="compile.fileset" useScope="compile">
<pom refid="maven.project" />
<localRepository refid="local.repository" />
</artifact:dependencies>
<artifact:dependencies pathId="test.classpath" filesetId="test.fileset" useScope="test">
<pom refid="maven.project" />
<localRepository refid="local.repository" />
</artifact:dependencies>
<artifact:dependencies pathId="runtime.classpath" filesetId="runtime.fileset" useScope="runtime">
<pom refid="maven.project" />
<localRepository refid="local.repository" />
</artifact:dependencies>
</target>
<target name="clean">
<delete dir="target" />
</target>
<target name="compile" depends="mvn.init">
<mkdir dir="target/classes" />
<javac srcdir="src/main/java" destdir="target/classes"
classpathref="compile.classpath" />
<copy todir="target/classes">
<fileset dir="src/main/java" excludes="**/*.java" />
</copy>
<copy todir="target/classes" failonerror="false">
<fileset dir="src/main/resources" />
</copy>
</target>
<!-- package our jar file -->
<target name="package" depends="compile">
<jar destfile="${target.dir}/${ant.project.name}.jar" basedir="target/classes">
<include name="**/*.class" />
</jar>
<jar destfile="${target.dir}/${ant.project.name}.bar" basedir="src/main/resources">
<include name="**/*.bpmn20.xml" />
<include name="**/*.form" />
</jar>
</target>
<target name="deploy.bar" depends="package, mvn.init">
<taskdef name="deploy-bar" classname="org.activiti.engine.impl.ant.DeployBarTask">
<classpath>
<!-- add activiti.cfg.xml for database connection -->
<pathelement location="target/classes" />
<path refid="runtime.classpath" />
</classpath>
</taskdef>
<deploy-bar file="${target.dir}/${ant.project.name}.bar" />
</target>
<target name="deploy.jar" depends="package">
<!-- A bit hacky, but quickest way to deploy classes to your Tomcat -->
<copy file="${target.dir}/${ant.project.name}.jar" todir="${activiti.tomcat.lib}"/>
<echo message="Restart your Tomcat that the changes in the classpath can take effect" />
</target>
<target name="print">
<sequential>
<pathconvert pathsep="${line.separator}" property="echopath"
refid="runtime.classpath" />
<echo> ------- echoing runtime.classpath -------</echo>
<echo>${echopath}</echo>
</sequential>
</target>
</project>

View File

@ -0,0 +1,55 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<name>EasyBugFilingProcess</name>
<groupId>org.activiti</groupId>
<artifactId>EasyBugFilingProcess</artifactId>
<version>5.8</version>
<packaging>jar</packaging>
<parent>
<!-- use the parent for correct dependency versions -->
<groupId>org.activiti</groupId>
<artifactId>activiti-root</artifactId>
<version>5.8</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<!--
<version>3.8.1</version>
-->
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<!--
<version>5.8</version>
-->
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<!--
<version>1.2.132</version>
-->
</dependency>
</dependencies>
<repositories>
<repository>
<id>camunda</id>
<url>http://fox.camunda.com/mvn/</url>
</repository>
</repositories>
</project>

View File

@ -0,0 +1,4 @@
This is the result of a demo we did for a screencast available here:
http://www.bpm-guide.de/wp-content/uploads/2010/11/EasyBugFilingProcess/EasyBugFilingProcess.html
This project works if you adjust the build.properties to your needs.

View File

@ -0,0 +1,22 @@
package com.camunda.training.client;
import java.util.HashMap;
import java.util.Map;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RuntimeService;
public class StartProcess {
public static void main(String[] args) {
ProcessEngines.init();
ProcessEngine processEngine = ProcessEngines.getProcessEngine(ProcessEngines.NAME_DEFAULT);
RuntimeService runtimeService = processEngine.getRuntimeService();
Map<String,Object> variables = new HashMap<String,Object>();
variables.put("test", "test");
runtimeService.startProcessInstanceByKey("EasyBugFilingProcess", variables);
}
}

View File

@ -0,0 +1,14 @@
package com.camunda.training.delegate;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.JavaDelegate;
public class FileIssueDelegate implements JavaDelegate {
public void execute(DelegateExecution execution) throws Exception {
System.out.println("We create a issue for execution id " + execution.getId());
}
}

View File

@ -0,0 +1,13 @@
package com.camunda.training.delegate;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.JavaDelegate;
import org.activiti.engine.impl.runtime.ExecutionEntity;
public class SysoutDelegate implements JavaDelegate {
public void execute(DelegateExecution execution) throws Exception {
System.out.println("Execution " + execution.getId() + " passes by " + ((ExecutionEntity)execution).getActivityId() + "...");
}
}

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<definitions xmlns:activiti="http://activiti.org/bpmn" id="sid-00be6558-49c4-4c46-bb85-c18f49f79820" targetNamespace="http://www.omg.org/bpmn20" xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL">
<process name="EasyBugFilingProcess" id="EasyBugFilingProcess">
<startEvent name="new bug report filed" id="new_bug_report_filed" activiti:formKey="fileBug.form"/>
<userTask activiti:assignee="kermit" name="Handle bug" id="Handle_bug" activiti:formKey="handleBug.form"/>
<exclusiveGateway gatewayDirection="Diverging" name="is bug?" id="is_bug_"/>
<serviceTask activiti:class="com.camunda.training.delegate.FileIssueDelegate" name="insert into issue tracker" id="insert_into_issue_tracker"/>
<exclusiveGateway gatewayDirection="Converging" name="" id="Exclusive_Databased_Gateway"/>
<serviceTask name="send notification email to customer" id="send_notification_email_to_customer" activiti:type="mail">
<extensionElements>
<activiti:field name="from" stringValue="activiti@camunda.com" />
<activiti:field name="to" expression="${email}" />
<activiti:field name="subject" expression="Your issue id ${execution.id} has been worked on" />
<activiti:field name="html">
<activiti:expression>
<![CDATA[
<html>
<body>
Hello from Activiti.
</body>
</html>
]]>
</activiti:expression>
</activiti:field>
</extensionElements>
</serviceTask>
<endEvent name="" id="EndNoneEvent"/>
<sequenceFlow targetRef="Handle_bug" sourceRef="new_bug_report_filed" name="" id="SequenceFlow_1"/>
<sequenceFlow targetRef="is_bug_" sourceRef="Handle_bug" name="" id="SequenceFlow"/>
<sequenceFlow targetRef="insert_into_issue_tracker" sourceRef="is_bug_" name="" id="SequenceFlow_2">
<conditionExpression xsi:type="tFormalExpression" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">${isBug}</conditionExpression>
</sequenceFlow>
<sequenceFlow targetRef="Exclusive_Databased_Gateway" sourceRef="insert_into_issue_tracker" name="" id="SequenceFlow_3"/>
<sequenceFlow targetRef="send_notification_email_to_customer" sourceRef="Exclusive_Databased_Gateway" name="" id="SequenceFlow_4"/>
<sequenceFlow targetRef="EndNoneEvent" sourceRef="send_notification_email_to_customer" name="" id="SequenceFlow_5"/>
<sequenceFlow targetRef="Exclusive_Databased_Gateway" sourceRef="is_bug_" name="" id="SequenceFlow_6">
<conditionExpression xsi:type="tFormalExpression" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">${!isBug}</conditionExpression>
</sequenceFlow>
</process>
</definitions>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<!-- Database configurations -->
<property name="databaseSchemaUpdate" value="true" />
</bean>
</beans>

View File

@ -0,0 +1,18 @@
<h1>File bug</h1>
<p>
<b>Email: </b>
<input type="text" name="email" value="" />
<input type="hidden" name="email_required" value="true" />
<p>
<p>
<b>Title: </b>
<input type="text" name="title" value="" />
<input type="hidden" name="title_required" value="true" />
<p>
<p>
<b>Bug description:</b><br/>
<textarea name="description" value=""></textarea>
</p>

View File

@ -0,0 +1,20 @@
<h1>Please handle this bug</h1>
<p>
<b>Email:</b> ${email}
<p>
<p>
<b>Title:</b> ${title}
<p>
<p>
<b>Description:</b> ${description}
<p>
<p>
<b>Is it really a bug?</b><br/>
<input type="radio" name="isBug" value="true" checked="true"/> Yes <br/>
<input type="radio" name="isBug" value="false"/> No <br/>
<input type="hidden" name="isBug_type" value="Boolean"/>
</p>

View File

@ -0,0 +1,5 @@
handlers = java.util.logging.ConsoleHandler
.level = FINE
java.util.logging.ConsoleHandler.level=FINEST
java.util.logging.ConsoleHandler.formatter=org.activiti.engine.impl.util.LogUtil$LogFormatter

View File

@ -0,0 +1,41 @@
package com.camunda.training;
import java.util.HashMap;
import java.util.List;
import org.activiti.engine.history.HistoricProcessInstance;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.activiti.engine.test.ActivitiTestCase;
import org.activiti.engine.test.Deployment;
public class ProcessTestCase extends ActivitiTestCase {
public void assertInActivity(String processInstanceId, String activityId) {
List<String> activeActivityIds = runtimeService.getActiveActivityIds(processInstanceId);
assertTrue("Current activities (" + activeActivityIds + ") does not contain " + activityId, activeActivityIds.contains(activityId));
}
@Deployment(resources = "EasyBugFilingProcess.bpmn20.xml")
public void testHappyPath() {
HashMap<String, Object> variables = new HashMap<String, Object>();
variables.put("email", "bernd.ruecker@camunda.com");
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("EasyBugFilingProcess", variables);
String id = processInstance.getId();
System.out.println("Started process instance id " + id);
assertInActivity(id, "Handle_bug");
Task task = taskService.createTaskQuery().taskAssignee("kermit").singleResult();
variables = new HashMap<String, Object>();
variables.put("isBug", Boolean.TRUE);
taskService.complete(task.getId(), variables);
assertProcessEnded(id);
HistoricProcessInstance historicProcessInstance = historicDataService.createHistoricProcessInstanceQuery().processInstanceId(id).singleResult();
assertNotNull(historicProcessInstance);
System.out.println("Finished, took " + historicProcessInstance.getDurationInMillis() + " millis");
}
}

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration">
</bean>
</beans>

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="src" path="src/main/process"/>
<classpathentry kind="src" path="src/test/java"/>
<classpathentry kind="src" path="src/test/resources"/>
<classpathentry kind="lib" path="libs-runtime/activation-1.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/activiti-engine-5.8-sources.jar"/>
<classpathentry kind="lib" path="libs-runtime/activiti-engine-5.8.jar" sourcepath="libs-runtime/activiti-engine-5.8-sources.jar"/>
<classpathentry kind="lib" path="libs-runtime/commons-email-1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/commons-logging-1.1.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/livetribe-jsr223-2.0.6.jar"/>
<classpathentry kind="lib" path="libs-runtime/mail-1.4.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/mybatis-3.0.4.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-asm-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-beans-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-core-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-test/geronimo-jta_1.1_spec-1.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/h2-1.2.132.jar"/>
<classpathentry kind="lib" path="libs-test/hamcrest-core-1.1.jar"/>
<classpathentry kind="lib" path="libs-test/junit-4.8.1.jar"/>
<classpathentry kind="lib" path="libs-test/mockito-core-1.8.2.jar"/>
<classpathentry kind="lib" path="libs-test/objenesis-1.0.jar"/>
<classpathentry kind="lib" path="libs-test/subethasmtp-smtp-1.2.jar"/>
<classpathentry kind="lib" path="libs-test/subethasmtp-wiser-1.2.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="libs-test/drools-api-5.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/drools-compiler-5.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/drools-core-5.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/ecj-3.5.1.jar"/>
<classpathentry kind="lib" path="libs-test/jtds-1.2.4.jar"/>
<classpathentry kind="lib" path="libs-test/mvel2-2.0.16.jar"/>
<classpathentry kind="lib" path="libs-test/mysql-connector-java-5.1.6.jar"/>
<classpathentry kind="lib" path="libs-test/postgresql-8.4-701.jdbc4.jar"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>activiti-engine-examples</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="activiti.engine.examples" default="deploy">
<property name="webapp.rest.dir" value="../../apps/apache-tomcat-6.0.32/webapps/activiti-rest" />
<target name="clean">
<delete dir="target" />
</target>
<available file="libs-runtime" property="is.examples.inflated" />
<target name="compile.classpath" depends="inflate.libs.and.deploy.cfg">
<path id="compile.classpath">
<fileset dir="libs-runtime" />
</path>
</target>
<target name="inflate.libs.and.deploy.cfg" unless="is.examples.inflated">
<ant antfile="../../setup/build.xml" target="inflate.examples" inheritall="false" />
</target>
<target name="compile" depends="compile.classpath">
<mkdir dir="target/classes"/>
<javac srcdir="src/main/java"
destdir="target/classes"
classpathref="compile.classpath" />
</target>
<target name="bar">
<mkdir dir="target"/>
<zip destfile="target/activiti-engine-examples.bar">
<fileset dir="src/main/process">
<include name="org/activiti/examples/bpmn/subprocess/SubProcessTest.fixSystemFailureProcess.bpmn20.xml"/>
<include name="org/activiti/examples/bpmn/subprocess/SubProcessTest.fixSystemFailureProcess.png"/>
<include name="org/activiti/examples/taskforms/VacationRequest.bpmn20.xml"/>
<include name="org/activiti/examples/taskforms/VacationRequest.png"/>
<include name="org/activiti/examples/bpmn/event/timer/BoundaryTimerEventTest.testInterruptingTimerDuration.bpmn20.xml" />
<include name="org/activiti/examples/bpmn/event/timer/BoundaryTimerEventTest.testInterruptingTimerDuration.png" />
<include name="org/activiti/examples/bpmn/event/error/reviewSalesLead.bpmn20.xml" />
<include name="org/activiti/examples/bpmn/event/error/provideSalesLead.form" />
<include name="org/activiti/examples/bpmn/event/error/reviewProfitability.form" />
<include name="org/activiti/examples/bpmn/event/error/provideAdditionalDetails.form" />
<include name="org/activiti/examples/adhoc/Expense_process.bpmn20.xml"/>
</fileset>
</zip>
</target>
<target name="jar" depends="compile">
<mkdir dir="target"/>
<jar destfile="target/activiti-engine-examples.jar">
<fileset dir="target/classes" />
</jar>
</target>
<target name="deploy" depends="bar, jar">
<copy file="target/activiti-engine-examples.jar"
todir="${webapp.rest.dir}/WEB-INF/lib"
overwrite="true" />
<!-- the touch redeploys the rest webapp so that the new classes are picked up -->
<!-- copy file="../../setup/build/webapps/activiti-explorer.war/WEB-INF/web.xml" tofile="${webapp.rest.dir}/WEB-INF/web.xml" overwrite="true"/ -->
<taskdef name="deploy-bar" classname="org.activiti.engine.impl.ant.DeployBarTask">
<classpath>
<pathelement path="src/main/config"/>
<fileset dir="libs-runtime" />
<fileset dir="libs-test" />
</classpath>
</taskdef>
<deploy-bar file="target/activiti-engine-examples.bar" />
</target>
</project>

View File

@ -0,0 +1,106 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<name>Activiti Engine Examples</name>
<description>BPM and workflow engine</description>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine-examples</artifactId>
<packaging>jar</packaging>
<version>5.8</version>
<dependencies>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>${version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.2.132</version>
<scope>test</scope>
</dependency>
<!-- dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>1.8.2</version>
<scope>test</scope>
</dependency -->
<dependency>
<groupId>org.subethamail</groupId>
<artifactId>subethasmtp-wiser</artifactId>
<version>1.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<id>activiti</id>
<name>Activiti Repository</name>
<url>http://maven.alfresco.com/nexus/content/repositories/activiti/</url>
</repository>
<repository>
<id>spring-extensions-milestone</id>
<name>Spring Extensions Milestone Repository</name>
<url>http://extensions.springframework.org/milestone</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>maven2.java.net</id>
<name>Java.net Repository for Maven 2</name>
<url>http://download.java.net/maven/2/</url>
</pluginRepository>
</pluginRepositories>
<build>
<testResources>
<testResource><directory>src/test/resources</directory></testResource>
<testResource><directory>src/main/process</directory></testResource>
</testResources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<optimize>true</optimize>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<failIfNoTests>false</failIfNoTests>
<trimStackTrace>false</trimStackTrace>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<excludes>
<exclude>**/*TestCase.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
<licenses>
<license>
<name>Apache v2</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
</license>
</licenses>
</project>

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/main/process"/>
<classpathentry kind="src" path="src/test/java"/>
<classpathentry kind="src" path="src/test/resources"/>
<classpathentry kind="lib" path="libs-runtime/activation-1.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/activiti-engine-5.8-sources.jar"/>
<classpathentry kind="lib" path="libs-runtime/activiti-engine-5.8.jar" sourcepath="libs-runtime/activiti-engine-5.8-sources.jar"/>
<classpathentry kind="lib" path="libs-runtime/commons-email-1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/commons-logging-1.1.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/livetribe-jsr223-2.0.6.jar"/>
<classpathentry kind="lib" path="libs-runtime/mail-1.4.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/mybatis-3.0.4.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-asm-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-beans-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-core-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-test/geronimo-jta_1.1_spec-1.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/h2-1.2.132.jar"/>
<classpathentry kind="lib" path="libs-test/hamcrest-core-1.1.jar"/>
<classpathentry kind="lib" path="libs-test/junit-4.8.1.jar"/>
<classpathentry kind="lib" path="libs-test/mockito-core-1.8.2.jar"/>
<classpathentry kind="lib" path="libs-test/objenesis-1.0.jar"/>
<classpathentry kind="lib" path="libs-test/subethasmtp-smtp-1.2.jar"/>
<classpathentry kind="lib" path="libs-test/subethasmtp-wiser-1.2.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="libs-test/antlr-2.7.7.jar"/>
<classpathentry kind="lib" path="libs-test/asm-3.2.jar"/>
<classpathentry kind="lib" path="libs-test/asm-analysis-3.2.jar"/>
<classpathentry kind="lib" path="libs-test/asm-commons-3.2.jar"/>
<classpathentry kind="lib" path="libs-test/asm-tree-3.2.jar"/>
<classpathentry kind="lib" path="libs-test/asm-util-3.2.jar"/>
<classpathentry kind="lib" path="libs-test/groovy-1.7.5.jar"/>
<classpathentry kind="lib" path="libs-test/antlr-runtime-3.1.3.jar"/>
<classpathentry kind="lib" path="libs-test/drools-api-5.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/drools-compiler-5.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/drools-core-5.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/ecj-3.5.1.jar"/>
<classpathentry kind="lib" path="libs-test/jtds-1.2.4.jar"/>
<classpathentry kind="lib" path="libs-test/mvel2-2.0.16.jar"/>
<classpathentry kind="lib" path="libs-test/mysql-connector-java-5.1.6.jar"/>
<classpathentry kind="lib" path="libs-test/postgresql-8.4-701.jdbc4.jar"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>activiti-groovy-examples</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="src" path="src/main/process"/>
<classpathentry kind="src" path="src/test/java"/>
<classpathentry kind="src" path="src/test/resources"/>
<classpathentry kind="lib" path="libs-runtime/activation-1.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/activiti-engine-5.8-sources.jar"/>
<classpathentry kind="lib" path="libs-runtime/activiti-engine-5.8.jar" sourcepath="libs-runtime/activiti-engine-5.8-sources.jar"/>
<classpathentry kind="lib" path="libs-runtime/commons-email-1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/commons-logging-1.1.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/livetribe-jsr223-2.0.6.jar"/>
<classpathentry kind="lib" path="libs-runtime/mail-1.4.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/mybatis-3.0.4.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-asm-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-beans-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-core-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-test/geronimo-jta_1.1_spec-1.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/h2-1.2.132.jar"/>
<classpathentry kind="lib" path="libs-test/hamcrest-core-1.1.jar"/>
<classpathentry kind="lib" path="libs-test/junit-4.8.1.jar"/>
<classpathentry kind="lib" path="libs-test/mockito-core-1.8.2.jar"/>
<classpathentry kind="lib" path="libs-test/objenesis-1.0.jar"/>
<classpathentry kind="lib" path="libs-test/subethasmtp-smtp-1.2.jar"/>
<classpathentry kind="lib" path="libs-test/subethasmtp-wiser-1.2.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="libs-runtime/persistence-api-1.0.jar"/>
<classpathentry kind="lib" path="libs-test/commons-collections-3.2.jar"/>
<classpathentry kind="lib" path="libs-test/commons-lang-2.4.jar"/>
<classpathentry kind="lib" path="libs-test/commons-pool-1.3.jar"/>
<classpathentry kind="lib" path="libs-test/geronimo-jms_1.1_spec-1.0.1.jar"/>
<classpathentry kind="lib" path="libs-test/geronimo-jpa_3.0_spec-1.0.jar"/>
<classpathentry kind="lib" path="libs-test/openjpa-1.2.2.jar"/>
<classpathentry kind="lib" path="libs-test/serp-1.13.1.jar"/>
<classpathentry kind="lib" path="libs-test/drools-api-5.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/drools-compiler-5.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/drools-core-5.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/ecj-3.5.1.jar"/>
<classpathentry kind="lib" path="libs-test/jtds-1.2.4.jar"/>
<classpathentry kind="lib" path="libs-test/mvel2-2.0.16.jar"/>
<classpathentry kind="lib" path="libs-test/mysql-connector-java-5.1.6.jar"/>
<classpathentry kind="lib" path="libs-test/postgresql-8.4-701.jdbc4.jar"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>activiti-jpa-examples</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,118 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:signavio="http://www.signavio.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exporter="Signavio Process Editor, http://www.signavio.com" exporterVersion="" expressionLanguage="http://www.w3.org/1999/XPath" id="sid-c211b87b-791f-46f8-bdde-e2b36ce76b81" targetNamespace="http://www.signavio.com/bpmn20" typeLanguage="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL http://www.omg.org/spec/BPMN/2.0/20100501/BPMN20.xsd">
<process id="sid-5465082e-a82b-4a5f-981d-510db8a06cf1" isExecutable="false">
<startEvent id="sid-E8C40807-0720-4850-A93C-092C88ED19A4" name="new bug report">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffff"/>
</extensionElements>
<outgoing>sid-092BA3F4-48A4-46FF-B661-C199CAB53EFC</outgoing>
</startEvent>
<userTask completionQuantity="1" id="sid-75333D57-D1CB-431F-933C-03003A704320" implementation="webService" isForCompensation="false" name="Handle bug" startQuantity="1">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffcc"/>
</extensionElements>
<incoming>sid-092BA3F4-48A4-46FF-B661-C199CAB53EFC</incoming>
<outgoing>sid-AF065E70-A980-4001-8041-0AAC80279EC7</outgoing>
</userTask>
<exclusiveGateway gatewayDirection="Diverging" id="sid-7EF6423A-4550-41B3-BBC1-86F3A39A34BE" name="is bug?">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffff"/>
</extensionElements>
<incoming>sid-AF065E70-A980-4001-8041-0AAC80279EC7</incoming>
<outgoing>sid-E3056B1C-7CF6-41C5-8B6E-164949AD6B83</outgoing>
<outgoing>sid-656F398E-BE36-4936-8061-9F89B269A8A8</outgoing>
</exclusiveGateway>
<serviceTask completionQuantity="1" id="sid-BA16E912-3019-447C-8A65-DC0675F79FC7" implementation="webService" isForCompensation="false" name="Insert into issue tracker" startQuantity="1">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffcc"/>
</extensionElements>
<incoming>sid-E3056B1C-7CF6-41C5-8B6E-164949AD6B83</incoming>
<outgoing>sid-23467E9D-0622-488F-A50B-096DE06EA2F7</outgoing>
</serviceTask>
<exclusiveGateway gatewayDirection="Converging" id="sid-1CFAA1E8-6B01-4EAF-B146-73BCF0217639" name="">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffff"/>
</extensionElements>
<incoming>sid-23467E9D-0622-488F-A50B-096DE06EA2F7</incoming>
<incoming>sid-FA0C0DEE-DB90-4649-B33E-BFB29A5A5D4F</incoming>
<outgoing>sid-3B9A0957-A59A-4035-A91B-1B3D922A3ADA</outgoing>
</exclusiveGateway>
<userTask completionQuantity="1" id="sid-5D78CBE0-C5DA-4787-9091-D588AD85452B" implementation="webService" isForCompensation="false" name="Send notification to customer" startQuantity="1">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffcc"/>
</extensionElements>
<incoming>sid-656F398E-BE36-4936-8061-9F89B269A8A8</incoming>
<outgoing>sid-FA0C0DEE-DB90-4649-B33E-BFB29A5A5D4F</outgoing>
</userTask>
<endEvent id="sid-0D9B9F02-B73C-47FA-B1CB-6AED5F7849E5" name="">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffff"/>
</extensionElements>
<incoming>sid-3B9A0957-A59A-4035-A91B-1B3D922A3ADA</incoming>
</endEvent>
<sequenceFlow id="sid-092BA3F4-48A4-46FF-B661-C199CAB53EFC" name="" sourceRef="sid-E8C40807-0720-4850-A93C-092C88ED19A4" targetRef="sid-75333D57-D1CB-431F-933C-03003A704320"/>
<sequenceFlow id="sid-AF065E70-A980-4001-8041-0AAC80279EC7" name="" sourceRef="sid-75333D57-D1CB-431F-933C-03003A704320" targetRef="sid-7EF6423A-4550-41B3-BBC1-86F3A39A34BE"/>
<sequenceFlow id="sid-E3056B1C-7CF6-41C5-8B6E-164949AD6B83" name="yes" sourceRef="sid-7EF6423A-4550-41B3-BBC1-86F3A39A34BE" targetRef="sid-BA16E912-3019-447C-8A65-DC0675F79FC7"/>
<sequenceFlow id="sid-656F398E-BE36-4936-8061-9F89B269A8A8" name="no" sourceRef="sid-7EF6423A-4550-41B3-BBC1-86F3A39A34BE" targetRef="sid-5D78CBE0-C5DA-4787-9091-D588AD85452B"/>
<sequenceFlow id="sid-23467E9D-0622-488F-A50B-096DE06EA2F7" name="" sourceRef="sid-BA16E912-3019-447C-8A65-DC0675F79FC7" targetRef="sid-1CFAA1E8-6B01-4EAF-B146-73BCF0217639"/>
<sequenceFlow id="sid-FA0C0DEE-DB90-4649-B33E-BFB29A5A5D4F" name="" sourceRef="sid-5D78CBE0-C5DA-4787-9091-D588AD85452B" targetRef="sid-1CFAA1E8-6B01-4EAF-B146-73BCF0217639"/>
<sequenceFlow id="sid-3B9A0957-A59A-4035-A91B-1B3D922A3ADA" name="" sourceRef="sid-1CFAA1E8-6B01-4EAF-B146-73BCF0217639" targetRef="sid-0D9B9F02-B73C-47FA-B1CB-6AED5F7849E5"/>
</process>
<bpmndi:BPMNDiagram id="sid-ec7525ac-5173-4ccd-89e1-5b45808320a8">
<bpmndi:BPMNPlane bpmnElement="sid-5465082e-a82b-4a5f-981d-510db8a06cf1" id="sid-53a6ab31-4196-4161-92f9-b6f1d021d667">
<bpmndi:BPMNShape bpmnElement="sid-E8C40807-0720-4850-A93C-092C88ED19A4" id="sid-E8C40807-0720-4850-A93C-092C88ED19A4_gui">
<omgdc:Bounds height="30.0" width="30.0" x="111.0" y="274.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-75333D57-D1CB-431F-933C-03003A704320" id="sid-75333D57-D1CB-431F-933C-03003A704320_gui">
<omgdc:Bounds height="80.0" width="100.0" x="203.0" y="249.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-7EF6423A-4550-41B3-BBC1-86F3A39A34BE" id="sid-7EF6423A-4550-41B3-BBC1-86F3A39A34BE_gui" isMarkerVisible="true">
<omgdc:Bounds height="40.0" width="40.0" x="355.0" y="269.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-BA16E912-3019-447C-8A65-DC0675F79FC7" id="sid-BA16E912-3019-447C-8A65-DC0675F79FC7_gui">
<omgdc:Bounds height="80.0" width="100.0" x="508.0" y="160.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-1CFAA1E8-6B01-4EAF-B146-73BCF0217639" id="sid-1CFAA1E8-6B01-4EAF-B146-73BCF0217639_gui" isMarkerVisible="true">
<omgdc:Bounds height="40.0" width="40.0" x="648.0" y="269.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-5D78CBE0-C5DA-4787-9091-D588AD85452B" id="sid-5D78CBE0-C5DA-4787-9091-D588AD85452B_gui">
<omgdc:Bounds height="80.0" width="100.0" x="514.0" y="327.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-0D9B9F02-B73C-47FA-B1CB-6AED5F7849E5" id="sid-0D9B9F02-B73C-47FA-B1CB-6AED5F7849E5_gui">
<omgdc:Bounds height="28.0" width="28.0" x="739.0" y="275.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sid-AF065E70-A980-4001-8041-0AAC80279EC7" id="sid-AF065E70-A980-4001-8041-0AAC80279EC7_gui">
<omgdi:waypoint x="303.0" y="289.0"/>
<omgdi:waypoint x="355.0" y="289.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-23467E9D-0622-488F-A50B-096DE06EA2F7" id="sid-23467E9D-0622-488F-A50B-096DE06EA2F7_gui">
<omgdi:waypoint x="608.0" y="200.0"/>
<omgdi:waypoint x="668.5" y="200.0"/>
<omgdi:waypoint x="668.0" y="269.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-E3056B1C-7CF6-41C5-8B6E-164949AD6B83" id="sid-E3056B1C-7CF6-41C5-8B6E-164949AD6B83_gui">
<omgdi:waypoint x="375.0" y="269.0"/>
<omgdi:waypoint x="375.5" y="200.0"/>
<omgdi:waypoint x="508.0" y="200.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-3B9A0957-A59A-4035-A91B-1B3D922A3ADA" id="sid-3B9A0957-A59A-4035-A91B-1B3D922A3ADA_gui">
<omgdi:waypoint x="688.0" y="289.0"/>
<omgdi:waypoint x="739.0" y="289.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-092BA3F4-48A4-46FF-B661-C199CAB53EFC" id="sid-092BA3F4-48A4-46FF-B661-C199CAB53EFC_gui">
<omgdi:waypoint x="141.0" y="289.0"/>
<omgdi:waypoint x="203.0" y="289.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-FA0C0DEE-DB90-4649-B33E-BFB29A5A5D4F" id="sid-FA0C0DEE-DB90-4649-B33E-BFB29A5A5D4F_gui">
<omgdi:waypoint x="614.0" y="367.0"/>
<omgdi:waypoint x="668.0" y="367.0"/>
<omgdi:waypoint x="668.0" y="309.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-656F398E-BE36-4936-8061-9F89B269A8A8" id="sid-656F398E-BE36-4936-8061-9F89B269A8A8_gui">
<omgdi:waypoint x="375.0" y="309.0"/>
<omgdi:waypoint x="375.5" y="367.0"/>
<omgdi:waypoint x="514.0" y="367.0"/>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>

View File

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:signavio="http://www.signavio.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exporter="Signavio Process Editor, http://www.signavio.com" exporterVersion="" expressionLanguage="http://www.w3.org/1999/XPath" id="sid-9a6d8962-4e5a-40c6-9fca-e91048a4719d" targetNamespace="http://www.signavio.com/bpmn20" typeLanguage="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL http://www.omg.org/spec/BPMN/2.0/20100501/BPMN20.xsd">
<process id="sid-d5db38fe-e4f8-4b26-8436-4f466df750b2" isExecutable="false">
<startEvent id="sid-65A1BDFB-8A62-4BB7-85A7-83375147083E" name="">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffff"/>
</extensionElements>
<outgoing>sid-AA40A1C6-ED44-43F2-B41A-FEDDC7AD5BA9</outgoing>
</startEvent>
<userTask completionQuantity="1" id="sid-9026C05B-D794-4BB1-9C51-3B5C001D5EE2" implementation="unspecified" isForCompensation="false" name="Write monthly report" startQuantity="1">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffcc"/>
</extensionElements>
<incoming>sid-AA40A1C6-ED44-43F2-B41A-FEDDC7AD5BA9</incoming>
<outgoing>sid-EA4C4FD2-6480-4E53-BA18-37AC390DB2CC</outgoing>
<potentialOwner id="sid-97039b6c-3c88-46fa-b2a9-1da5270a5be8" resourceRef="">
<resourceAssignmentExpression id="sid-256c5b8d-41e4-4b9a-b3f7-86714d507276">
<formalExpression id="sid-873290b1-6b74-4d7e-ac6b-648f648022bc">accountancy</formalExpression>
</resourceAssignmentExpression>
</potentialOwner>
</userTask>
<userTask completionQuantity="1" id="sid-37C106F3-174C-40B5-BB57-419AB4EFA1F5" implementation="unspecified" isForCompensation="false" name="Verify finanical report" startQuantity="1">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffcc"/>
</extensionElements>
<incoming>sid-EA4C4FD2-6480-4E53-BA18-37AC390DB2CC</incoming>
<outgoing>sid-5A9D4FFE-723D-4EAD-9C10-6339E6AFFC05</outgoing>
<potentialOwner id="sid-9b4ebe74-5226-4a93-b01a-5829777b92de" resourceRef="">
<resourceAssignmentExpression id="sid-0d1beb41-5727-41c1-a699-7920efb402b0">
<formalExpression id="sid-090cabfa-1a33-4455-afc3-4f47c60f369d">management</formalExpression>
</resourceAssignmentExpression>
</potentialOwner>
</userTask>
<endEvent id="sid-D585774C-A3A1-4436-889A-F39A7EC3C82D" name="">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffff"/>
</extensionElements>
<incoming>sid-5A9D4FFE-723D-4EAD-9C10-6339E6AFFC05</incoming>
</endEvent>
<sequenceFlow id="sid-AA40A1C6-ED44-43F2-B41A-FEDDC7AD5BA9" name="" sourceRef="sid-65A1BDFB-8A62-4BB7-85A7-83375147083E" targetRef="sid-9026C05B-D794-4BB1-9C51-3B5C001D5EE2"/>
<sequenceFlow id="sid-EA4C4FD2-6480-4E53-BA18-37AC390DB2CC" name="" sourceRef="sid-9026C05B-D794-4BB1-9C51-3B5C001D5EE2" targetRef="sid-37C106F3-174C-40B5-BB57-419AB4EFA1F5"/>
<sequenceFlow id="sid-5A9D4FFE-723D-4EAD-9C10-6339E6AFFC05" name="" sourceRef="sid-37C106F3-174C-40B5-BB57-419AB4EFA1F5" targetRef="sid-D585774C-A3A1-4436-889A-F39A7EC3C82D"/>
</process>
<bpmndi:BPMNDiagram id="sid-fc4d59e2-6840-496a-9bfd-14fc1d92d269">
<bpmndi:BPMNPlane bpmnElement="sid-d5db38fe-e4f8-4b26-8436-4f466df750b2" id="sid-9ac7a208-a3ec-4ca1-bf0c-a0996fd190d6">
<bpmndi:BPMNShape bpmnElement="sid-65A1BDFB-8A62-4BB7-85A7-83375147083E" id="sid-65A1BDFB-8A62-4BB7-85A7-83375147083E_gui">
<omgdc:Bounds height="30.0" width="30.0" x="165.0" y="250.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-9026C05B-D794-4BB1-9C51-3B5C001D5EE2" id="sid-9026C05B-D794-4BB1-9C51-3B5C001D5EE2_gui">
<omgdc:Bounds height="80.0" width="100.0" x="251.0" y="225.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-37C106F3-174C-40B5-BB57-419AB4EFA1F5" id="sid-37C106F3-174C-40B5-BB57-419AB4EFA1F5_gui">
<omgdc:Bounds height="80.0" width="100.0" x="405.0" y="225.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-D585774C-A3A1-4436-889A-F39A7EC3C82D" id="sid-D585774C-A3A1-4436-889A-F39A7EC3C82D_gui">
<omgdc:Bounds height="28.0" width="28.0" x="555.0" y="251.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sid-AA40A1C6-ED44-43F2-B41A-FEDDC7AD5BA9" id="sid-AA40A1C6-ED44-43F2-B41A-FEDDC7AD5BA9_gui">
<omgdi:waypoint x="195.0" y="265.0"/>
<omgdi:waypoint x="251.0" y="265.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-5A9D4FFE-723D-4EAD-9C10-6339E6AFFC05" id="sid-5A9D4FFE-723D-4EAD-9C10-6339E6AFFC05_gui">
<omgdi:waypoint x="505.0" y="265.0"/>
<omgdi:waypoint x="555.0" y="265.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-EA4C4FD2-6480-4E53-BA18-37AC390DB2CC" id="sid-EA4C4FD2-6480-4E53-BA18-37AC390DB2CC_gui">
<omgdi:waypoint x="351.0" y="265.0"/>
<omgdi:waypoint x="405.0" y="265.0"/>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>

View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:signavio="http://www.signavio.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exporter="Signavio Process Editor, http://www.signavio.com" exporterVersion="" expressionLanguage="http://www.w3.org/1999/XPath" id="sid-6b683f76-02fb-4dbd-b677-6e4171b360b1" targetNamespace="http://www.signavio.com/bpmn20" typeLanguage="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL http://www.omg.org/spec/BPMN/2.0/20100501/BPMN20.xsd">
<process id="sid-e6b83f39-07e6-404b-8a65-184c72aa20e5" isExecutable="false">
<startEvent id="sid-CB746B53-1762-40BE-B00C-C3598982F84A" name="">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffff"/>
</extensionElements>
<outgoing>sid-7033747D-1702-437C-BB3D-4519E40CBE8C</outgoing>
</startEvent>
<userTask completionQuantity="1" id="sid-E705C0E0-603F-4B76-92EF-77AD669A157E" implementation="unspecified" isForCompensation="false" name="Schedule meeting" startQuantity="1">
<documentation id="sid-5942e360-441c-4396-a807-0be6191ee48a">Schedule an engineering meeting for next week with the new hire.</documentation>
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffcc"/>
</extensionElements>
<incoming>sid-7033747D-1702-437C-BB3D-4519E40CBE8C</incoming>
<outgoing>sid-51E9BCEF-A523-42C8-A23B-81097EB5020A</outgoing>
<humanPerformer id="sid-a9d97d5c-f776-450f-98b4-47d25f90bbdf" resourceRef="">
<resourceAssignmentExpression id="sid-1d62100d-6157-4312-af58-c9804ff2bf0e">
<formalExpression id="sid-4b8e4131-1069-4d63-83e5-f61bdb06981e">kermit</formalExpression>
</resourceAssignmentExpression>
</humanPerformer>
</userTask>
<endEvent id="sid-82B7B2F7-E2F1-4354-81E0-8CCDA763A362" name="">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffff"/>
</extensionElements>
<incoming>sid-51E9BCEF-A523-42C8-A23B-81097EB5020A</incoming>
</endEvent>
<sequenceFlow id="sid-7033747D-1702-437C-BB3D-4519E40CBE8C" name="" sourceRef="sid-CB746B53-1762-40BE-B00C-C3598982F84A" targetRef="sid-E705C0E0-603F-4B76-92EF-77AD669A157E"/>
<sequenceFlow id="sid-51E9BCEF-A523-42C8-A23B-81097EB5020A" name="" sourceRef="sid-E705C0E0-603F-4B76-92EF-77AD669A157E" targetRef="sid-82B7B2F7-E2F1-4354-81E0-8CCDA763A362"/>
</process>
<bpmndi:BPMNDiagram id="sid-76c3a8bc-58da-4d96-818e-16e885db8188">
<bpmndi:BPMNPlane bpmnElement="sid-e6b83f39-07e6-404b-8a65-184c72aa20e5" id="sid-f0471e11-a5f3-4d76-80a6-6cc24a65addf">
<bpmndi:BPMNShape bpmnElement="sid-CB746B53-1762-40BE-B00C-C3598982F84A" id="sid-CB746B53-1762-40BE-B00C-C3598982F84A_gui">
<omgdc:Bounds height="30.0" width="30.0" x="120.0" y="212.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-E705C0E0-603F-4B76-92EF-77AD669A157E" id="sid-E705C0E0-603F-4B76-92EF-77AD669A157E_gui">
<omgdc:Bounds height="80.0" width="100.0" x="193.0" y="187.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-82B7B2F7-E2F1-4354-81E0-8CCDA763A362" id="sid-82B7B2F7-E2F1-4354-81E0-8CCDA763A362_gui">
<omgdc:Bounds height="28.0" width="28.0" x="344.0" y="213.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sid-51E9BCEF-A523-42C8-A23B-81097EB5020A" id="sid-51E9BCEF-A523-42C8-A23B-81097EB5020A_gui">
<omgdi:waypoint x="293.0" y="227.0"/>
<omgdi:waypoint x="344.0" y="227.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-7033747D-1702-437C-BB3D-4519E40CBE8C" id="sid-7033747D-1702-437C-BB3D-4519E40CBE8C_gui">
<omgdi:waypoint x="150.0" y="227.0"/>
<omgdi:waypoint x="193.0" y="227.0"/>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:signavio="http://www.signavio.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exporter="Signavio Process Editor, http://www.signavio.com" exporterVersion="" expressionLanguage="http://www.w3.org/1999/XPath" id="sid-ea27abf0-6661-4a01-a3a5-d7094218fe9d" targetNamespace="http://www.signavio.com/bpmn20" typeLanguage="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL http://www.omg.org/spec/BPMN/2.0/20100501/BPMN20.xsd">
<process id="sid-eb969009-5071-4a8a-beaa-a9a8dcee43cc" isExecutable="false">
<startEvent id="sid-1D6B6E4E-68C7-4F7D-8BB3-179127B1FE81" name="">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffff"/>
</extensionElements>
<outgoing>sid-4599C078-2FBC-4DF4-95E7-41866C3C3B6E</outgoing>
</startEvent>
<userTask completionQuantity="1" id="sid-D59A0F9E-9056-4785-8990-BA4AA5C9C71D" implementation="unspecified" isForCompensation="false" name="Write financial report" startQuantity="1">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffcc"/>
</extensionElements>
<incoming>sid-4599C078-2FBC-4DF4-95E7-41866C3C3B6E</incoming>
<outgoing>sid-EBC10BC8-0132-4288-8657-3B413BCE6F9C</outgoing>
<potentialOwner id="sid-853554b7-6c1e-4bf8-b762-b2b4dc99c9ec" resourceRef="">
<resourceAssignmentExpression id="sid-8d2b0399-2151-49c5-bba5-040fc6965b8f">
<formalExpression id="sid-f18ae72c-a9e6-4ac4-84ea-93cec18dd5c5">user(kermit), group(sales)</formalExpression>
</resourceAssignmentExpression>
</potentialOwner>
</userTask>
<endEvent id="sid-6DF02214-3B1A-4C72-859E-50B3B50A7191" name="">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffff"/>
</extensionElements>
<incoming>sid-EBC10BC8-0132-4288-8657-3B413BCE6F9C</incoming>
</endEvent>
<sequenceFlow id="sid-4599C078-2FBC-4DF4-95E7-41866C3C3B6E" name="" sourceRef="sid-1D6B6E4E-68C7-4F7D-8BB3-179127B1FE81" targetRef="sid-D59A0F9E-9056-4785-8990-BA4AA5C9C71D"/>
<sequenceFlow id="sid-EBC10BC8-0132-4288-8657-3B413BCE6F9C" name="" sourceRef="sid-D59A0F9E-9056-4785-8990-BA4AA5C9C71D" targetRef="sid-6DF02214-3B1A-4C72-859E-50B3B50A7191"/>
</process>
<bpmndi:BPMNDiagram id="sid-c33c7889-09b4-42e4-985c-0b7f788f0749">
<bpmndi:BPMNPlane bpmnElement="sid-eb969009-5071-4a8a-beaa-a9a8dcee43cc" id="sid-70708967-634f-42d1-a666-5e4ef387220e">
<bpmndi:BPMNShape bpmnElement="sid-1D6B6E4E-68C7-4F7D-8BB3-179127B1FE81" id="sid-1D6B6E4E-68C7-4F7D-8BB3-179127B1FE81_gui">
<omgdc:Bounds height="30.0" width="30.0" x="240.0" y="220.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-D59A0F9E-9056-4785-8990-BA4AA5C9C71D" id="sid-D59A0F9E-9056-4785-8990-BA4AA5C9C71D_gui">
<omgdc:Bounds height="80.0" width="100.0" x="320.0" y="195.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-6DF02214-3B1A-4C72-859E-50B3B50A7191" id="sid-6DF02214-3B1A-4C72-859E-50B3B50A7191_gui">
<omgdc:Bounds height="28.0" width="28.0" x="462.0" y="221.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sid-4599C078-2FBC-4DF4-95E7-41866C3C3B6E" id="sid-4599C078-2FBC-4DF4-95E7-41866C3C3B6E_gui">
<omgdi:waypoint x="270.0" y="235.0"/>
<omgdi:waypoint x="320.0" y="235.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-EBC10BC8-0132-4288-8657-3B413BCE6F9C" id="sid-EBC10BC8-0132-4288-8657-3B413BCE6F9C_gui">
<omgdi:waypoint x="420.0" y="235.0"/>
<omgdi:waypoint x="462.0" y="235.0"/>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:signavio="http://www.signavio.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exporter="Signavio Process Editor, http://www.signavio.com" exporterVersion="" expressionLanguage="http://www.w3.org/1999/XPath" id="sid-24f7aab4-494f-40ca-bb32-cd4cd8aac628" targetNamespace="http://www.signavio.com/bpmn20" typeLanguage="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL http://www.omg.org/spec/BPMN/2.0/20100501/BPMN20.xsd">
<process id="sid-fade78af-60e9-4c20-a93f-b0c6e010973a" isExecutable="false">
<startEvent id="sid-5A8FFE10-8161-49B6-8BEF-98778796C8D5" name="">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffff"/>
</extensionElements>
<outgoing>sid-31C51B53-6886-4E36-999D-70546CC04F41</outgoing>
</startEvent>
<userTask completionQuantity="1" id="sid-9A71807A-C281-47CA-AB8F-E6D49BB05710" implementation="unspecified" isForCompensation="false" name="Approve expenses" startQuantity="1">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffcc"/>
</extensionElements>
<incoming>sid-31C51B53-6886-4E36-999D-70546CC04F41</incoming>
<outgoing>sid-E32E81F1-5897-4B31-9FDB-42F4C0826DF6</outgoing>
<potentialOwner id="sid-254e4c2a-e43b-4c90-bd90-1c897f169252" resourceRef="">
<resourceAssignmentExpression id="sid-803a31b7-ddde-46bc-8ece-cec7c7ecc7f0">
<formalExpression id="sid-5a59ca6c-25b8-4bf5-bd20-3e6c1e31e3f9">group(accountancy), group(management)</formalExpression>
</resourceAssignmentExpression>
</potentialOwner>
</userTask>
<endEvent id="sid-A9828677-54A1-4FB9-BD59-805BFE89743D" name="">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffff"/>
</extensionElements>
<incoming>sid-E32E81F1-5897-4B31-9FDB-42F4C0826DF6</incoming>
</endEvent>
<sequenceFlow id="sid-31C51B53-6886-4E36-999D-70546CC04F41" name="" sourceRef="sid-5A8FFE10-8161-49B6-8BEF-98778796C8D5" targetRef="sid-9A71807A-C281-47CA-AB8F-E6D49BB05710"/>
<sequenceFlow id="sid-E32E81F1-5897-4B31-9FDB-42F4C0826DF6" name="" sourceRef="sid-9A71807A-C281-47CA-AB8F-E6D49BB05710" targetRef="sid-A9828677-54A1-4FB9-BD59-805BFE89743D"/>
</process>
<bpmndi:BPMNDiagram id="sid-7f48f8db-0f4f-4284-8fd6-0d0cd5b36f00">
<bpmndi:BPMNPlane bpmnElement="sid-fade78af-60e9-4c20-a93f-b0c6e010973a" id="sid-41144d2f-7d61-45a9-a34b-3d6dba3394dd">
<bpmndi:BPMNShape bpmnElement="sid-5A8FFE10-8161-49B6-8BEF-98778796C8D5" id="sid-5A8FFE10-8161-49B6-8BEF-98778796C8D5_gui">
<omgdc:Bounds height="30.0" width="30.0" x="285.0" y="190.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-9A71807A-C281-47CA-AB8F-E6D49BB05710" id="sid-9A71807A-C281-47CA-AB8F-E6D49BB05710_gui">
<omgdc:Bounds height="80.0" width="100.0" x="370.0" y="165.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-A9828677-54A1-4FB9-BD59-805BFE89743D" id="sid-A9828677-54A1-4FB9-BD59-805BFE89743D_gui">
<omgdc:Bounds height="28.0" width="28.0" x="530.0" y="191.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sid-E32E81F1-5897-4B31-9FDB-42F4C0826DF6" id="sid-E32E81F1-5897-4B31-9FDB-42F4C0826DF6_gui">
<omgdi:waypoint x="470.0" y="205.0"/>
<omgdi:waypoint x="530.0" y="205.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-31C51B53-6886-4E36-999D-70546CC04F41" id="sid-31C51B53-6886-4E36-999D-70546CC04F41_gui">
<omgdi:waypoint x="315.0" y="205.0"/>
<omgdi:waypoint x="370.0" y="205.0"/>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>

View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:signavio="http://www.signavio.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exporter="Signavio Process Editor, http://www.signavio.com" exporterVersion="" expressionLanguage="http://www.w3.org/1999/XPath" id="sid-1056644a-deff-4221-b926-b96857d19331" targetNamespace="http://www.signavio.com/bpmn20" typeLanguage="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL http://www.omg.org/spec/BPMN/2.0/20100501/BPMN20.xsd">
<process id="sid-1078f764-9bce-4525-9020-b10385f63254" isExecutable="false">
<startEvent id="sid-34506B63-6680-49A5-A4E0-4575FFC74728" name="">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffff"/>
</extensionElements>
<outgoing>sid-98285B47-7683-40B4-8079-21706FBD8B22</outgoing>
</startEvent>
<userTask completionQuantity="1" id="sid-9E8B7B5E-82FF-4E92-9390-44CF546B3A00" implementation="unspecified" isForCompensation="false" name="Pay out expenses" startQuantity="1">
<documentation id="sid-81e946fb-0e61-4498-b17e-3d4e71e67d0d">Transfer money for approved expenses to employee.</documentation>
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffcc"/>
</extensionElements>
<incoming>sid-98285B47-7683-40B4-8079-21706FBD8B22</incoming>
<outgoing>sid-3ACB4945-F443-454B-B517-1F49A44EE383</outgoing>
<potentialOwner id="sid-0ac9a0b0-04de-4947-bfe7-1b72a8e04f63" resourceRef="">
<resourceAssignmentExpression id="sid-cbab346f-dbb8-443d-a65a-063d10274eb9">
<formalExpression id="sid-977f7233-9d73-42db-a29f-7eac81f716ec">accountancy</formalExpression>
</resourceAssignmentExpression>
</potentialOwner>
</userTask>
<endEvent id="sid-72386F9F-1C1D-45A3-8D92-7D97996A00D6" name="">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffff"/>
</extensionElements>
<incoming>sid-3ACB4945-F443-454B-B517-1F49A44EE383</incoming>
</endEvent>
<sequenceFlow id="sid-98285B47-7683-40B4-8079-21706FBD8B22" name="" sourceRef="sid-34506B63-6680-49A5-A4E0-4575FFC74728" targetRef="sid-9E8B7B5E-82FF-4E92-9390-44CF546B3A00"/>
<sequenceFlow id="sid-3ACB4945-F443-454B-B517-1F49A44EE383" name="" sourceRef="sid-9E8B7B5E-82FF-4E92-9390-44CF546B3A00" targetRef="sid-72386F9F-1C1D-45A3-8D92-7D97996A00D6"/>
</process>
<bpmndi:BPMNDiagram id="sid-ea0c1090-268c-4f68-95b6-3273991cd238">
<bpmndi:BPMNPlane bpmnElement="sid-1078f764-9bce-4525-9020-b10385f63254" id="sid-91ce2a88-fa4c-4fdd-8f92-600cc884c9da">
<bpmndi:BPMNShape bpmnElement="sid-34506B63-6680-49A5-A4E0-4575FFC74728" id="sid-34506B63-6680-49A5-A4E0-4575FFC74728_gui">
<omgdc:Bounds height="30.0" width="30.0" x="255.0" y="175.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-9E8B7B5E-82FF-4E92-9390-44CF546B3A00" id="sid-9E8B7B5E-82FF-4E92-9390-44CF546B3A00_gui">
<omgdc:Bounds height="80.0" width="100.0" x="348.0" y="150.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-72386F9F-1C1D-45A3-8D92-7D97996A00D6" id="sid-72386F9F-1C1D-45A3-8D92-7D97996A00D6_gui">
<omgdc:Bounds height="28.0" width="28.0" x="506.0" y="176.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sid-98285B47-7683-40B4-8079-21706FBD8B22" id="sid-98285B47-7683-40B4-8079-21706FBD8B22_gui">
<omgdi:waypoint x="285.0" y="190.0"/>
<omgdi:waypoint x="348.0" y="190.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-3ACB4945-F443-454B-B517-1F49A44EE383" id="sid-3ACB4945-F443-454B-B517-1F49A44EE383_gui">
<omgdi:waypoint x="448.0" y="190.0"/>
<omgdi:waypoint x="506.0" y="190.0"/>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>

View File

@ -0,0 +1,148 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:signavio="http://www.signavio.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exporter="Signavio Process Editor, http://www.signavio.com" exporterVersion="" expressionLanguage="http://www.w3.org/1999/XPath" id="sid-28da1acc-280f-4b03-aa50-7165b8bf3e85" targetNamespace="http://www.signavio.com/bpmn20" typeLanguage="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL http://www.omg.org/spec/BPMN/2.0/20100501/BPMN20.xsd">
<process id="sid-8cab1011-1b36-4154-986b-48627cfe3e05" isExecutable="false">
<startEvent id="sid-E2CC4D54-9C99-46CB-A145-3E44807A50F8" name="" activiti:formKey="request.form">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffff"/>
</extensionElements>
<outgoing>sid-9F799F35-6DCE-47C8-B1C5-793D3936F5F2</outgoing>
</startEvent>
<userTask completionQuantity="1" id="sid-E9027EA2-10EE-4B5E-98DD-3BC86CFA3486"
implementation="unspecified" isForCompensation="false"
name="Handle vacation request" startQuantity="1"
activiti:formKey="approve.form">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffcc"/>
</extensionElements>
<incoming>sid-9F799F35-6DCE-47C8-B1C5-793D3936F5F2</incoming>
<incoming>sid-F50530D8-28A7-4F4E-A950-42E5BD5A6AEC</incoming>
<outgoing>sid-A7BB7780-9518-4515-B496-1B0B5A5EBAA1</outgoing>
<potentialOwner id="sid-3980ffe0-9459-44f5-bb94-3c3551e198c1" resourceRef="">
<resourceAssignmentExpression id="sid-a6a2b407-5f9d-423d-b199-3c53bf0fb7a8">
<formalExpression id="sid-f25b90f6-bd1a-4047-82be-2414d189b092">management</formalExpression>
</resourceAssignmentExpression>
</potentialOwner>
</userTask>
<exclusiveGateway gatewayDirection="Diverging" id="sid-32173968-C77C-4BD7-ADB0-4EB7DBFE3DEB" name="Resend request?">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffff"/>
</extensionElements>
<incoming>sid-92E6DBF4-6E3B-4DCA-ADDF-DD1C1D591400</incoming>
<outgoing>sid-F50530D8-28A7-4F4E-A950-42E5BD5A6AEC</outgoing>
<outgoing>sid-3FCE8675-C827-4E30-9066-4BB007804C87</outgoing>
</exclusiveGateway>
<userTask completionQuantity="1" id="sid-42F64CC2-974B-48EC-B770-4F189D31B9D1"
implementation="unspecified" isForCompensation="false"
name="Adjust vacation request" startQuantity="1"
activiti:formKey="adjustRequest.form">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffcc"/>
</extensionElements>
<incoming>sid-F32BE919-CAC7-4555-AD77-389B6FE265AE</incoming>
<outgoing>sid-92E6DBF4-6E3B-4DCA-ADDF-DD1C1D591400</outgoing>
<humanPerformer id="sid-6d3cd863-39c8-4010-bf8b-21486d0f7e5f" resourceRef="">
<resourceAssignmentExpression id="sid-78c387d2-e819-4924-89b9-f8eb1dd371db">
<formalExpression id="sid-65471700-ccdf-463a-af95-4d6fc5b2bd29">${employeeName}</formalExpression>
</resourceAssignmentExpression>
</humanPerformer>
</userTask>
<exclusiveGateway gatewayDirection="Diverging" id="sid-92436D48-1474-4223-8BE7-D5E341076373" name="Request approved?">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffff"/>
</extensionElements>
<incoming>sid-A7BB7780-9518-4515-B496-1B0B5A5EBAA1</incoming>
<outgoing>sid-02320A54-EB16-43F7-AB1D-D0ACA32345F7</outgoing>
<outgoing>sid-F32BE919-CAC7-4555-AD77-389B6FE265AE</outgoing>
</exclusiveGateway>
<task completionQuantity="1" id="sid-1B2EA8CC-6CFB-417D-9E64-0A753E7E3CF5" isForCompensation="false" name="Send confirmation email" startQuantity="1">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffcc"/>
</extensionElements>
<incoming>sid-02320A54-EB16-43F7-AB1D-D0ACA32345F7</incoming>
<outgoing>sid-F9079A6D-ED44-4D87-906A-7E7A3F9E94E9</outgoing>
</task>
<endEvent id="sid-E62A67D2-32F2-4E3D-9397-0386C43D91D7" name="">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffff"/>
</extensionElements>
<incoming>sid-F9079A6D-ED44-4D87-906A-7E7A3F9E94E9</incoming>
</endEvent>
<endEvent id="sid-72B34C3D-69BF-41C7-8B83-6559EAEA969E" name="">
<extensionElements>
<signavio:signavioMetaData metaKey="bgcolor" metaValue="#ffffff"/>
</extensionElements>
<incoming>sid-3FCE8675-C827-4E30-9066-4BB007804C87</incoming>
</endEvent>
<sequenceFlow id="sid-9F799F35-6DCE-47C8-B1C5-793D3936F5F2" name="" sourceRef="sid-E2CC4D54-9C99-46CB-A145-3E44807A50F8" targetRef="sid-E9027EA2-10EE-4B5E-98DD-3BC86CFA3486"/>
<sequenceFlow id="sid-A7BB7780-9518-4515-B496-1B0B5A5EBAA1" name="" sourceRef="sid-E9027EA2-10EE-4B5E-98DD-3BC86CFA3486" targetRef="sid-92436D48-1474-4223-8BE7-D5E341076373"/>
<sequenceFlow id="sid-F9079A6D-ED44-4D87-906A-7E7A3F9E94E9" name="" sourceRef="sid-1B2EA8CC-6CFB-417D-9E64-0A753E7E3CF5" targetRef="sid-E62A67D2-32F2-4E3D-9397-0386C43D91D7"/>
<sequenceFlow id="sid-02320A54-EB16-43F7-AB1D-D0ACA32345F7" name="${vacationApproved}" sourceRef="sid-92436D48-1474-4223-8BE7-D5E341076373" targetRef="sid-1B2EA8CC-6CFB-417D-9E64-0A753E7E3CF5"/>
<sequenceFlow id="sid-F32BE919-CAC7-4555-AD77-389B6FE265AE" name="${!vacationApproved}" sourceRef="sid-92436D48-1474-4223-8BE7-D5E341076373" targetRef="sid-42F64CC2-974B-48EC-B770-4F189D31B9D1"/>
<sequenceFlow id="sid-92E6DBF4-6E3B-4DCA-ADDF-DD1C1D591400" name="" sourceRef="sid-42F64CC2-974B-48EC-B770-4F189D31B9D1" targetRef="sid-32173968-C77C-4BD7-ADB0-4EB7DBFE3DEB"/>
<sequenceFlow id="sid-F50530D8-28A7-4F4E-A950-42E5BD5A6AEC" name="${resendRequest}" sourceRef="sid-32173968-C77C-4BD7-ADB0-4EB7DBFE3DEB" targetRef="sid-E9027EA2-10EE-4B5E-98DD-3BC86CFA3486"/>
<sequenceFlow id="sid-3FCE8675-C827-4E30-9066-4BB007804C87" name="${!resendRequest}" sourceRef="sid-32173968-C77C-4BD7-ADB0-4EB7DBFE3DEB" targetRef="sid-72B34C3D-69BF-41C7-8B83-6559EAEA969E"/>
</process>
<bpmndi:BPMNDiagram id="sid-4dabe680-fe92-40c3-aedf-5a01e75f6351">
<bpmndi:BPMNPlane bpmnElement="sid-8cab1011-1b36-4154-986b-48627cfe3e05" id="sid-cbc429b7-0062-410d-8876-c17fea3a7bba">
<bpmndi:BPMNShape bpmnElement="sid-E2CC4D54-9C99-46CB-A145-3E44807A50F8" id="sid-E2CC4D54-9C99-46CB-A145-3E44807A50F8_gui">
<omgdc:Bounds height="30.0" width="30.0" x="75.0" y="85.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-E9027EA2-10EE-4B5E-98DD-3BC86CFA3486" id="sid-E9027EA2-10EE-4B5E-98DD-3BC86CFA3486_gui">
<omgdc:Bounds height="80.0" width="111.0" x="150.0" y="60.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-32173968-C77C-4BD7-ADB0-4EB7DBFE3DEB" id="sid-32173968-C77C-4BD7-ADB0-4EB7DBFE3DEB_gui" isMarkerVisible="true">
<omgdc:Bounds height="40.0" width="40.0" x="559.0" y="233.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-42F64CC2-974B-48EC-B770-4F189D31B9D1" id="sid-42F64CC2-974B-48EC-B770-4F189D31B9D1_gui">
<omgdc:Bounds height="84.0" width="124.0" x="390.0" y="211.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-92436D48-1474-4223-8BE7-D5E341076373" id="sid-92436D48-1474-4223-8BE7-D5E341076373_gui" isMarkerVisible="true">
<omgdc:Bounds height="40.0" width="40.0" x="318.0" y="80.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-1B2EA8CC-6CFB-417D-9E64-0A753E7E3CF5" id="sid-1B2EA8CC-6CFB-417D-9E64-0A753E7E3CF5_gui">
<omgdc:Bounds height="80.0" width="100.0" x="538.0" y="60.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-E62A67D2-32F2-4E3D-9397-0386C43D91D7" id="sid-E62A67D2-32F2-4E3D-9397-0386C43D91D7_gui">
<omgdc:Bounds height="28.0" width="28.0" x="754.0" y="86.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-72B34C3D-69BF-41C7-8B83-6559EAEA969E" id="sid-72B34C3D-69BF-41C7-8B83-6559EAEA969E_gui">
<omgdc:Bounds height="28.0" width="28.0" x="754.0" y="239.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sid-92E6DBF4-6E3B-4DCA-ADDF-DD1C1D591400" id="sid-92E6DBF4-6E3B-4DCA-ADDF-DD1C1D591400_gui">
<omgdi:waypoint x="514.0" y="253.0"/>
<omgdi:waypoint x="559.0" y="253.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-F50530D8-28A7-4F4E-A950-42E5BD5A6AEC" id="sid-F50530D8-28A7-4F4E-A950-42E5BD5A6AEC_gui">
<omgdi:waypoint x="579.0" y="273.0"/>
<omgdi:waypoint x="579.5" y="404.0"/>
<omgdi:waypoint x="205.5" y="404.0"/>
<omgdi:waypoint x="205.0" y="140.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-F9079A6D-ED44-4D87-906A-7E7A3F9E94E9" id="sid-F9079A6D-ED44-4D87-906A-7E7A3F9E94E9_gui">
<omgdi:waypoint x="638.0" y="100.0"/>
<omgdi:waypoint x="754.0" y="100.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-F32BE919-CAC7-4555-AD77-389B6FE265AE" id="sid-F32BE919-CAC7-4555-AD77-389B6FE265AE_gui">
<omgdi:waypoint x="338.0" y="120.0"/>
<omgdi:waypoint x="338.5" y="253.0"/>
<omgdi:waypoint x="390.0" y="253.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-A7BB7780-9518-4515-B496-1B0B5A5EBAA1" id="sid-A7BB7780-9518-4515-B496-1B0B5A5EBAA1_gui">
<omgdi:waypoint x="261.0" y="100.0"/>
<omgdi:waypoint x="318.0" y="100.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-9F799F35-6DCE-47C8-B1C5-793D3936F5F2" id="sid-9F799F35-6DCE-47C8-B1C5-793D3936F5F2_gui">
<omgdi:waypoint x="105.0" y="100.0"/>
<omgdi:waypoint x="150.0" y="100.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-02320A54-EB16-43F7-AB1D-D0ACA32345F7" id="sid-02320A54-EB16-43F7-AB1D-D0ACA32345F7_gui">
<omgdi:waypoint x="358.0" y="100.0"/>
<omgdi:waypoint x="538.0" y="100.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-3FCE8675-C827-4E30-9066-4BB007804C87" id="sid-3FCE8675-C827-4E30-9066-4BB007804C87_gui">
<omgdi:waypoint x="599.0" y="253.0"/>
<omgdi:waypoint x="754.0" y="253.0"/>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,44 @@
<h1>Adjust vacation Request</h1>
<p>
Your manager has disapproved your vacation request for ${numberOfDays} days. <br/>
Reason: ${managerMotivation}
</p>
<p>
<table>
<tr>
<td>
<label>
Number of days:<br/>
<input type="text" name="numberOfDays" value="${numberOfDays}" />
<input type="hidden" name="numberOfDays_type" value="Integer" />
</label>
</td>
</tr>
<tr>
<td>
<label>
<input type="checkbox" name="vacationPay"/> Vacation pay requested
<input type="hidden" name="vacationPay_boolean" value="${vacationPay}"/>
</label>
</td>
</tr>
<tr>
<td>
<label>
Motivation:<br/>
<textarea name="vacationMotivation" value=""></textarea>
</label>
</td>
</tr>
<tr>
<td>
Resend vacation request to manager?<br/>
<input type="radio" name="resendRequest" value="true" checked>Yes<br/>
<input type="radio" name="resendRequest" value="false">No
<input type="hidden" name="resendRequest_type" value="Boolean"/>
</td>
<tr>
</table>
</p>

View File

@ -0,0 +1,21 @@
<h1>Vacation Approval</h1>
<p>
${employeeName} would like to take ${numberOfDays} day(s) of vacation.
</p>
<p>
Motivation: ${vacationMotivation}
</p>
<p>
Do you approve this?
<select name="vacationApproved">
<option value="true">Yes</option>
<option value="false">No</option>
</select>
<input type="hidden" name="vacationApproved_type" value="Boolean" />
</p>
<p>
<label>
Motivation:<br/>
<textarea name="managerMotivation" value=""></textarea>
</label>
</p>

View File

@ -0,0 +1,56 @@
<h1>Vacation Request</h1>
<table>
<tr>
<td>
<label>
Employee name:<br/>
<input type="text" name="employeeName" value="" />
<input type="hidden" name="employeeName_required" value="true" />
<input type="hidden" name="employeeName_type" value="User" />
</label><br/>
</td>
</tr>
<tr>
<td>
<label>
Number of days:<br/>
<input type="number" name="numberOfDays" value="1" min="1" />
<input type="hidden" name="numberOfDays_type" value="Integer" />
</label>
</td>
</tr>
<tr>
<td>
<label>
First day of vacation:<br/>
<input type="date" name="startDate"/>
<input type="hidden" name="startDate_type" value="Date"/>
</label>
</td>
</tr>
<tr>
<td>
<label>
Date of return to work:<br/>
<input type="date" name="returnDate"/>
<input type="hidden" name="returnDate_type" value="Date"/>
</label>
</td>
</tr>
<tr>
<td>
<label>
<input type="checkbox" name="vacationPay"/> Vacation pay requested
<input type="hidden" name="vacationPay_boolean" value="true"/>
</label>
</td>
</tr>
<tr>
<td>
<label>
Motivation:<br/>
<textarea name="vacationMotivation" value=""></textarea>
</label>
</td>
</tr>
</table>

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="src" path="src/main/process"/>
<classpathentry kind="src" path="src/test/java"/>
<classpathentry kind="src" path="src/test/resources"/>
<classpathentry kind="lib" path="libs-runtime/activation-1.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/activiti-engine-5.8-sources.jar"/>
<classpathentry kind="lib" path="libs-runtime/activiti-engine-5.8.jar" sourcepath="libs-runtime/activiti-engine-5.8-sources.jar"/>
<classpathentry kind="lib" path="libs-runtime/aopalliance-1.0.jar"/>
<classpathentry kind="lib" path="libs-runtime/commons-email-1.2.jar"/>
<classpathentry kind="lib" path="libs-runtime/commons-logging-1.1.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/livetribe-jsr223-2.0.6.jar"/>
<classpathentry kind="lib" path="libs-runtime/mail-1.4.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/mybatis-3.0.4.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-aop-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-asm-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-beans-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-context-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-core-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-expression-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-jdbc-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-orm-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-test-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-runtime/spring-tx-3.0.3.RELEASE.jar"/>
<classpathentry kind="lib" path="libs-test/cglib-2.2.jar"/>
<classpathentry kind="lib" path="libs-test/commons-collections-3.2.jar"/>
<classpathentry kind="lib" path="libs-test/commons-lang-2.4.jar"/>
<classpathentry kind="lib" path="libs-test/commons-pool-1.3.jar"/>
<classpathentry kind="lib" path="libs-test/geronimo-jms_1.1_spec-1.0.1.jar"/>
<classpathentry kind="lib" path="libs-test/geronimo-jpa_3.0_spec-1.0.jar"/>
<classpathentry kind="lib" path="libs-test/geronimo-jta_1.1_spec-1.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/h2-1.2.132.jar"/>
<classpathentry kind="lib" path="libs-test/hamcrest-core-1.1.jar"/>
<classpathentry kind="lib" path="libs-test/junit-4.8.1.jar"/>
<classpathentry kind="lib" path="libs-test/mockito-core-1.8.2.jar"/>
<classpathentry kind="lib" path="libs-test/objenesis-1.0.jar"/>
<classpathentry kind="lib" path="libs-test/openjpa-1.2.2.jar"/>
<classpathentry kind="lib" path="libs-test/serp-1.13.1.jar"/>
<classpathentry kind="lib" path="libs-test/subethasmtp-smtp-1.2.jar"/>
<classpathentry kind="lib" path="libs-test/subethasmtp-wiser-1.2.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="libs-runtime/activiti-spring-5.8-sources.jar"/>
<classpathentry kind="lib" path="libs-runtime/activiti-spring-5.8.jar" sourcepath="libs-runtime/activiti-spring-5.8-sources.jar"/>
<classpathentry kind="lib" path="libs-runtime/persistence-api-1.0.jar"/>
<classpathentry kind="lib" path="libs-test/antlr-2.7.7.jar"/>
<classpathentry kind="lib" path="libs-test/asm-3.1.jar"/>
<classpathentry kind="lib" path="libs-runtime/commons-dbcp-1.4.jar"/>
<classpathentry kind="lib" path="libs-runtime/commons-pool-1.3.jar"/>
<classpathentry kind="lib" path="libs-test/asm-analysis-3.2.jar"/>
<classpathentry kind="lib" path="libs-test/asm-commons-3.2.jar"/>
<classpathentry kind="lib" path="libs-test/asm-tree-3.2.jar"/>
<classpathentry kind="lib" path="libs-test/asm-util-3.2.jar"/>
<classpathentry kind="lib" path="libs-test/drools-api-5.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/drools-compiler-5.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/drools-core-5.1.1.jar"/>
<classpathentry kind="lib" path="libs-test/ecj-3.5.1.jar"/>
<classpathentry kind="lib" path="libs-test/groovy-1.7.5.jar"/>
<classpathentry kind="lib" path="libs-test/jtds-1.2.4.jar"/>
<classpathentry kind="lib" path="libs-test/mvel2-2.0.16.jar"/>
<classpathentry kind="lib" path="libs-test/mysql-connector-java-5.1.6.jar"/>
<classpathentry kind="lib" path="libs-test/postgresql-8.4-701.jdbc4.jar"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>activiti-spring-examples</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><templates><template autoinsert="false" context="gettercomment_context" deleted="false" description="Comment for getter method" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name="gettercomment"/><template autoinsert="false" context="settercomment_context" deleted="false" description="Comment for setter method" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.settercomment" name="settercomment"/><template autoinsert="false" context="constructorcomment_context" deleted="false" description="Comment for created constructors" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name="constructorcomment"/><template autoinsert="false" context="filecomment_context" deleted="false" description="Comment for created Java files" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.filecomment" name="filecomment">/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
</template><template autoinsert="false" context="typecomment_context" deleted="false" description="Comment for created types" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.typecomment" name="typecomment">/**
* @author ${user}
*/</template><template autoinsert="false" context="fieldcomment_context" deleted="false" description="Comment for fields" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name="fieldcomment"/><template autoinsert="false" context="methodcomment_context" deleted="false" description="Comment for non-overriding methods" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name="methodcomment"/><template autoinsert="false" context="overridecomment_context" deleted="false" description="Comment for overriding methods" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name="overridecomment"/><template autoinsert="false" context="delegatecomment_context" deleted="false" description="Comment for delegate methods" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name="delegatecomment"/><template autoinsert="true" context="newtype_context" deleted="false" description="Newly created files" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.newtype" name="newtype">${filecomment}
${package_declaration}
${typecomment}
${type_declaration}</template><template autoinsert="true" context="classbody_context" deleted="false" description="Code in new class type bodies" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.classbody" name="classbody">
</template><template autoinsert="true" context="interfacebody_context" deleted="false" description="Code in new interface type bodies" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name="interfacebody">
</template><template autoinsert="true" context="enumbody_context" deleted="false" description="Code in new enum type bodies" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.enumbody" name="enumbody">
</template><template autoinsert="true" context="annotationbody_context" deleted="false" description="Code in new annotation type bodies" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name="annotationbody">
</template><template autoinsert="false" context="catchblock_context" deleted="false" description="Code in new catch blocks" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.catchblock" name="catchblock">${exception_var}.printStackTrace();</template><template autoinsert="false" context="methodbody_context" deleted="false" description="Code in created method stubs" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.methodbody" name="methodbody">${body_statement}</template><template autoinsert="false" context="constructorbody_context" deleted="false" description="Code in created constructor stubs" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name="constructorbody">${body_statement}</template><template autoinsert="true" context="getterbody_context" deleted="false" description="Code in created getters" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.getterbody" name="getterbody">return ${field};</template><template autoinsert="true" context="setterbody_context" deleted="false" description="Code in created setters" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.setterbody" name="setterbody">${field} = ${param};</template><template autoinsert="false" context="gettercomment_context" deleted="false" description="Comment for getter function" enabled="true" id="org.eclipse.wst.jsdt.ui.text.codetemplates.gettercomment" name="gettercomment"/><template autoinsert="false" context="settercomment_context" deleted="false" description="Comment for setter function" enabled="true" id="org.eclipse.wst.jsdt.ui.text.codetemplates.settercomment" name="settercomment"/><template autoinsert="false" context="constructorcomment_context" deleted="false" description="Comment for created constructors" enabled="true" id="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorcomment" name="constructorcomment"/><template autoinsert="false" context="filecomment_context" deleted="false" description="Comment for created JavaScript files" enabled="true" id="org.eclipse.wst.jsdt.ui.text.codetemplates.filecomment" name="filecomment"/><template autoinsert="false" context="typecomment_context" deleted="false" description="Comment for created types" enabled="true" id="org.eclipse.wst.jsdt.ui.text.codetemplates.typecomment" name="typecomment"/><template autoinsert="false" context="fieldcomment_context" deleted="false" description="Comment for vars" enabled="true" id="org.eclipse.wst.jsdt.ui.text.codetemplates.fieldcomment" name="fieldcomment"/><template autoinsert="false" context="methodcomment_context" deleted="false" description="Comment for non-overriding function" enabled="true" id="org.eclipse.wst.jsdt.ui.text.codetemplates.methodcomment" name="methodcomment"/><template autoinsert="false" context="overridecomment_context" deleted="false" description="Comment for overriding functions" enabled="true" id="org.eclipse.wst.jsdt.ui.text.codetemplates.overridecomment" name="overridecomment"/><template autoinsert="false" context="delegatecomment_context" deleted="false" description="Comment for delegate functions" enabled="true" id="org.eclipse.wst.jsdt.ui.text.codetemplates.delegatecomment" name="delegatecomment"/><template autoinsert="true" context="newtype_context" deleted="false" description="Newly created files" enabled="true" id="org.eclipse.wst.jsdt.ui.text.codetemplates.newtype" name="newtype">${filecomment}
${package_declaration}
${typecomment}
${type_declaration}</template><template autoinsert="true" context="classbody_context" deleted="false" description="Code in new class type bodies" enabled="true" id="org.eclipse.wst.jsdt.ui.text.codetemplates.classbody" name="classbody">
</template><template autoinsert="false" context="catchblock_context" deleted="false" description="Code in new catch blocks" enabled="true" id="org.eclipse.wst.jsdt.ui.text.codetemplates.catchblock" name="catchblock">${exception_var}.printStackTrace();</template><template autoinsert="false" context="methodbody_context" deleted="false" description="Code in created function stubs" enabled="true" id="org.eclipse.wst.jsdt.ui.text.codetemplates.methodbody" name="methodbody">${body_statement}</template><template autoinsert="false" context="constructorbody_context" deleted="false" description="Code in created constructor stubs" enabled="true" id="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorbody" name="constructorbody">${body_statement}</template><template autoinsert="true" context="getterbody_context" deleted="false" description="Code in created getters" enabled="true" id="org.eclipse.wst.jsdt.ui.text.codetemplates.getterbody" name="getterbody">return ${field};</template><template autoinsert="true" context="setterbody_context" deleted="false" description="Code in created setters" enabled="true" id="org.eclipse.wst.jsdt.ui.text.codetemplates.setterbody" name="setterbody">${field} = ${param};</template></templates>

View File

@ -0,0 +1,269 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<profiles version="11">
<profile kind="CodeFormatterProfile" name="activiti profile" version="11">
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
<setting id="org.eclipse.jdt.core.compiler.source" value="1.5"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="160"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
<setting id="org.eclipse.jdt.core.compiler.problem.assertIdentifier" value="error"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.problem.enumIdentifier" value="error"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.compiler.compliance" value="1.5"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode" value="enabled"/>
<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_binary_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.targetPlatform" value="1.5"/>
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
</profile>
</profiles>

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><templates><template autoinsert="true" context="java" deleted="false" description="activiti logger" enabled="true" name="log">private static Logger log = Logger.getLogger(${enclosing_type}.class.getName());</template></templates>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/activiti-engine-examples"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.h2.tools.Server"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-baseDir target"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="activiti-engine-examples"/>
</launchConfiguration>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
<classpathentry kind="src" path="src/main/resources"/>
<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>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>activiti-cactus</name>
<comment>BPM and workflow engine. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.maven.ide.eclipse.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.maven.ide.eclipse.maven2Nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,222 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<name>Activiti - Cactus</name>
<groupId>org.activiti</groupId>
<artifactId>activiti-cactus</artifactId>
<packaging>war</packaging>
<parent>
<groupId>org.activiti</groupId>
<artifactId>activiti-root</artifactId>
<relativePath>../..</relativePath>
<version>5.8</version>
</parent>
<dependencies>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<classifier>tests</classifier>
<version>${version}</version>
</dependency>
<dependency>
<groupId>org.apache.cactus</groupId>
<artifactId>cactus.core.framework.uberjar.javaEE.15</artifactId>
<version>1.8.1</version>
</dependency>
<dependency>
<!-- necessary for deploying cactus on tomcat. excluded for jboss below -->
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.1</version>
</dependency>
<!-- Jar containing cactus targets to use in ant -->
<dependency>
<groupId>org.apache.cactus</groupId>
<artifactId>cactus.integration.ant</artifactId>
<version>1.8.1</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy</artifactId>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-core</artifactId>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-compiler</artifactId>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jta_1.1_spec</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.subethamail</groupId>
<artifactId>subethasmtp-wiser</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>org.activiti.test.cactus.ListTests</mainClass>
</configuration>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>../../qa/server/target/cactus/lib</outputDirectory>
<includeScope>test</includeScope>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<!--
only worked with this version, there might be a bug with antrun
see http://jira.codehaus.org/browse/MANTRUN-109
-->
<version>1.4</version>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<condition property="cfg.file.name" value="activiti-context.xml" else="activiti.cfg.xml">
<equals arg1="${cfg}" arg2="spring" />
</condition>
<echo message="using configuration src/main/cfg/server.${server}.cfg.${cfg}.tx.${tx}.xml as ${cfg.file.name}" />
<echo message="using database properties ${user.home}/.activiti/server/build.${database}.properties" />
<copy tofile="target/classes/${cfg.file.name}" file="src/main/cfg/server.${server}.cfg.${cfg}.tx.${tx}.xml">
<filterset filtersfile="${user.home}/.activiti/server/build.${database}.properties" />
</copy>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>jboss</id>
<activation>
<property>
<name>server</name>
<value>jboss</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>org.apache.cactus</groupId>
<artifactId>cactus.integration.ant</artifactId>
<version>1.8.1</version>
<exclusions>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.1</version>
<exclusions>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</profile>
</profiles>
</project>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.JtaProcessEngineConfiguration">
<!-- Database configurations -->
<property name="dataSourceJndi" value="java:/ActivitiDS" />
<!-- Database configurations -->
<property name="databaseSchemaUpdate" value="true" />
<!-- job executor configurations -->
<property name="jobExecutorActivate" value="false" />
<!-- mail server configurations -->
<property name="mailServerPort" value="5025" />
</bean>
</beans>

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<!-- Database configurations -->
<property name="jdbcUrl" value="@jdbc.url@" />
<property name="jdbcDriver" value="@jdbc.driver@" />
<property name="jdbcUsername" value="@jdbc.username@" />
<property name="jdbcPassword" value="@jdbc.password@" />
<!-- Database configurations -->
<property name="databaseSchemaUpdate" value="true" />
<!-- job executor configurations -->
<property name="jobExecutorActivate" value="false" />
<!-- mail server configurations -->
<property name="mailServerPort" value="5025" />
</bean>
</beans>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="dataSource" class="org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy">
<property name="targetDataSource">
<bean class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
<property name="driverClass" value="@jdbc.driver@" />
<property name="url" value="@jdbc.url@" />
<property name="username" value="@jdbc.username@" />
<property name="password" value="@jdbc.password@" />
</bean>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<property name="dataSource" ref="dataSource" />
<property name="transactionManager" ref="transactionManager" />
<property name="databaseSchemaUpdate" value="true" />
<property name="jobExecutorActivate" value="false" />
</bean>
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration" />
</bean>
<bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />
<bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService" />
<bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />
<bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
<bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" />
</beans>

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<!-- Database configurations -->
<property name="jdbcUrl" value="@jdbc.url@" />
<property name="jdbcDriver" value="@jdbc.driver@" />
<property name="jdbcUsername" value="@jdbc.username@" />
<property name="jdbcPassword" value="@jdbc.password@" />
<!-- Database configurations -->
<property name="databaseSchemaUpdate" value="true" />
<!-- job executor configurations -->
<property name="jobExecutorActivate" value="false" />
<!-- mail server configurations -->
<property name="mailServerPort" value="5025" />
</bean>
</beans>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="dataSource" class="org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy">
<property name="targetDataSource">
<bean class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
<property name="driverClass" value="@jdbc.driver@" />
<property name="url" value="@jdbc.url@" />
<property name="username" value="@jdbc.username@" />
<property name="password" value="@jdbc.password@" />
</bean>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<property name="dataSource" ref="dataSource" />
<property name="transactionManager" ref="transactionManager" />
<property name="databaseSchemaUpdate" value="true" />
<property name="jobExecutorActivate" value="false" />
</bean>
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration" />
</bean>
<bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />
<bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService" />
<bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />
<bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
<bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" />
</beans>

View File

@ -0,0 +1,112 @@
package org.activiti.test.cactus;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.apache.cactus.ServletTestSuite;
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* A TestCase that returns a {@link ServletTestSuite} that can be run with
* cactus inside a containe. This testsuite will run all tests that are
* configured in the file 'activiti.cactus.tests.txt' on the classpath.
*
* The configured tests can be {@link TestSuite}s or {@link TestCase}s, they
* will be handled accordingly.
*
* @author Frederik Heremans
*/
public class ActivitiServletTestCase extends TestCase {
public static Test suite() {
ServletTestSuite suite = new ServletTestSuite();
// Add all test class-names that are present in a file on the classpath
InputStream is = null;
try {
is = Thread.currentThread().getContextClassLoader().getResourceAsStream("activiti.cactus.tests.txt");
if (is == null) {
throw new RuntimeException("File activiti.cactus.tests.txt is not found on classpath!");
}
List<String> testsToRun = readLines(is);
for (String testName : testsToRun) {
addTestToSuite(testName, suite);
}
} catch (IOException ioe) {
throw new RuntimeException("Cannot read activiti cactus test configuration", ioe);
} finally {
closeSilently(is);
}
return suite;
}
private static List<String> readLines(InputStream inputStream) throws IOException {
List<String> lines = new ArrayList<String>();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line = reader.readLine();
while (line != null) {
lines.add(line);
line = reader.readLine();
}
return lines;
}
private static void closeSilently(InputStream inputStream) {
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException ioe) {
// Ignore
}
}
}
private static Class< ? > forName(String classname) {
try {
return Class.forName(classname);
} catch (ClassNotFoundException e) {
throw new RuntimeException("A test with name '" + classname + "' is configured, but is not found on the classpath", e);
}
}
private static void addTestToSuite(String classname, ServletTestSuite suite) {
Class< ? > testClass = forName(classname);
if (TestSuite.class.isAssignableFrom(testClass)) {
// Add the test-suite
suite.addTestSuite(testClass);
} else if (Test.class.isAssignableFrom(testClass)) {
// Test case, should be wrapped in TestSuite to have all
// test-methods turned into a single Test
ServletTestSuite testSuite = new ServletTestSuite(testClass);
suite.addTest(testSuite);
} else {
throw new RuntimeException("Class " + classname + " is not a TestCase nor a TestSuite");
}
}
}

View File

@ -0,0 +1,61 @@
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.activiti.test.cactus;
import java.io.File;
import java.io.PrintWriter;
/**
* @author Tom Baeyens
*/
public class ListTests {
public static void main(String[] args) {
try {
File rootPath = new File("../activiti-engine/src/test/java");
System.out.println("Listing tests in dir "+rootPath.getCanonicalPath()+" in target/classes/activiti.cactus.tests.txt");
PrintWriter writer = new PrintWriter("target/classes/activiti.cactus.tests.txt");
try {
scan(rootPath, null, writer);
} finally {
writer.flush();
writer.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void scan(File directory, String packageName, PrintWriter writer) {
for (File file: directory.listFiles()) {
if (file.isFile()) {
String fileName = file.getName();
if (fileName.endsWith("Test.java")) {
String className = packageName+"."+fileName.substring(0, fileName.length()-5);
writer.println(className);
}
} else if (file.isDirectory()) {
String fileName = file.getName();
String newPackageName = (packageName==null ? fileName : packageName+"."+fileName);
if (!newPackageName.startsWith("org.activiti.standalone")) {
scan(file, newPackageName, writer);
}
}
}
}
}

View File

@ -0,0 +1 @@
cactus.contextURL=http://localhost:8080/activiti-server-testing

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>ServletRedirector</servlet-name>
<servlet-class>org.apache.cactus.server.ServletTestRedirector</servlet-class>
</servlet>
<servlet>
<servlet-name>JspRedirector</servlet-name>
<jsp-file>/jspRedirector.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>ServletRedirector</servlet-name>
<url-pattern>/ServletRedirector</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>JspRedirector</servlet-name>
<url-pattern>/JspRedirector</url-pattern>
</servlet-mapping>
</web-app>

View File

@ -0,0 +1,45 @@
<%--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--%><%@page import="org.apache.cactus.server.*,org.apache.cactus.internal.server.*" session="true" %><%
/**
* Note:
* It is very important not to put any character between the end
* of the page tag and the beginning of the java code expression, otherwise,
* the generated servlet containss a 'out.println("\r\n");' and this breaks
* our mechanism !
*/
/**
* This JSP is used as a proxy to call your server-side unit tests. We use
* a JSP rather than a servlet because for testing custom JSP tags for
* example we need access to JSP implicit objects (PageContext and
* JspWriter).
*/
JspImplicitObjects objects = new JspImplicitObjects();
objects.setHttpServletRequest(request);
objects.setHttpServletResponse(response);
objects.setServletConfig(config);
objects.setServletContext(application);
objects.setJspWriter(out);
objects.setPageContext(pageContext);
JspTestRedirector redirector = new JspTestRedirector();
redirector.doGet(objects);
%>

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
<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.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>activiti-camel</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.maven.ide.eclipse.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.maven.ide.eclipse.maven2Nature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,75 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<name>Activiti - Camel</name>
<groupId>org.activiti</groupId>
<artifactId>activiti-camel</artifactId>
<packaging>bundle</packaging>
<parent>
<groupId>org.activiti</groupId>
<artifactId>activiti-root</artifactId>
<relativePath>../..</relativePath>
<version>5.8</version>
</parent>
<dependencies>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-spring</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<activiti.osgi.import.pkg>*</activiti.osgi.import.pkg>
<activiti.artifact>
org.activiti.camel
</activiti.artifact>
</properties>
<profiles>
<profile>
<id>distro</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@ -0,0 +1,46 @@
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.activiti.camel;
import org.activiti.engine.RuntimeService;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.impl.DefaultComponent;
import java.util.Map;
public class ActivitiComponent extends DefaultComponent {
private RuntimeService runtimeService;
public ActivitiComponent(CamelContext context) {
super(context);
runtimeService = getByType(context, RuntimeService.class);
}
private <T> T getByType(CamelContext ctx, Class<T> kls) {
Map<String, T> looked = ctx.getRegistry().lookupByType(kls);
if (looked.isEmpty()) {
return null;
}
return looked.values().iterator().next();
}
@Override
protected Endpoint createEndpoint(String s, String s1, Map<String, Object> stringObjectMap) throws Exception {
ActivitiEndpoint ae = new ActivitiEndpoint(s, getCamelContext(), runtimeService);
//setProperties(ae, stringObjectMap);
return ae;
}
}

View File

@ -0,0 +1,29 @@
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.activiti.camel;
import org.apache.camel.Processor;
import org.apache.camel.impl.DefaultConsumer;
public class ActivitiConsumer extends DefaultConsumer {
public ActivitiConsumer(ActivitiEndpoint endpoint, Processor processor) {
super(endpoint, processor);
}
@Override
protected void doStart() throws Exception {
super.doStart();
((ActivitiEndpoint) getEndpoint()).addConsumer(this);
}
}

View File

@ -0,0 +1,93 @@
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.activiti.camel;
import org.activiti.engine.RuntimeService;
import org.apache.camel.*;
import org.apache.camel.impl.DefaultEndpoint;
public class ActivitiEndpoint extends DefaultEndpoint {
private RuntimeService runtimeService;
private ActivitiConsumer activitiConsumer;
private boolean copyVariablesToProperties = true;
private boolean copyVariablesToBody = false;
private boolean copyVariablesFromProperties = false;
public ActivitiEndpoint(String uri, CamelContext camelContext, RuntimeService runtimeService) {
super(uri, camelContext);
this.runtimeService = runtimeService;
}
void addConsumer(ActivitiConsumer consumer) {
if (activitiConsumer != null) {
throw new RuntimeException("Activit consumer already defined for " + getEndpointUri() + "!");
}
activitiConsumer = consumer;
}
public void process(Exchange ex) throws Exception {
if (activitiConsumer == null) {
throw new RuntimeException("Activiti consumer not defined for " + getEndpointUri());
}
activitiConsumer.getProcessor().process(ex);
}
public Producer createProducer() throws Exception {
return new ActivitiProducer(this, runtimeService);
}
public Consumer createConsumer(Processor processor) throws Exception {
return new ActivitiConsumer(this, processor);
}
public boolean isSingleton() {
return true;
}
public boolean isCopyVariablesToProperties() {
return copyVariablesToProperties;
}
public void setCopyVariablesToProperties(boolean copyVariablesToProperties) {
this.copyVariablesToProperties = copyVariablesToProperties;
}
public boolean isCopyVariablesToBody() {
return copyVariablesToBody;
}
public void setCopyVariablesToBody(boolean copyVariablesToBody) {
this.copyVariablesToBody = copyVariablesToBody;
}
public boolean isCopyVariablesFromProperties() {
return copyVariablesFromProperties;
}
public void setCopyVariablesFromProperties(boolean copyVariablesFromProperties) {
this.copyVariablesFromProperties = copyVariablesFromProperties;
}
@Override
public boolean isLenientProperties() {
return true;
}
}

View File

@ -0,0 +1,106 @@
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.activiti.camel;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.runtime.Execution;
import org.activiti.engine.runtime.ProcessInstance;
import org.apache.camel.Exchange;
import org.apache.camel.impl.DefaultProducer;
import java.util.HashMap;
import java.util.Map;
public class ActivitiProducer extends DefaultProducer {
private RuntimeService runtimeService;
public static final String PROCESS_KEY_PROPERTY = "PROCESS_KEY_PROPERTY";
public static final String PROCESS_ID_PROPERTY = "PROCESS_ID_PROPERTY";
private String processKey = null;
private String activity = null;
public ActivitiProducer(ActivitiEndpoint endpoint, RuntimeService runtimeService) {
super(endpoint);
this.runtimeService = runtimeService;
String[] path = endpoint.getEndpointKey().split(":");
processKey = path[1].replace("//", "");
if (path.length > 2) {
activity = path[2];
}
}
public void process(Exchange exchange) throws Exception {
if (shouldStartProcess()) {
ProcessInstance pi = startProcess(exchange);
exchange.getOut().setBody(pi.getId());
} else {
signal(exchange);
}
}
private boolean shouldStartProcess() {
return activity == null;
}
private void signal(Exchange exchange) {
String processInstanceId = findProcessInstanceId(exchange);
Execution execution = runtimeService.createExecutionQuery()
.processDefinitionKey(processKey)
.processInstanceId(processInstanceId)
.activityId(activity).singleResult();
if (execution == null) {
throw new RuntimeException("Couldn't find activity "+activity+" for processId " + processInstanceId);
}
runtimeService.setVariables(execution.getId(), ExchangeUtils.prepareVariables(exchange, getActivitiEndpoint()));
runtimeService.signal(execution.getId());
}
private String findProcessInstanceId(Exchange exchange) {
String processInstanceId = exchange.getProperty(PROCESS_ID_PROPERTY, String.class);
if (processInstanceId != null) {
return processInstanceId;
}
String processInstanceKey = exchange.getProperty(PROCESS_KEY_PROPERTY, String.class);
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processInstanceBusinessKey(processInstanceKey).singleResult();
if (processInstance == null) {
throw new RuntimeException("Could not find activiti with key " + processInstanceKey);
}
return processInstance.getId();
}
private ProcessInstance startProcess(Exchange exchange) {
String key = exchange.getProperty(PROCESS_KEY_PROPERTY, String.class);
if (key == null) {
return runtimeService.startProcessInstanceByKey(processKey, ExchangeUtils.prepareVariables(exchange, getActivitiEndpoint()));
} else {
return runtimeService.startProcessInstanceByKey(processKey, key, ExchangeUtils.prepareVariables(exchange, getActivitiEndpoint()));
}
}
protected ActivitiEndpoint getActivitiEndpoint() {
return (ActivitiEndpoint) getEndpoint();
}
}

View File

@ -0,0 +1,93 @@
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.activiti.camel;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import org.activiti.engine.impl.bpmn.behavior.BpmnActivityBehavior;
import org.activiti.engine.impl.pvm.delegate.ActivityBehavior;
import org.activiti.engine.impl.pvm.delegate.ActivityExecution;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.impl.DefaultExchange;
public class CamelBehaviour extends BpmnActivityBehavior implements ActivityBehavior {
private Collection<ContextProvider> contextProviders;
public CamelBehaviour(Collection<ContextProvider> camelContext) {
this.contextProviders = camelContext;
}
public void execute(ActivityExecution execution) throws Exception {
ActivitiEndpoint ae = createEndpoint(execution);
Exchange ex = createExchange(execution, ae);
ae.process(ex);
execution.setVariables(ExchangeUtils.prepareVariables(ex, ae));
performDefaultOutgoingBehavior(execution);
}
private ActivitiEndpoint createEndpoint(ActivityExecution execution) {
String uri = "activiti://" + getProcessName(execution) + ":" + execution.getActivity().getId();
return getEndpoint(getContext(execution), uri);
}
private ActivitiEndpoint getEndpoint(CamelContext ctx, String key) {
for (Endpoint e : ctx.getEndpoints()) {
if (e.getEndpointKey().equals(key) && (e instanceof ActivitiEndpoint)) {
return (ActivitiEndpoint) e;
}
}
throw new RuntimeException("Activiti endpoint not defined for " + key);
}
private CamelContext getContext(ActivityExecution execution) {
String processName = getProcessName(execution);
String names = "";
for (ContextProvider provider : contextProviders) {
CamelContext ctx = provider.getContext(processName);
if (ctx != null) {
return ctx;
}
}
throw new RuntimeException("Could not find camel context for " + processName + " names are " + names);
}
private Exchange createExchange(ActivityExecution activityExecution, ActivitiEndpoint endpoint) {
Exchange ex = new DefaultExchange(getContext(activityExecution));
Map<String, Object> variables = activityExecution.getVariables();
if (endpoint.isCopyVariablesToProperties()) {
for (Map.Entry<String, Object> var : variables.entrySet()) {
ex.setProperty(var.getKey(), var.getValue());
}
}
if (endpoint.isCopyVariablesToBody()) {
ex.getIn().setBody(new HashMap<String,Object>(variables));
}
return ex;
}
private String getProcessName(ActivityExecution execution) {
String id = execution.getActivity().getProcessDefinition().getId();
return id.substring(0, id.indexOf(":"));
}
}

View File

@ -0,0 +1,22 @@
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.activiti.camel;
import org.apache.camel.CamelContext;
public interface ContextProvider {
CamelContext getContext(String processName);
}

View File

@ -0,0 +1,35 @@
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.activiti.camel;
import org.apache.camel.Exchange;
import java.util.HashMap;
import java.util.Map;
public class ExchangeUtils {
static Map<String, Object> prepareVariables(Exchange exchange, ActivitiEndpoint activitiEndpoint) {
Map<String, Object> ret = new HashMap<String, Object>();
boolean shouldReadFromProperties = activitiEndpoint.isCopyVariablesFromProperties();
Map<?, ?> m = shouldReadFromProperties ? exchange.getProperties() : exchange.getIn().getBody(Map.class);
if (m != null) {
for (Map.Entry e : m.entrySet()) {
if (e.getKey() instanceof String) {
ret.put((String) e.getKey(), e.getValue());
}
}
}
return ret;
}
}

View File

@ -0,0 +1,37 @@
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.activiti.camel;
import org.apache.camel.CamelContext;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
public class SimpleContextProvider implements ContextProvider {
private Map<String, CamelContext> contexts = new HashMap<String, CamelContext>();
public SimpleContextProvider(Map<String, CamelContext> contexts) {
this.contexts = contexts;
}
public SimpleContextProvider(String processName, CamelContext ctx) {
this(Collections.singletonMap(processName, ctx));
}
public CamelContext getContext(String processName) {
return contexts.get(processName);
}
}

View File

@ -0,0 +1 @@
class=org.activiti.camel.ActivitiComponent

View File

@ -0,0 +1,83 @@
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.activiti.camel;
import org.activiti.engine.test.Deployment;
import org.activiti.spring.impl.test.SpringActivitiTestCase;
import org.apache.camel.CamelContext;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.component.mock.MockEndpoint;
import org.springframework.test.context.ContextConfiguration;
import java.util.Collections;
import java.util.Map;
@ContextConfiguration("classpath:camel-activiti-context.xml")
public class SimpleProcessTest extends SpringActivitiTestCase {
MockEndpoint service1;
MockEndpoint service2;
public void setUp() {
CamelContext ctx = applicationContext.getBean(CamelContext.class);
service1 = (MockEndpoint) ctx.getEndpoint("mock:service1");
service1.reset();
service2 = (MockEndpoint) ctx.getEndpoint("mock:service2");
service2.reset();
}
@Deployment(resources = {"process/example.bpmn20.xml"})
public void testRunProcess() throws Exception {
CamelContext ctx = applicationContext.getBean(CamelContext.class);
ProducerTemplate tpl = ctx.createProducerTemplate();
service1.expectedBodiesReceived("ala");
String instanceId = (String) tpl.requestBody("direct:start", Collections.singletonMap("var1", "ala"));
tpl.sendBodyAndProperty("direct:receive", null, ActivitiProducer.PROCESS_ID_PROPERTY, instanceId);
assertProcessEnded(instanceId);
service1.assertIsSatisfied();
Map m = service2.getExchanges().get(0).getIn().getBody(Map.class);
assertEquals("ala", m.get("var1"));
assertEquals("var2", m.get("var2"));
}
@Deployment(resources = {"process/example.bpmn20.xml"})
public void testRunProcessByKey() throws Exception {
CamelContext ctx = applicationContext.getBean(CamelContext.class);
ProducerTemplate tpl = ctx.createProducerTemplate();
MockEndpoint me = (MockEndpoint) ctx.getEndpoint("mock:service1");
me.expectedBodiesReceived("ala");
tpl.sendBodyAndProperty("direct:start", Collections.singletonMap("var1", "ala"), ActivitiProducer.PROCESS_KEY_PROPERTY, "key1");
String instanceId = runtimeService.createProcessInstanceQuery().processInstanceBusinessKey("key1")
.singleResult().getProcessInstanceId();
tpl.sendBodyAndProperty("direct:receive", null, ActivitiProducer.PROCESS_KEY_PROPERTY, "key1");
assertProcessEnded(instanceId);
me.assertIsSatisfied();
}
}

View File

@ -0,0 +1,35 @@
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.activiti.camel.route;
import org.apache.camel.builder.RouteBuilder;
public class SampleCamelRoute extends RouteBuilder {
@Override
public void configure() throws Exception {
from("activiti:camelProcess:serviceTask1").setBody().property("var1").
to("mock:service1").setProperty("var2").constant("var2")
.setBody().properties();
from("activiti:camelProcess:serviceTask2?copyVariablesToBody=true").to("mock:service2");
from("direct:start").to("activiti:camelProcess");
from("direct:receive").to("activiti:camelProcess:receive");
}
}

View File

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:osgi="http://www.springframework.org/schema/osgi"
xmlns:camel="http://camel.apache.org/schema/spring"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<bean id="dataSource" class="org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy">
<property name="targetDataSource">
<bean class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
<property name="driverClass" value="org.h2.Driver"/>
<property name="url" value="jdbc:h2:mem:activiti;DB_CLOSE_DELAY=1000"/>
<property name="username" value="sa"/>
<property name="password" value=""/>
</bean>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<property name="dataSource" ref="dataSource"/>
<property name="transactionManager" ref="transactionManager"/>
<property name="databaseSchemaUpdate" value="true"/>
<property name="jobExecutorActivate" value="false"/>
</bean>
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration"/>
</bean>
<bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService"/>
<camelContext id="camelProcess" xmlns="http://camel.apache.org/schema/spring">
<packageScan>
<package>org.activiti.camel.route</package>
</packageScan>
</camelContext>
<bean id="camel" class="org.activiti.camel.CamelBehaviour">
<constructor-arg index="0">
<list>
<bean class="org.activiti.camel.SimpleContextProvider">
<constructor-arg index="0" value="camelProcess"/>
<constructor-arg index="1" ref="camelProcess"/>
</bean>
</list>
</constructor-arg>
</bean>
</beans>

View File

@ -0,0 +1,5 @@
handlers = java.util.logging.ConsoleHandler
.level = INFO
java.util.logging.ConsoleHandler.level=INFO
java.util.logging.ConsoleHandler.formatter=org.activiti.engine.impl.util.LogUtil$LogFormatter

Some files were not shown because too many files have changed in this diff Show More