liangzhicheng před 3 roky
revize
9f3c81ce19
100 změnil soubory, kde provedl 9936 přidání a 0 odebrání
  1. 3 0
      .bowerrc
  2. 21 0
      .gitignore
  3. 87 0
      README.md
  4. 6 0
      bat/package.bat
  5. binární
      lib/6.1.0/activiti-bpmn-converter-6.1.0.jar
  6. 161 0
      lib/6.1.0/activiti-bpmn-converter-6.1.0.pom
  7. binární
      lib/6.1.0/activiti-bpmn-layout-6.1.0.jar
  8. 147 0
      lib/6.1.0/activiti-bpmn-layout-6.1.0.pom
  9. binární
      lib/6.1.0/activiti-bpmn-model-6.1.0.jar
  10. 128 0
      lib/6.1.0/activiti-bpmn-model-6.1.0.pom
  11. 42 0
      lib/6.1.0/activiti-dependency-check-6.1.0.pom
  12. binární
      lib/6.1.0/activiti-engine-6.1.0.jar
  13. 1113 0
      lib/6.1.0/activiti-engine-6.1.0.pom
  14. binární
      lib/6.1.0/activiti-image-generator-6.1.0.jar
  15. 140 0
      lib/6.1.0/activiti-image-generator-6.1.0.pom
  16. binární
      lib/6.1.0/activiti-json-converter-6.1.0.jar
  17. 9 0
      lib/6.1.0/activiti-json-converter-6.1.0.pom
  18. 42 0
      lib/6.1.0/activiti-parent-6.1.0.pom
  19. binární
      lib/6.1.0/activiti-process-validation-6.1.0.jar
  20. 102 0
      lib/6.1.0/activiti-process-validation-6.1.0.pom
  21. 911 0
      lib/6.1.0/activiti-root-6.1.0.pom
  22. 25 0
      lib/6.1.0/install.bat
  23. binární
      lib/6.1.1/activiti-bpmn-converter-6.1.1.jar
  24. 161 0
      lib/6.1.1/activiti-bpmn-converter-6.1.1.pom
  25. binární
      lib/6.1.1/activiti-bpmn-layout-6.1.1.jar
  26. 147 0
      lib/6.1.1/activiti-bpmn-layout-6.1.1.pom
  27. binární
      lib/6.1.1/activiti-bpmn-model-6.1.1.jar
  28. 128 0
      lib/6.1.1/activiti-bpmn-model-6.1.1.pom
  29. 42 0
      lib/6.1.1/activiti-dependency-check-6.1.1.pom
  30. binární
      lib/6.1.1/activiti-engine-6.1.1.jar
  31. 1113 0
      lib/6.1.1/activiti-engine-6.1.1.pom
  32. binární
      lib/6.1.1/activiti-image-generator-6.1.1.jar
  33. 140 0
      lib/6.1.1/activiti-image-generator-6.1.1.pom
  34. binární
      lib/6.1.1/activiti-json-converter-6.1.1.jar
  35. 164 0
      lib/6.1.1/activiti-json-converter-6.1.1.pom
  36. 42 0
      lib/6.1.1/activiti-parent-6.1.1.pom
  37. binární
      lib/6.1.1/activiti-process-validation-6.1.1.jar
  38. 102 0
      lib/6.1.1/activiti-process-validation-6.1.1.pom
  39. 911 0
      lib/6.1.1/activiti-root-6.1.1.pom
  40. 25 0
      lib/6.1.1/install.bat
  41. 342 0
      pom.xml
  42. 59 0
      src/main/java/com/leanwo/activiti/WorkflowApp.java
  43. 48 0
      src/main/java/com/leanwo/activiti/app/conf/AsyncConfiguration.java
  44. 85 0
      src/main/java/com/leanwo/activiti/app/conf/Bootstrapper.java
  45. 37 0
      src/main/java/com/leanwo/activiti/app/conf/CloudConfig.java
  46. 44 0
      src/main/java/com/leanwo/activiti/app/conf/SchedulingConfiguration.java
  47. 83 0
      src/main/java/com/leanwo/activiti/app/config/exception/RestExceptionHandlerAdvice.java
  48. 119 0
      src/main/java/com/leanwo/activiti/config/DataSourceConfiguration.java
  49. 96 0
      src/main/java/com/leanwo/activiti/config/EmailConfiguration.java
  50. 45 0
      src/main/java/com/leanwo/activiti/config/FeignConfig.java
  51. 36 0
      src/main/java/com/leanwo/activiti/config/HttpTaskEngineConfiguration.java
  52. 54 0
      src/main/java/com/leanwo/activiti/config/JacksonConfiguration.java
  53. 65 0
      src/main/java/com/leanwo/activiti/config/MyTenantInfoHolder.java
  54. 26 0
      src/main/java/com/leanwo/activiti/config/ProcessReportEngineConfiguration.java
  55. 120 0
      src/main/java/com/leanwo/activiti/config/TokenConfiguration.java
  56. 126 0
      src/main/java/com/leanwo/activiti/config/TokenInterceptor.java
  57. 54 0
      src/main/java/com/leanwo/activiti/config/WebConfigurer.java
  58. 207 0
      src/main/java/com/leanwo/activiti/config/WorkFlowEngineImpl.java
  59. 17 0
      src/main/java/com/leanwo/activiti/db/AccountManagementService.java
  60. 88 0
      src/main/java/com/leanwo/activiti/db/AccountManagementServiceImpl.java
  61. 20 0
      src/main/java/com/leanwo/activiti/db/AccountService.java
  62. 63 0
      src/main/java/com/leanwo/activiti/db/AccountServiceImpl.java
  63. 15 0
      src/main/java/com/leanwo/activiti/db/ClearBackupService.java
  64. 20 0
      src/main/java/com/leanwo/activiti/db/ClearBackupServiceImpl.java
  65. 19 0
      src/main/java/com/leanwo/activiti/db/DataSourceService.java
  66. 70 0
      src/main/java/com/leanwo/activiti/db/DataSourceServiceImpl.java
  67. 289 0
      src/main/java/com/leanwo/activiti/db/DataSourceTemplate.java
  68. 15 0
      src/main/java/com/leanwo/activiti/db/DatabaseService.java
  69. 95 0
      src/main/java/com/leanwo/activiti/db/DatabaseServiceImpl.java
  70. 18 0
      src/main/java/com/leanwo/activiti/db/HttpTaskEngineService.java
  71. 41 0
      src/main/java/com/leanwo/activiti/db/HttpTaskEngineServiceImpl.java
  72. 45 0
      src/main/java/com/leanwo/activiti/db/LeanwoMySqlDialect.java
  73. 76 0
      src/main/java/com/leanwo/activiti/db/LeanwoSqlServerDialect.java
  74. 18 0
      src/main/java/com/leanwo/activiti/db/ProcessTaskEngineService.java
  75. 41 0
      src/main/java/com/leanwo/activiti/db/ProcessTaskEngineServiceImpl.java
  76. 70 0
      src/main/java/com/leanwo/activiti/delegate/base/AddCopyUserDelegate.java
  77. 19 0
      src/main/java/com/leanwo/activiti/delegate/base/AssetServerService.java
  78. 55 0
      src/main/java/com/leanwo/activiti/delegate/base/DocumentApprovedService.java
  79. 46 0
      src/main/java/com/leanwo/activiti/delegate/base/DocumentRejectedService.java
  80. 45 0
      src/main/java/com/leanwo/activiti/delegate/base/DocumentWithdrawService.java
  81. 22 0
      src/main/java/com/leanwo/activiti/delegate/base/EmptyDelegate.java
  82. 16 0
      src/main/java/com/leanwo/activiti/delegate/base/TestDelegate.java
  83. 24 0
      src/main/java/com/leanwo/activiti/delegate/base/UnqualifiedDesignerUserIdService.java
  84. 56 0
      src/main/java/com/leanwo/activiti/delegate/base/UserSyncDelegate.java
  85. 30 0
      src/main/java/com/leanwo/activiti/delegate/base/UserTaskListener.java
  86. 35 0
      src/main/java/com/leanwo/activiti/delegate/base/UserTaskListener2.java
  87. 33 0
      src/main/java/com/leanwo/activiti/delegate/base/UserTaskListener3.java
  88. 61 0
      src/main/java/com/leanwo/activiti/delegate/base/UserTaskListener4.java
  89. 157 0
      src/main/java/com/leanwo/activiti/delegate/business/ApproverLoginDelegate.java
  90. 104 0
      src/main/java/com/leanwo/activiti/delegate/business/AssetLabelPrintCheckInitDelegate.java
  91. 114 0
      src/main/java/com/leanwo/activiti/delegate/business/AssetLabelPrintCheckReportDelegate.java
  92. 109 0
      src/main/java/com/leanwo/activiti/delegate/business/FillAssetManagerLoginDelegate.java
  93. 19 0
      src/main/java/com/leanwo/activiti/dto/BaseObjectResponse.java
  94. 114 0
      src/main/java/com/leanwo/activiti/dto/BaseRangeResponse.java
  95. 41 0
      src/main/java/com/leanwo/activiti/dto/BaseResponse.java
  96. 50 0
      src/main/java/com/leanwo/activiti/dto/ProcessReportResultResponse.java
  97. 146 0
      src/main/java/com/leanwo/activiti/dto/ProcessResult.java
  98. 30 0
      src/main/java/com/leanwo/activiti/dto/RangeRequest.java
  99. 26 0
      src/main/java/com/leanwo/activiti/dto/RangeResponse.java
  100. 6 0
      src/main/java/com/leanwo/activiti/dto/SortDirection.java

+ 3 - 0
.bowerrc

@@ -0,0 +1,3 @@
+{
+  "directory": "src/main/webapp-admin/bower_components"
+}

+ 21 - 0
.gitignore

@@ -0,0 +1,21 @@
+.settings
+.project
+target
+.classpath
+.hg
+.vscode
+.externalToolBuilders
+data
+logs
+*.class
+.mtj.tmp/
+
+# Package Files #
+*.war
+*.ear
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+
+/workflow-boot/stop.bat
+/stop.bat

+ 87 - 0
README.md

@@ -0,0 +1,87 @@
+# 工作流服务器
+
+## 开发环境
+Git克隆源代码到本地
+
+```
+git clone http://www.leanwo.com:3000/ShangHaiLeanwo/WorkflowServer.git
+```
+
+源代码导入到eclipse中。注意事项如下:
+1. 工作空间的编码格式设置成UTF-8。(Preferences-General-Workspace-Text file encoding-Other(UTF-8))
+2. 使用外部的maven(maven设置了国内镜像)
+    a.  (Preferences-General-Workspace-Text file encoding-Other(UTF-8))
+
+## 工作流管理平台
+打开网址
+
+```
+http://127.0.0.1:82/workflow-app/
+```
+
+* 用户名:admin
+* 密码:adminadmin
+
+## activiti-rest服务
+```
+http://127.0.0.1:82/activiti/api
+```
+* 用户名:admin
+* 密码:adminadmin
+
+
+## 默认配置
+* 修改端口号,打开resources/Application.yml,修改属性server.port可以修改启动的端口号。
+
+```
+server:
+  port: 82
+```
+
+* 修改Eureka服务器的地址,尽量不要修改该属性,该属性来源于服务管理器(ServerManagement)中的eureka.serviceUrl.defaultZone属性
+
+```
+#Eureka Server服务器地址.
+eureka:
+  client:
+    fetch-registry: true
+    register-with-eureka: true
+    serviceUrl:
+      defaultZone: http://localhost:88/eureka/
+```
+
+* 修改数据库的链接字符串,按照下面的提示,编辑resources/applicationContext.xml文件。
+
+```
+如果连接的是SQL SERVER数据库,那么注释下面的第2行。如果连接的是MySql数据,那么注释下面的第4行。
+<!--加载MySql数据库的配置文件-->
+<context:property-placeholder location="classpath:jdbc_mysql.properties"/>
+<!--加载SQLServer数据库的配置文件-->
+<context:property-placeholder location="classpath:jdbc_mssql.properties"/>
+```
+
+```
+如果连接的是SQL SERVER数据,编辑文件resources/jdbc_mssql.properties文件。
+如果连接的是MySql数据库,那么编辑文件resources/jdbc_mysql.properties文件。
+修改数据库的链接字符串,用户名和密码。
+jdbc.url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=ProdogAppAsset2020
+jdbc.username=sa
+jdbc.password=Sitp123123
+hibernate.dialect=com.leanwo.activiti.db.LeanwoSqlServerDialect
+```
+
+
+## 初始化数据库
+* 清空现有数据库的数据,执行resources/drop/*.sql的脚本,如果发生错误,多执行几次。
+* 自动重建数据库的数据表,打开resources/Application.yml,修改属性spring.jpa.hibernate.ddl-auto: update
+* 数据表新建完成以后,,打开resources/Application.yml,修改属性spring.jpa.hibernate.ddl-auto: none
+
+
+## 程序打包
+* Activiti 6 中不能直接更新任务执行人,执行lib中的install.bat,安装修改以后的activiti jar包,修复BUG。
+* 在WorkflowServer下运行mvn clean,然后再运行 mvn package。
+* 打包的程序在 ./workflow-boot/target/6.0.0下面,拷贝出来,放到服务器上,双击run.bat即可运行。
+* 如果程序启动的时候遇到Lock... 之类的日志,且程序不能正常启动,可能是启动过程中,程序被异常关闭,造成数据库脚本升级锁未被释放,需要在数据库执行下面的脚本解锁。
+```
+DELETE FROM [dbo].[ACT_FO_DATABASECHANGELOGLOCK]
+```

+ 6 - 0
bat/package.bat

@@ -0,0 +1,6 @@
+title maven clean package
+set current_path="%cd%"
+cd %current_path%
+cd ..
+call mvn clean package
+pause

binární
lib/6.1.0/activiti-bpmn-converter-6.1.0.jar


+ 161 - 0
lib/6.1.0/activiti-bpmn-converter-6.1.0.pom

@@ -0,0 +1,161 @@
+<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 - BPMN Converter</name>
+  <artifactId>activiti-bpmn-converter</artifactId>
+
+  <parent>
+    <groupId>org.activiti</groupId>
+    <artifactId>activiti-parent</artifactId>
+    <relativePath>../activiti-parent</relativePath>
+    <version>6.1.0</version>
+  </parent>
+
+  <properties>
+    <activiti.artifact>
+      org.activiti.bpmn.converter
+    </activiti.artifact>
+    <activiti.osgi.export.additional>
+      org.activiti.bpmn.constants,org.activiti.bpmn.util,org.activiti.bpmn.exceptions
+    </activiti.osgi.export.additional>
+  </properties>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>cleanVersions</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>bundle-manifest</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>manifest</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>
+                      maven-bundle-plugin
+                    </artifactId>
+                    <versionRange>
+                      [2.1.0,)
+                    </versionRange>
+                    <goals>
+                      <goal>cleanVersions</goal>
+                      <goal>manifest</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore></ignore>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-bpmn-model</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-process-validation</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-bpmn-layout</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>jcl-over-slf4j</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>joda-time</groupId>
+      <artifactId>joda-time</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-classic</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+
+  <profiles>
+    <profile>
+      <id>distro</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-sources</id>
+                <phase>package</phase>
+                <goals>
+                  <goal>jar-no-fork</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+</project>

binární
lib/6.1.0/activiti-bpmn-layout-6.1.0.jar


+ 147 - 0
lib/6.1.0/activiti-bpmn-layout-6.1.0.pom

@@ -0,0 +1,147 @@
+<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 - BPMN Layout</name>
+  <artifactId>activiti-bpmn-layout</artifactId>
+
+  <parent>
+    <groupId>org.activiti</groupId>
+    <artifactId>activiti-parent</artifactId>
+    <version>6.1.0</version>
+    <relativePath>../activiti-parent</relativePath>
+  </parent>
+
+  <properties>
+    <activiti.artifact>
+      org.activiti.bpmn.layout
+    </activiti.artifact>
+  </properties>
+
+  <repositories>
+    <repository>
+      <id>jitpack.io</id>
+      <url>https://jitpack.io</url>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+  </repositories>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>cleanVersions</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>bundle-manifest</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>manifest</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings 
+          only. It has no influence on the Maven build itself. -->
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>
+                      maven-bundle-plugin
+                    </artifactId>
+                    <versionRange>
+                      [2.1.0,)
+                    </versionRange>
+                    <goals>
+                      <goal>cleanVersions</goal>
+                      <goal>manifest</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore></ignore>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-bpmn-model</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>jcl-over-slf4j</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.github.jgraph</groupId>
+      <artifactId>jgraphx</artifactId>
+      <version>v3.9.3</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+
+  <profiles>
+    <profile>
+      <id>distro</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-sources</id>
+                <phase>package</phase>
+                <goals>
+                  <goal>jar-no-fork</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+
+</project>

binární
lib/6.1.0/activiti-bpmn-model-6.1.0.jar


+ 128 - 0
lib/6.1.0/activiti-bpmn-model-6.1.0.pom

@@ -0,0 +1,128 @@
+<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 - BPMN Model</name>
+  <artifactId>activiti-bpmn-model</artifactId>
+
+  <parent>
+    <groupId>org.activiti</groupId>
+    <artifactId>activiti-parent</artifactId>
+    <version>6.1.0</version>
+    <relativePath>../activiti-parent</relativePath>
+  </parent>
+  
+  <properties>
+    <activiti.artifact>
+      org.activiti.bpmn.model
+    </activiti.artifact>
+    <activiti.osgi.import.additional>
+      org.apache.commons.lang;resolution:=optional
+    </activiti.osgi.import.additional>
+  </properties>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>cleanVersions</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>bundle-manifest</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>manifest</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>
+                      maven-bundle-plugin
+                    </artifactId>
+                    <versionRange>
+                      [2.1.0,)
+                    </versionRange>
+                    <goals>
+                      <goal>cleanVersions</goal>
+                      <goal>manifest</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore></ignore>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-databind</artifactId>
+    </dependency>
+  </dependencies>
+  
+  <profiles>
+    <profile>
+      <id>distro</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-sources</id>
+                <phase>package</phase>
+                <goals>
+                  <goal>jar-no-fork</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+</project>

+ 42 - 0
lib/6.1.0/activiti-dependency-check-6.1.0.pom

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+  <parent>
+    <groupId>org.activiti</groupId>
+    <artifactId>activiti-root</artifactId>
+    <version>6.1.0</version>
+    <relativePath>../..</relativePath>
+  </parent>
+  <groupId>org.activiti</groupId>
+  <artifactId>activiti-dependency-check</artifactId>
+  <packaging>pom</packaging>
+  <name>Activiti - OWASP dependency-check configuration</name>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+        <version>3.0.0</version>
+        <executions>
+          <execution>
+            <id>attach-artifacts</id>
+            <phase>package</phase>
+            <goals>
+              <goal>attach-artifact</goal>
+            </goals>
+            <configuration>
+              <artifacts>
+                <artifact>
+                  <file>${basedir}/dependency-check-suppression.xml</file>
+                  <type>xml</type>
+                  <classifier>suppression</classifier>
+                </artifact>
+              </artifacts>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

binární
lib/6.1.0/activiti-engine-6.1.0.jar


+ 1113 - 0
lib/6.1.0/activiti-engine-6.1.0.pom

@@ -0,0 +1,1113 @@
+<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</name>
+  <artifactId>activiti-engine</artifactId>
+
+  <parent>
+    <groupId>org.activiti</groupId>
+    <artifactId>activiti-parent</artifactId>
+    <version>6.1.0</version>
+    <relativePath>../activiti-parent</relativePath>
+  </parent>
+
+  <properties>
+    <activiti.artifact>
+      org.activiti.engine
+    </activiti.artifact>
+    <activiti.osgi.export.additional>
+      org.activiti.db.mapping.entity
+    </activiti.osgi.export.additional>
+    <activiti.osgi.import.additional>
+      junit*;resolution:=optional,
+      org.junit*;resolution:=optional,
+      com.sun*;resolution:=optional,
+      javax.activation*;resolution:=optional,
+      javax.persistence*;resolution:=optional,
+      org.apache.commons.mail*;resolution:=optional,
+      org.activiti.camel;resolution:=optional,
+      org.activiti.camel.impl;resolution:=optional,
+      org.springframework*;resolution:=optional,
+      org.drools*;resolution:=optional,
+      com.fasterxml*;resolution:=optional,
+      javax.transaction;resolution:=optional,
+      javax.enterprise.concurrent;resolution:=optional,
+    </activiti.osgi.import.additional>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-bpmn-converter</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-process-validation</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-image-generator</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-email</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.mybatis</groupId>
+      <artifactId>mybatis</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-beans</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>de.odysseus.juel</groupId>
+      <artifactId>juel-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>de.odysseus.juel</groupId>
+      <artifactId>juel-impl</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>de.odysseus.juel</groupId>
+      <artifactId>juel-spi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.groovy</groupId>
+      <artifactId>groovy</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.groovy</groupId>
+      <artifactId>groovy-jsr223</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.assertj</groupId>
+      <artifactId>assertj-core</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-core</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-compiler</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    
+    <dependency>
+      <groupId>com.microsoft.sqlserver</groupId>
+      <artifactId>sqljdbc4</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    
+    <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-mvel</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    
+    <dependency>
+      <groupId>javax.persistence</groupId>
+	  <artifactId>javax.persistence-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-jta_1.1_spec</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>javax.enterprise.concurrent</groupId>
+      <artifactId>javax.enterprise.concurrent-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
+      <scope>test</scope>
+    </dependency>
+    
+      <dependency>
+        <groupId>org.hibernate</groupId>
+        <artifactId>hibernate-core</artifactId>
+      	<scope>test</scope>
+      </dependency>
+      
+      <dependency>
+        <groupId>org.hibernate</groupId>
+        <artifactId>hibernate-entitymanager</artifactId>
+      	<scope>test</scope>
+      </dependency>
+      
+    <dependency>
+      <groupId>org.subethamail</groupId>
+      <artifactId>subethasmtp-wiser</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>mysql</groupId>
+      <artifactId>mysql-connector-java</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.postgresql</groupId>
+      <artifactId>postgresql</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>net.sourceforge.jtds</groupId>
+      <artifactId>jtds</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.uuid</groupId>
+      <artifactId>java-uuid-generator</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>joda-time</groupId>
+      <artifactId>joda-time</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>jcl-over-slf4j</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-classic</artifactId>
+      <scope>test</scope>
+    </dependency>
+
+    <!-- Required for testing JTA -->
+    <dependency>
+      <groupId>org.codehaus.btm</groupId>
+      <artifactId>btm</artifactId>
+      <scope>test</scope>
+    </dependency>
+
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <excludes>
+            <exclude>**/*TestCase.java</exclude>
+            <exclude>**/RepeatingServiceTaskTest.java</exclude>
+          </excludes>
+          <runOrder>alphabetical</runOrder>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>cleanVersions</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>bundle-manifest</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>manifest</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings 
+          only. It has no influence on the Maven build itself. -->
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>
+                      maven-bundle-plugin
+                    </artifactId>
+                    <versionRange>
+                      [2.1.0,)
+                    </versionRange>
+                    <goals>
+                      <goal>cleanVersions</goal>
+                      <goal>manifest</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore></ignore>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+
+  <profiles>
+
+    <profile>
+      <id>checkspring</id>
+      <properties>
+        <skipTests>true</skipTests>
+      </properties>
+    </profile>
+
+    <profile>
+      <id>create-test-jar</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-jar-plugin</artifactId>
+            <version>2.2</version>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>test-jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <profile>
+      <id>upgradeDatabase</id>
+      <activation>
+        <property>
+          <name>upgradeDatabase</name>
+        </property>
+      </activation>
+      <properties>
+        <skipTests>true</skipTests>
+      </properties>
+    </profile>
+    <profile>
+      <id>distro</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-sources</id>
+                <phase>package</phase>
+                <goals>
+                  <goal>jar-no-fork</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!-- database qa profile -->
+    <profile>
+      <id>database</id>
+      <activation>
+        <property>
+          <name>database</name>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <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>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="updating activiti configuration to db ${database}" />
+                    <copy file="${basedir}/../../qa/db/activiti.cfg.xml"
+                          todir="target/test-classes" overwrite="true">
+                      <filterset
+                          filtersfile="${user.home}/.activiti/jdbc/build.activiti6.${database}.properties" />
+                    </copy>
+                  </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                <id>database-test-drop-schema</id>
+                <phase>prepare-package</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="dropping schema in ${database}" />
+                    <java classname="org.activiti.engine.impl.db.DbSchemaDrop"
+                          classpathref="maven.test.classpath" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <profile>
+      <id>databasewithschema</id>
+      <activation>
+        <property>
+          <name>databasewithschema</name>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <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>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo
+                        message="updating activiti configuration to db ${databasewithschema}" />
+                    <copy file="${basedir}/../../qa/db/schema/activiti.cfg.xml"
+                          todir="target/test-classes" overwrite="true">
+                      <filterset
+                          filtersfile="${user.home}/.activiti/jdbc/build.activiti6.${databasewithschema}.properties" />
+                    </copy>
+                  </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                <id>database-test-drop-schema</id>
+                <phase>prepare-package</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="dropping schema in ${databasewithschema}" />
+                    <java classname="org.activiti.engine.impl.db.DbSchemaDrop"
+                          classpathref="maven.test.classpath" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <profile>
+      <id>databasemssql</id>
+      <activation>
+        <property>
+          <name>databasemssql</name>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <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>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="updating activiti configuration to db ${databasemssql}" />
+                    <copy file="${basedir}/../../qa/db/mssql/activiti.cfg.xml"
+                          todir="target/test-classes" overwrite="true">
+                      <filterset
+                          filtersfile="${user.home}/.activiti/jdbc/build.activiti6.${databasemssql}.properties" />
+                    </copy>
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!-- Config qa profile -->
+    <profile>
+      <id>configSpring</id>
+      <build>
+        <plugins>
+          <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>
+                <id>configExecution</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo
+                        message="updating activiti configuration config to db ${database}" />
+                    <copy
+                        file="${basedir}/../../qa/spring/${database}/activiti.cfg.xml"
+                        todir="target/test-classes" overwrite="true">
+                      <filterset
+                          filtersfile="${user.home}/.activiti/jdbc/build.${database}.properties" />
+                    </copy>
+                  </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                <id>database-test-drop-schema</id>
+                <phase>prepare-package</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="dropping schema in ${database}" />
+                    <java classname="org.activiti.engine.impl.db.DbSchemaDrop"
+                          classpathref="maven.test.classpath" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <excludes>
+                <exclude>**/*TestCase.java</exclude>
+
+                <!-- Disabling tests that run exclusively using standalone config -->
+                <exclude>**/ProcessDiagramRetrievalTest.java</exclude>
+                <exclude>org/activiti/standalone/**</exclude>
+              </excludes>
+              <runOrder>alphabetical</runOrder>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+      <dependencies>
+        <dependency>
+          <groupId>org.activiti</groupId>
+          <artifactId>activiti-spring</artifactId>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+
+    <profile>
+      <id>configJta</id>
+      <build>
+        <plugins>
+          <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>
+                <id>configExecution</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo
+                        message="Copying jta enabled Activiti configuration file to target/test-classes" />
+                    <echo
+                        message="Updating activiti configuration config to db ${database}" />
+                    <copy file="${basedir}/../../qa/jta/${database}/activiti.cfg.xml"
+                          todir="target/test-classes" overwrite="true">
+                      <filterset
+                          filtersfile="${user.home}/.activiti/jdbc/build.${database}.properties" />
+                    </copy>
+                  </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                <id>database-test-drop-schema</id>
+                <phase>prepare-package</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="dropping schema in ${database}" />
+                    <java classname="org.activiti.engine.impl.db.DbSchemaDrop"
+                          classpathref="maven.test.classpath" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <excludes>
+                <exclude>**/*TestCase.java</exclude>
+
+                <!-- Disabling tests that run exclusively using standalone config -->
+                <exclude>**/ProcessDiagramRetrievalTest.java</exclude>
+                <exclude>org/activiti/standalone/**</exclude>
+              </excludes>
+              <runOrder>alphabetical</runOrder>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+      <dependencies>
+        <dependency>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-jdk14</artifactId>
+          <version>1.7.6</version>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+
+    <!-- check history full -->
+    <profile>
+      <id>cfghistoryfull</id>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <version>1.4</version>
+            <executions>
+              <execution>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo
+                        message="updating activiti configuration to qa/cfg/historyfull.activiti.cfg.xml" />
+                    <copy file="${basedir}/../../qa/cfg/historyfull.activiti.cfg.xml"
+                          tofile="target/test-classes/activiti.cfg.xml" overwrite="true" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <excludes>
+                <exclude>**/*TestCase.java</exclude>
+                <exclude>**/CompetingJobAcquisitionTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-234 -->
+                <exclude>**/WSDLImporterTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-315 -->
+                <exclude>**/JobExecutorTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-427 -->
+                <exclude>**/HistoricTaskInstanceUpdateTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-485 -->
+                <exclude>**/RepeatingServiceTaskTest.java</exclude>
+                <exclude>org/activiti/standalone/**</exclude>
+              </excludes>
+              <runOrder>alphabetical</runOrder>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <profile>
+      <id>databasehistoryfull</id>
+      <build>
+        <plugins>
+          <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>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo
+                        message="updating activiti configuration to db ${database}, using FULL history" />
+                    <copy file="${basedir}/../../qa/db/historyfull.activiti.cfg.xml"
+                          todir="target/test-classes" overwrite="true">
+                      <filterset
+                          filtersfile="${user.home}/.activiti/jdbc/build.${database}.properties" />
+                    </copy>
+                    <rename src="target/test-classes/historyfull.activiti.cfg.xml"
+                            dest="target/test-classes/activiti.cfg.xml" />
+                  </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                <id>database-test-drop-schema-before</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="dropping schema in ${database}" />
+                    <java classname="org.activiti.engine.impl.db.DbSchemaDrop"
+                          classpathref="maven.test.classpath" />
+                  </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                <id>database-test-drop-schema-after</id>
+                <phase>prepare-package</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="dropping schema in ${database}" />
+                    <java classname="org.activiti.engine.impl.db.DbSchemaDrop"
+                          classpathref="maven.test.classpath" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!-- Same as databasehistoryfull, but for databases that need a schema 
+      in the config -->
+    <profile>
+      <id>databasehistoryfullwithschema</id>
+      <build>
+        <plugins>
+          <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>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo
+                        message="updating activiti configuration to db ${database}, using FULL history" />
+                    <copy
+                        file="${basedir}/../../qa/db/historyfull-with-schema.activiti.cfg.xml"
+                        todir="target/test-classes" overwrite="true">
+                      <filterset
+                          filtersfile="${user.home}/.activiti/jdbc/build.${databasewithschema}.properties" />
+                    </copy>
+                    <rename
+                        src="target/test-classes/historyfull-with-schema.activiti.cfg.xml"
+                        dest="target/test-classes/activiti.cfg.xml" />
+                  </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                <id>database-test-drop-schema-before</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="dropping schema in ${databasewithschema}" />
+                    <java classname="org.activiti.engine.impl.db.DbSchemaDrop"
+                          classpathref="maven.test.classpath" />
+                  </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                <id>database-test-drop-schema-after</id>
+                <phase>prepare-package</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="dropping schema in ${databasewithschema}" />
+                    <java classname="org.activiti.engine.impl.db.DbSchemaDrop"
+                          classpathref="maven.test.classpath" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!-- check history full -->
+    <profile>
+      <id>cfghistoryaudit</id>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <version>1.4</version>
+            <executions>
+              <execution>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo
+                        message="updating activiti configuration to qa/cfg/historyaudit.activiti.cfg.xml" />
+                    <copy file="${basedir}/../../qa/cfg/historyaudit.activiti.cfg.xml"
+                          tofile="target/test-classes/activiti.cfg.xml" overwrite="true" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <excludes>
+                <exclude>**/*TestCase.java</exclude>
+                <exclude>**/CompetingJobAcquisitionTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-234 -->
+                <exclude>**/WSDLImporterTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-315 -->
+                <exclude>**/JobExecutorTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-427 -->
+                <exclude>**/HistoricTaskInstanceUpdateTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-485 -->
+                <exclude>**/RepeatingServiceTaskTest.java</exclude>
+                <exclude>org/activiti/standalone/**</exclude>
+              </excludes>
+              <runOrder>alphabetical</runOrder>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!-- check history none -->
+    <profile>
+      <id>cfghistorynone</id>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <version>1.4</version>
+            <executions>
+              <execution>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo
+                        message="updating activiti configuration to qa/cfg/historynone.activiti.cfg.xml" />
+                    <copy file="${basedir}/../../qa/cfg/historynone.activiti.cfg.xml"
+                          tofile="target/test-classes/activiti.cfg.xml" overwrite="true" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <excludes>
+                <exclude>**/*TestCase.java</exclude>
+                <exclude>**/CompetingJobAcquisitionTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-234 -->
+                <exclude>**/WSDLImporterTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-315 -->
+                <exclude>**/JobExecutorTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-427 -->
+                <exclude>**/HistoricTaskInstanceUpdateTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-485 -->
+                <exclude>**/Historic*InstanceTest.java</exclude>
+                <exclude>**/HistoryServiceTest.java</exclude>
+                <exclude>**/RepeatingServiceTaskTest.java</exclude>
+                <exclude>**/ProcessInstanceLogQueryTest.java</exclude>
+                <exclude>org/activiti/standalone/**</exclude>
+                <exclude>**/HistoricProcessInstanceQueryVersionTest.java</exclude>
+                <exclude>**/NonCascadeDeleteTest.java</exclude>
+                <exclude>**/HistoricProcessInstanceQueryAndWithExceptionTest.java</exclude>
+                <exclude>**/HistoricJPAVariableTest.java</exclude>
+                <exclude>**/VerifyDatabaseOperationsTest.java</exclude>
+              </excludes>
+              <runOrder>alphabetical</runOrder>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <profile>
+      <id>testSchemaMetaData</id>
+      <activation>
+        <property>
+          <name>metadatabase</name>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <includes>
+                <include>**/JdbcMetaDataTest.java</include>
+              </includes>
+              <excludes />
+              <runOrder>alphabetical</runOrder>
+            </configuration>
+          </plugin>
+          <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <version>1.4</version>
+            <executions>
+              <execution>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="creating db schema in ${metadatabase}" />
+                    <ant antfile="${basedir}/../../qa/db/build.xml" target="create.db.schema">
+                      <property name="test_classpath" refid="maven.test.classpath" />
+                      <property name="database" value="${metadatabase}" />
+                    </ant>
+                    <echo message="updating activiti cfg to ${metadatabase}" />
+                    <ant antfile="${basedir}/../../qa/db/build.xml" target="create.activiti.cfg">
+                      <property name="database" value="${metadatabase}" />
+                    </ant>
+                  </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                <id>database-test-drop-schema</id>
+                <phase>prepare-package</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="dropping schema in ${metadatabase}" />
+                    <ant antfile="${basedir}/../../qa/db/build.xml" target="drop.db.schema"
+                         inheritAll="false">
+                      <property name="test_classpath" refid="maven.test.classpath" />
+                      <property name="database" value="${metadatabase}" />
+                    </ant>
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!--  check with optimization flags set -->
+    <profile>
+      <id>cfgOptimizations</id>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <version>1.4</version>
+            <executions>
+              <execution>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="updating activiti configuration to qa/cfg/optimizations.activiti.cfg.xml" />
+                    <copy file="${basedir}/../../qa/cfg/optimizations.activiti.cfg.xml" tofile="target/test-classes/activiti.cfg.xml" overwrite="true" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <profile>
+      <id>oracle</id>
+      <activation>
+        <property>
+          <name>database</name>
+          <value>oracle</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>com.oracle.jdbc</groupId>
+          <artifactId>ojdbc7</artifactId>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+
+    <profile>
+      <id>oraclewithschema</id>
+      <activation>
+        <property>
+          <name>databasewithschema</name>
+          <value>oracle</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>com.oracle.jdbc</groupId>
+          <artifactId>ojdbc7</artifactId>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+
+    <profile>
+      <id>db2</id>
+      <activation>
+        <property>
+          <name>database</name>
+          <value>db2</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>com.ibm.db2.jcc</groupId>
+          <artifactId>db2jcc4</artifactId>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+
+    <profile>
+      <id>mssql</id>
+      <activation>
+        <property>
+          <name>databasemssql</name>
+          <value>mssql</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>net.sourceforge.jtds</groupId>
+          <artifactId>jtds</artifactId>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+
+    <profile>
+      <id>mysql</id>
+      <activation>
+        <property>
+          <name>database</name>
+          <value>mysql</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>mysql</groupId>
+          <artifactId>mysql-connector-java</artifactId>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+
+    <profile>
+      <id>hsql</id>
+      <activation>
+        <property>
+          <name>database</name>
+          <value>hsql</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.hsqldb</groupId>
+          <artifactId>hsqldb</artifactId>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+  </profiles>
+
+</project>

binární
lib/6.1.0/activiti-image-generator-6.1.0.jar


+ 140 - 0
lib/6.1.0/activiti-image-generator-6.1.0.pom

@@ -0,0 +1,140 @@
+<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 - Image Generator</name>
+  <artifactId>activiti-image-generator</artifactId>
+  <packaging>jar</packaging>
+
+  <parent>
+    <groupId>org.activiti</groupId>
+    <artifactId>activiti-parent</artifactId>
+    <version>6.1.0</version>
+    <relativePath>../activiti-parent</relativePath>
+  </parent>
+
+  <properties>
+    <activiti.artifact>
+      org.activiti.image
+    </activiti.artifact>
+    <activiti.osgi.import.additional>
+      javax.imageio*;resolution:=optional,
+    </activiti.osgi.import.additional>
+  </properties>
+
+  <build>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <includes>
+          <include>**/*.*</include>
+        </includes>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>cleanVersions</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>bundle-manifest</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>manifest</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings
+          only. It has no influence on the Maven build itself. -->
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>
+                      maven-bundle-plugin
+                    </artifactId>
+                    <versionRange>
+                      [2.1.0,)
+                    </versionRange>
+                    <goals>
+                      <goal>cleanVersions</goal>
+                      <goal>manifest</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore></ignore>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-bpmn-model</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <profiles>
+    <profile>
+      <id>distro</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-sources</id>
+                <phase>package</phase>
+                <goals>
+                  <goal>jar-no-fork</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+
+</project>

binární
lib/6.1.0/activiti-json-converter-6.1.0.jar


+ 9 - 0
lib/6.1.0/activiti-json-converter-6.1.0.pom

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.activiti</groupId>
+  <artifactId>activiti-json-converter</artifactId>
+  <version>6.1.0</version>
+  <description>POM was created from install:install-file</description>
+</project>

+ 42 - 0
lib/6.1.0/activiti-parent-6.1.0.pom

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+  <parent>
+    <groupId>org.activiti</groupId>
+    <artifactId>activiti-root</artifactId>
+    <version>6.1.0</version>
+    <relativePath>../..</relativePath>
+  </parent>
+  <groupId>org.activiti</groupId>
+  <artifactId>activiti-parent</artifactId>
+  <packaging>pom</packaging>
+  <name>Activiti - Parent</name>
+  <profiles>
+    <profile>
+      <id>dependency-check</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.owasp</groupId>
+            <artifactId>dependency-check-maven</artifactId>
+            <version>3.1.2</version>
+            <configuration>
+              <failBuildOnCVSS>7</failBuildOnCVSS>
+              <suppressionFiles>
+                <suppressionFile>${settings.localRepository}/org/activiti/activiti-dependency-check/${project.version}/activiti-dependency-check-${project.version}-suppression.xml</suppressionFile>
+              </suppressionFiles>
+            </configuration>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>check</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+</project>

binární
lib/6.1.0/activiti-process-validation-6.1.0.jar


+ 102 - 0
lib/6.1.0/activiti-process-validation-6.1.0.pom

@@ -0,0 +1,102 @@
+<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>
+  <parent>
+    <groupId>org.activiti</groupId>
+    <artifactId>activiti-parent</artifactId>
+    <version>6.1.0</version>
+    <relativePath>../activiti-parent</relativePath>
+  </parent>
+  <artifactId>activiti-process-validation</artifactId>
+  <name>Activiti - Process Validation</name>
+  <properties>
+    <activiti.artifact>
+      org.activiti.validation
+    </activiti.artifact>
+  </properties>
+  <build>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <includes>
+          <include>**/*.*</include>
+        </includes>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>cleanVersions</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>bundle-manifest</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>manifest</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings
+          only. It has no influence on the Maven build itself. -->
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>
+                      maven-bundle-plugin
+                    </artifactId>
+                    <versionRange>
+                      [2.1.0,)
+                    </versionRange>
+                    <goals>
+                      <goal>cleanVersions</goal>
+                      <goal>manifest</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore></ignore>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-bpmn-model</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>

+ 911 - 0
lib/6.1.0/activiti-root-6.1.0.pom

@@ -0,0 +1,911 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+  <parent>
+    <groupId>org.sonatype.oss</groupId>
+    <artifactId>oss-parent</artifactId>
+    <version>7</version>
+    <relativePath/>
+  </parent>
+  <groupId>org.activiti</groupId>
+  <artifactId>activiti-root</artifactId>
+  <version>6.1.0</version>
+  <packaging>pom</packaging>
+  <name>Activiti</name>
+  <description>BPM and workflow engine</description>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <java.version>1.8</java.version>
+    <!-- Dependency versions -->
+    <batik.version>1.14</batik.version>
+    <cxf.version>3.5.0</cxf.version>
+    <drools.version>7.63.0.Final</drools.version>
+    <hibernate.version>5.5.9.Final</hibernate.version>
+    <openjpa.version>3.2.0</openjpa.version>
+    <jackson.version>2.13.1</jackson.version>
+    <jetty.version>11.0.7</jetty.version>
+    <log4j2.version>2.17.1</log4j2.version>
+    <logback.version>1.2.10</logback.version>
+    <joda-time.version>2.10.13</joda-time.version>
+    <mysql.version>8.0.27</mysql.version>
+    <mule.version>3.9.0</mule.version>
+    <spring.version>5.3.7</spring.version>
+    <spring-boot.version>2.4.6</spring-boot.version>
+    <groovy.version>3.0.9</groovy.version>
+    <!-- Plugin versions -->
+    <maven-antrun-plugin.version>3.3.0</maven-antrun-plugin.version>
+    <maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version>
+    <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
+    <maven-jar-plugin.version>3.2.0</maven-jar-plugin.version>
+    <maven-javadoc-plugin.version>3.3.1</maven-javadoc-plugin.version>
+    <maven-source-plugin.version>3.2.1</maven-source-plugin.version>
+    <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
+    <maven-war-plugin.version>2.6</maven-war-plugin.version>
+    <!-- JVM params for test execution -->
+    <argLine>-Duser.language=en</argLine>
+  </properties>
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>com.fasterxml.jackson</groupId>
+        <artifactId>jackson-bom</artifactId>
+        <version>${jackson.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.logging.log4j</groupId>
+        <artifactId>log4j-bom</artifactId>
+        <version>${log4j2.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+      <dependency>
+        <groupId>ch.qos.logback</groupId>
+        <artifactId>logback-access</artifactId>
+        <version>${logback.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>ch.qos.logback</groupId>
+        <artifactId>logback-classic</artifactId>
+        <version>${logback.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>ch.qos.logback</groupId>
+        <artifactId>logback-core</artifactId>
+        <version>${logback.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.springframework</groupId>
+        <artifactId>spring-core</artifactId>
+        <version>${spring.version}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>org.eclipse.jetty</groupId>
+        <artifactId>jetty-server</artifactId>
+        <version>${jetty.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.eclipse.jetty</groupId>
+        <artifactId>jetty-util</artifactId>
+        <version>${jetty.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.eclipse.jetty</groupId>
+        <artifactId>jetty-io</artifactId>
+        <version>${jetty.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.eclipse.jetty</groupId>
+        <artifactId>jetty-security</artifactId>
+        <version>${jetty.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.eclipse.jetty</groupId>
+        <artifactId>jetty-continuation</artifactId>
+        <version>${jetty.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.eclipse.jetty</groupId>
+        <artifactId>jetty-http</artifactId>
+        <version>${jetty.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.eclipse.jetty</groupId>
+        <artifactId>jetty-servlet</artifactId>
+        <version>${jetty.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.eclipse.jetty</groupId>
+        <artifactId>jetty-webapp</artifactId>
+        <version>${jetty.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.eclipse.jetty</groupId>
+        <artifactId>jetty-xml</artifactId>
+        <version>${jetty.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.commons</groupId>
+        <artifactId>commons-lang3</artifactId>
+        <version>3.3.2</version>
+      </dependency>
+      <dependency>
+        <groupId>commons-io</groupId>
+        <artifactId>commons-io</artifactId>
+        <version>2.4</version>
+      </dependency>
+      <dependency>
+        <groupId>commons-fileupload</groupId>
+        <artifactId>commons-fileupload</artifactId>
+        <version>1.3.3</version>
+      </dependency>
+      <dependency>
+        <groupId>com.oracle.jdbc</groupId>
+        <artifactId>ojdbc7</artifactId>
+        <version>12.1.0.1</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>com.sun.xml.bind</groupId>
+        <artifactId>jaxb-impl</artifactId>
+        <version>2.2.11</version>
+      </dependency>
+      <dependency>
+        <groupId>com.sun.xml.bind</groupId>
+        <artifactId>jaxb-xjc</artifactId>
+        <version>2.2.11</version>
+      </dependency>
+      <dependency>
+		 <groupId>javax.persistence</groupId>
+		 <artifactId>javax.persistence-api</artifactId>
+		 <version>2.2</version>
+	  </dependency>
+
+      <dependency>
+        <groupId>javax.enterprise.concurrent</groupId>
+        <artifactId>javax.enterprise.concurrent-api</artifactId>
+        <version>1.0</version>
+        <scope>provided</scope>
+      </dependency>
+      <dependency>
+        <groupId>javax.xml.bind</groupId>
+        <artifactId>jaxb-api</artifactId>
+        <version>2.2.11</version>
+      </dependency>
+      <dependency>
+        <groupId>de.odysseus.juel</groupId>
+        <artifactId>juel-api</artifactId>
+        <version>2.2.7</version>
+      </dependency>
+      <dependency>
+        <groupId>de.odysseus.juel</groupId>
+        <artifactId>juel-impl</artifactId>
+        <version>2.2.7</version>
+      </dependency>
+      <dependency>
+        <groupId>de.odysseus.juel</groupId>
+        <artifactId>juel-spi</artifactId>
+        <version>2.2.7</version>
+      </dependency>
+      <dependency>
+        <groupId>mysql</groupId>
+        <artifactId>mysql-connector-java</artifactId>
+        <version>${mysql.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.microsoft.sqlserver</groupId>
+        <artifactId>sqljdbc4</artifactId>
+        <version>4.0</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>com.ibm.db2.jcc</groupId>
+        <artifactId>db2jcc4</artifactId>
+        <version>10.1</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>com.mchange</groupId>
+        <artifactId>c3p0</artifactId>
+        <version>0.9.5.2</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-engine</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-secure-tasks</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-spring</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-bpmn-model</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-bpmn-converter</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-json-converter</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-explorer</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-common-rest</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-rest</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-crystalball</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-bpmn-layout</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-process-validation</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-image-generator</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-jmx</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <!-- EMAIL -->
+      <dependency>
+        <groupId>org.apache.commons</groupId>
+        <artifactId>commons-email</artifactId>
+        <version>1.5</version>
+      </dependency>
+      <!-- Web service -->
+      <dependency>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-rt-frontend-jaxws</artifactId>
+        <version>${cxf.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-rt-transports-http</artifactId>
+        <version>${cxf.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-rt-transports-http-jetty</artifactId>
+        <version>${cxf.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-rt-bindings-soap</artifactId>
+        <version>${cxf.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-jta_1.1_spec</artifactId>
+        <version>1.1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opensaml</groupId>
+        <artifactId>opensaml</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.hibernate</groupId>
+        <artifactId>hibernate-core</artifactId>
+        <version>${hibernate.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.hibernate</groupId>
+        <artifactId>hibernate-entitymanager</artifactId>
+        <version>${hibernate.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.drools</groupId>
+        <artifactId>drools-core</artifactId>
+        <version>${drools.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.drools</groupId>
+        <artifactId>drools-compiler</artifactId>
+        <version>${drools.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.drools</groupId>
+        <artifactId>drools-mvel</artifactId>
+        <version>${drools.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.drools</groupId>
+        <artifactId>knowledge-api</artifactId>
+        <version>${drools.version}</version>
+      </dependency>
+      <!-- https://mvnrepository.com/artifact/org.codehaus.groovy/groovy-all -->
+      <dependency>
+        <groupId>org.codehaus.groovy</groupId>
+        <artifactId>groovy</artifactId>
+        <version>${groovy.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.codehaus.groovy</groupId>
+        <artifactId>groovy-jsr223</artifactId>
+        <version>${groovy.version}</version>
+      </dependency>
+      
+      <dependency>
+        <groupId>com.thoughtworks.xstream</groupId>
+        <artifactId>xstream</artifactId>
+        <version>1.4.10</version>
+      </dependency>
+      <dependency>
+        <groupId>org.json</groupId>
+        <artifactId>json</artifactId>
+        <version>20070829</version>
+      </dependency>
+      <dependency>
+        <groupId>org.mule</groupId>
+        <artifactId>mule-core</artifactId>
+        <version>${mule.version}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-jcl</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>org.mule</groupId>
+        <artifactId>mule-core</artifactId>
+        <version>${mule.version}</version>
+        <classifier>tests</classifier>
+        <exclusions>
+          <exclusion>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-jcl</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>org.mule.tests</groupId>
+        <artifactId>mule-tests-functional</artifactId>
+        <version>${mule.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.mule.transports</groupId>
+        <artifactId>mule-transport-http</artifactId>
+        <version>${mule.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.mule.transports</groupId>
+        <artifactId>mule-transport-vm</artifactId>
+        <version>${mule.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.mule.modules</groupId>
+        <artifactId>mule-module-scripting</artifactId>
+        <version>${mule.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.mule.modules</groupId>
+        <artifactId>mule-module-spring-security</artifactId>
+        <version>${mule.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.python</groupId>
+        <artifactId>jython-standalone</artifactId>
+        <version>2.7.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.mybatis</groupId>
+        <artifactId>mybatis</artifactId>
+        <version>3.5.8</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>org.apache.felix.fileinstall</artifactId>
+        <version>3.5.4</version>
+        <optional>true</optional>
+      </dependency>
+      <dependency>
+        <groupId>org.subethamail</groupId>
+        <artifactId>subethasmtp-wiser</artifactId>
+        <version>1.2</version>
+        <scope>test</scope>
+        <exclusions>
+          <exclusion>
+            <artifactId>commons-logging</artifactId>
+            <groupId>commons-logging</groupId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>wsdl4j</groupId>
+        <artifactId>wsdl4j</artifactId>
+        <version>1.6.2</version>
+      </dependency>
+      <!-- Activiti Modeler -->
+      <dependency>
+        <groupId>org.apache.xmlgraphics</groupId>
+        <artifactId>batik-parser</artifactId>
+        <version>${batik.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.xmlgraphics</groupId>
+        <artifactId>batik-transcoder</artifactId>
+        <version>${batik.version}</version>
+        <exclusions>
+          <exclusion>
+            <artifactId>commons-logging</artifactId>
+            <groupId>commons-logging</groupId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.xmlgraphics</groupId>
+        <artifactId>batik-bridge</artifactId>
+        <version>${batik.version}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>org.apache.xmlgraphics</groupId>
+            <artifactId>batik-script</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.xmlgraphics</groupId>
+        <artifactId>batik-codec</artifactId>
+        <version>${batik.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.xmlgraphics</groupId>
+        <artifactId>batik-css</artifactId>
+        <version>${batik.version}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.xmlgraphics</groupId>
+        <artifactId>batik-svg-dom</artifactId>
+        <version>${batik.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.xmlgraphics</groupId>
+        <artifactId>batik-svggen</artifactId>
+        <version>${batik.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.imgscalr</groupId>
+        <artifactId>imgscalr-lib</artifactId>
+        <version>4.2</version>
+      </dependency>
+      <dependency>
+        <groupId>math.geom2d</groupId>
+        <artifactId>javaGeom</artifactId>
+        <version>0.11.1</version>
+      </dependency>
+      <!-- Mule integration -->
+      <dependency>
+        <groupId>org.safehaus.jug</groupId>
+        <artifactId>jug</artifactId>
+        <classifier>lgpl</classifier>
+        <version>2.0.0</version>
+      </dependency>
+      <dependency>
+        <groupId>com.fasterxml.uuid</groupId>
+        <artifactId>java-uuid-generator</artifactId>
+        <version>3.1.4</version>
+      </dependency>
+      <!-- https://mvnrepository.com/artifact/joda-time/joda-time -->
+      <dependency>
+        <groupId>joda-time</groupId>
+        <artifactId>joda-time</artifactId>
+        <version>${joda-time.version}</version>
+      </dependency>
+      
+      <dependency>
+	    <groupId>com.h2database</groupId>
+	    <artifactId>h2</artifactId>
+	    <version>2.0.204</version>
+	    <scope>test</scope>
+      </dependency>
+
+      <dependency>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-dependencies</artifactId>
+        <version>${spring-boot.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+  <modules>
+    <module>modules/activiti-dependency-check</module>
+    <module>modules/activiti-parent</module>
+    <module>modules/activiti-bpmn-model</module>
+    <module>modules/activiti-process-validation</module>
+    <module>modules/activiti-bpmn-layout</module>
+    <module>modules/activiti-image-generator</module>
+    <module>modules/activiti-bpmn-converter</module>
+    <module>modules/activiti-engine</module>
+  </modules>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>${maven-compiler-plugin.version}</version>
+        <configuration>
+          <source>${java.version}</source>
+          <target>${java.version}</target>
+          <showDeprecation>true</showDeprecation>
+          <showWarnings>true</showWarnings>
+          <optimize>true</optimize>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <failIfNoTests>false</failIfNoTests>
+          <trimStackTrace>false</trimStackTrace>
+          <redirectTestOutputToFile>true</redirectTestOutputToFile>
+          <excludes>
+            <exclude>**/*TestCase.java</exclude>
+          </excludes>
+          <runOrder>alphabetical</runOrder>
+        </configuration>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-antrun-plugin</artifactId>
+          <version>${maven-antrun-plugin.version}</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-assembly-plugin</artifactId>
+          <version>${maven-assembly-plugin.version}</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>${maven-compiler-plugin.version}</version>
+          <configuration>
+            <source>${java.version}</source>
+            <target>${java.version}</target>
+            <showDeprecation>true</showDeprecation>
+            <showWarnings>true</showWarnings>
+            <optimize>true</optimize>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-jar-plugin</artifactId>
+          <version>${maven-jar-plugin.version}</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-javadoc-plugin</artifactId>
+          <version>${maven-javadoc-plugin.version}</version>
+          <configuration>
+            <quiet>true</quiet>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-release-plugin</artifactId>
+          <version>2.4.2</version>
+          <configuration>
+            <mavenExecutorId>forked-path</mavenExecutorId>
+            <useReleaseProfile>false</useReleaseProfile>
+            <arguments>${arguments} -Psonatype-oss-release</arguments>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-source-plugin</artifactId>
+          <version>${maven-source-plugin.version}</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>${maven-surefire-plugin.version}</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+  <profiles>
+    <profile>
+      <id>nofail</id>
+      <properties>
+        <maven.test.failure.ignore>true</maven.test.failure.ignore>
+      </properties>
+    </profile>
+    <profile>
+      <id>deploy</id>
+      <modules>
+        <module>modules/activiti-bpmn-model</module>
+        <module>modules/activiti-process-validation</module>
+        <module>modules/activiti-image-generator</module>
+        <module>modules/activiti-bpmn-converter</module>
+        <module>modules/activiti-engine</module>
+        <module>modules/activiti-secure-tasks</module>
+        <module>modules/activiti-secure-javascript</module>
+        <module>modules/activiti-secure-service-tasks</module>
+        <module>modules/activiti-bpmn-layout</module>
+        <module>modules/activiti-json-converter</module>
+        <module>modules/activiti-common-rest</module>
+        <module>modules/activiti-rest</module>
+        <module>modules/activiti-spring</module>
+        <module>modules/activiti-spring-boot</module>
+        <module>modules/activiti-ui</module>
+        <module>modules/activiti-cdi</module>
+        <module>modules/activiti-jmx</module>
+        <module>modules/activiti-jms-spring-executor</module>
+<!--         <module>tooling/archetypes/activiti-archetype-unittest</module> -->
+      </modules>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-javadocs</id>
+                <goals>
+                  <goal>jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-gpg-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>sign-artifacts</id>
+                <phase>verify</phase>
+                <goals>
+                  <goal>sign</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <profile>
+      <id>check</id>
+      <modules>
+        <module>modules/activiti-bpmn-model</module>
+        <module>modules/activiti-process-validation</module>
+        <module>modules/activiti-image-generator</module>
+        <module>modules/activiti-bpmn-converter</module>
+        <module>modules/activiti-bpmn-layout</module>
+        <module>modules/activiti-json-converter</module>
+        <module>modules/activiti-spring</module>
+        <module>modules/activiti-spring-boot</module>
+        <module>modules/activiti-common-rest</module>
+        <module>modules/activiti-rest</module>
+        <module>modules/activiti-secure-tasks</module>
+        <module>modules/activiti-secure-javascript</module>
+        <module>modules/activiti-secure-service-tasks</module>
+        <module>modules/activiti-jms-spring-executor</module>
+      </modules>
+    </profile>
+    <profile>
+      <!-- A profile dedicated to JDK 6. SpringBoot module is disabled as it
+        needs JDK7+. -->
+      <id>checkJdk6</id>
+      <modules>
+        <module>modules/activiti-bpmn-model</module>
+        <module>modules/activiti-process-validation</module>
+        <module>modules/activiti-image-generator</module>
+        <module>modules/activiti-bpmn-converter</module>
+        <module>modules/activiti-bpmn-layout</module>
+        <module>modules/activiti-json-converter</module>
+        <module>modules/activiti-spring</module>
+        <module>modules/activiti-common-rest</module>
+        <module>modules/activiti-rest</module>
+        <module>modules/activiti-secure-tasks</module>
+        <module>modules/activiti-secure-javascript</module>
+        <module>modules/activiti-secure-service-tasks</module>
+      </modules>
+    </profile>
+    <profile>
+      <id>checkspring</id> <!-- [Joram] Is this still used?? -->
+      <modules>
+        <module>modules/activiti-spring</module>
+      </modules>
+    </profile>
+    <profile>
+      <id>checkcdi</id>
+      <modules>
+        <module>modules/activiti-cdi</module>
+      </modules>
+    </profile>
+    <profile>
+      <id>checkosgi</id>
+      <modules>
+        <module>modules/activiti-osgi</module>
+      </modules>
+    </profile>
+    <profile>
+      <!-- this profile prevents that tests are executed while running the qa/build.xml
+        test.demo.setup target -->
+      <id>nodocs</id>
+      <activation>
+        <property>
+          <name>nodocs</name>
+        </property>
+      </activation>
+      <properties>
+        <skipTests>true</skipTests>
+      </properties>
+    </profile>
+    <profile>
+      <id>distro</id>
+      <modules>
+        <module>modules/activiti-bpmn-model</module>
+        <module>modules/activiti-process-validation</module>
+        <module>modules/activiti-image-generator</module>
+        <module>modules/activiti-bpmn-converter</module>
+        <module>modules/activiti-bpmn-layout</module>
+        <module>modules/activiti-json-converter</module>
+        <module>modules/activiti-secure-tasks</module>
+        <module>modules/activiti-secure-javascript</module>
+        <module>modules/activiti-secure-service-tasks</module>
+        <module>modules/activiti-spring</module>
+        <module>modules/activiti-spring-boot</module>
+        <module>modules/activiti-common-rest</module>
+        <module>modules/activiti-rest</module>
+        <module>modules/activiti-ui</module>
+        <module>modules/activiti-cdi</module>
+        <module>modules/activiti-jmx</module>
+        <module>modules/activiti-jms-spring-executor</module>
+        <module>modules/activiti-crystalball</module>
+        <module>modules/activiti-admin</module>
+<!--         <module>tooling/archetypes/activiti-archetype-unittest</module> -->
+      </modules>
+    </profile>
+    <profile>
+      <id>database</id>
+      <activation>
+        <property>
+          <name>database</name>
+        </property>
+      </activation>
+      <modules>
+        <module>modules/activiti-engine</module>
+      </modules>
+    </profile>
+    <profile>
+      <id>databasedmn</id>
+      <activation>
+        <property>
+          <name>databasedmn</name>
+        </property>
+      </activation>
+    </profile>
+    <profile>
+      <id>databasewithschemadmn</id>
+      <activation>
+        <property>
+          <name>databasewithschemadmn</name>
+        </property>
+      </activation>
+    </profile>
+    <profile>
+      <!-- Profile used by the start-rest.sh script to build the Explorer webapp
+        and all its dependencies -->
+      <id>buildRestappDependencies</id>
+      <modules>
+        <module>modules/activiti-bpmn-model</module>
+        <module>modules/activiti-process-validation</module>
+        <module>modules/activiti-image-generator</module>
+        <module>modules/activiti-json-converter</module>
+        <module>modules/activiti-secure-tasks</module>
+        <module>modules/activiti-secure-javascript</module>
+        <module>modules/activiti-secure-service-tasks</module>
+        <module>modules/activiti-bpmn-converter</module>
+        <module>modules/activiti-engine</module>
+        <module>modules/activiti-spring</module>
+        <module>modules/activiti-common-rest</module>
+        <module>modules/activiti-rest</module>
+      </modules>
+      <properties>
+        <skipTests>true</skipTests>
+      </properties>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.zeroturnaround</groupId>
+            <artifactId>jrebel-maven-plugin</artifactId>
+            <version>1.1.1</version>
+            <executions>
+              <execution>
+                <id>generate-rebel-xml</id>
+                <phase>process-resources</phase>
+                <goals>
+                  <goal>generate</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <profile>
+      <id>doclint-java8-disable</id>
+      <activation>
+        <jdk>[1.8,)</jdk>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <configuration>
+              <additionalparam>-Xdoclint:none</additionalparam>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+</project>

+ 25 - 0
lib/6.1.0/install.bat

@@ -0,0 +1,25 @@
+cd /d %~dp0
+
+
+call mvn install:install-file -Dfile=activiti-engine-6.1.0.jar -DgroupId=org.activiti -DartifactId=activiti-engine -Dversion=6.1.0 -Dpackaging=jar
+call mvn install:install-file -Dfile=activiti-bpmn-converter-6.1.0.jar -DgroupId=org.activiti -DartifactId=activiti-bpmn-converter -Dversion=6.1.0 -Dpackaging=jar
+call mvn install:install-file -Dfile=activiti-bpmn-layout-6.1.0.jar -DgroupId=org.activiti -DartifactId=activiti-bpmn-layout -Dversion=6.1.0 -Dpackaging=jar
+call mvn install:install-file -Dfile=activiti-bpmn-model-6.1.0.jar -DgroupId=org.activiti -DartifactId=activiti-bpmn-model -Dversion=6.1.0 -Dpackaging=jar
+call mvn install:install-file -Dfile=activiti-image-generator-6.1.0.jar -DgroupId=org.activiti -DartifactId=activiti-image-generator -Dversion=6.1.0 -Dpackaging=jar
+call mvn install:install-file -Dfile=activiti-json-converter-6.1.0.jar -DgroupId=org.activiti -DartifactId=activiti-json-converter -Dversion=6.1.0 -Dpackaging=jar
+call mvn install:install-file -Dfile=activiti-process-validation-6.1.0.jar -DgroupId=org.activiti -DartifactId=activiti-process-validation -Dversion=6.1.0 -Dpackaging=jar
+
+
+call mvn install:install-file -Dfile=activiti-engine-6.1.0.pom -DgroupId=org.activiti -DartifactId=activiti-engine -Dversion=6.1.0 -Dpackaging=pom
+call mvn install:install-file -Dfile=activiti-bpmn-converter-6.1.0.pom -DgroupId=org.activiti -DartifactId=activiti-bpmn-converter -Dversion=6.1.0 -Dpackaging=pom
+call mvn install:install-file -Dfile=activiti-bpmn-layout-6.1.0.pom -DgroupId=org.activiti -DartifactId=activiti-bpmn-layout -Dversion=6.1.0 -Dpackaging=pom
+call mvn install:install-file -Dfile=activiti-bpmn-model-6.1.0.pom -DgroupId=org.activiti -DartifactId=activiti-bpmn-model -Dversion=6.1.0 -Dpackaging=pom
+call mvn install:install-file -Dfile=activiti-image-generator-6.1.0.pom -DgroupId=org.activiti -DartifactId=activiti-image-generator -Dversion=6.1.0 -Dpackaging=pom
+call mvn install:install-file -Dfile=activiti-json-converter-6.1.0.pom -DgroupId=org.activiti -DartifactId=activiti-json-converter -Dversion=6.1.0 -Dpackaging=pom
+call mvn install:install-file -Dfile=activiti-process-validation-6.1.0.pom -DgroupId=org.activiti -DartifactId=activiti-process-validation -Dversion=6.1.0 -Dpackaging=pom
+call mvn install:install-file -Dfile=activiti-dependency-check-6.1.0.pom -DgroupId=org.activiti -DartifactId=activiti-dependency-check -Dversion=6.1.0 -Dpackaging=pom
+call mvn install:install-file -Dfile=activiti-root-6.1.0.pom -DgroupId=org.activiti -DartifactId=activiti-root -Dversion=6.1.0 -Dpackaging=pom
+call mvn install:install-file -Dfile=activiti-parent-6.1.0.pom -DgroupId=org.activiti -DartifactId=activiti-parent -Dversion=6.1.0 -Dpackaging=pom
+
+
+pause

binární
lib/6.1.1/activiti-bpmn-converter-6.1.1.jar


+ 161 - 0
lib/6.1.1/activiti-bpmn-converter-6.1.1.pom

@@ -0,0 +1,161 @@
+<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 - BPMN Converter</name>
+  <artifactId>activiti-bpmn-converter</artifactId>
+
+  <parent>
+    <groupId>org.activiti</groupId>
+    <artifactId>activiti-parent</artifactId>
+    <relativePath>../activiti-parent</relativePath>
+    <version>6.1.1</version>
+  </parent>
+
+  <properties>
+    <activiti.artifact>
+      org.activiti.bpmn.converter
+    </activiti.artifact>
+    <activiti.osgi.export.additional>
+      org.activiti.bpmn.constants,org.activiti.bpmn.util,org.activiti.bpmn.exceptions
+    </activiti.osgi.export.additional>
+  </properties>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>cleanVersions</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>bundle-manifest</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>manifest</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>
+                      maven-bundle-plugin
+                    </artifactId>
+                    <versionRange>
+                      [2.1.0,)
+                    </versionRange>
+                    <goals>
+                      <goal>cleanVersions</goal>
+                      <goal>manifest</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore></ignore>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-bpmn-model</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-process-validation</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-bpmn-layout</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>jcl-over-slf4j</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>joda-time</groupId>
+      <artifactId>joda-time</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-classic</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+
+  <profiles>
+    <profile>
+      <id>distro</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-sources</id>
+                <phase>package</phase>
+                <goals>
+                  <goal>jar-no-fork</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+</project>

binární
lib/6.1.1/activiti-bpmn-layout-6.1.1.jar


+ 147 - 0
lib/6.1.1/activiti-bpmn-layout-6.1.1.pom

@@ -0,0 +1,147 @@
+<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 - BPMN Layout</name>
+  <artifactId>activiti-bpmn-layout</artifactId>
+
+  <parent>
+    <groupId>org.activiti</groupId>
+    <artifactId>activiti-parent</artifactId>
+    <version>6.1.1</version>
+    <relativePath>../activiti-parent</relativePath>
+  </parent>
+
+  <properties>
+    <activiti.artifact>
+      org.activiti.bpmn.layout
+    </activiti.artifact>
+  </properties>
+
+  <repositories>
+    <repository>
+      <id>jitpack.io</id>
+      <url>https://jitpack.io</url>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+  </repositories>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>cleanVersions</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>bundle-manifest</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>manifest</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings 
+          only. It has no influence on the Maven build itself. -->
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>
+                      maven-bundle-plugin
+                    </artifactId>
+                    <versionRange>
+                      [2.1.0,)
+                    </versionRange>
+                    <goals>
+                      <goal>cleanVersions</goal>
+                      <goal>manifest</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore></ignore>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-bpmn-model</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>jcl-over-slf4j</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.github.jgraph</groupId>
+      <artifactId>jgraphx</artifactId>
+      <version>v3.9.3</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+
+  <profiles>
+    <profile>
+      <id>distro</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-sources</id>
+                <phase>package</phase>
+                <goals>
+                  <goal>jar-no-fork</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+
+</project>

binární
lib/6.1.1/activiti-bpmn-model-6.1.1.jar


+ 128 - 0
lib/6.1.1/activiti-bpmn-model-6.1.1.pom

@@ -0,0 +1,128 @@
+<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 - BPMN Model</name>
+  <artifactId>activiti-bpmn-model</artifactId>
+
+  <parent>
+    <groupId>org.activiti</groupId>
+    <artifactId>activiti-parent</artifactId>
+    <version>6.1.1</version>
+    <relativePath>../activiti-parent</relativePath>
+  </parent>
+  
+  <properties>
+    <activiti.artifact>
+      org.activiti.bpmn.model
+    </activiti.artifact>
+    <activiti.osgi.import.additional>
+      org.apache.commons.lang;resolution:=optional
+    </activiti.osgi.import.additional>
+  </properties>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>cleanVersions</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>bundle-manifest</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>manifest</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>
+                      maven-bundle-plugin
+                    </artifactId>
+                    <versionRange>
+                      [2.1.0,)
+                    </versionRange>
+                    <goals>
+                      <goal>cleanVersions</goal>
+                      <goal>manifest</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore></ignore>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-databind</artifactId>
+    </dependency>
+  </dependencies>
+  
+  <profiles>
+    <profile>
+      <id>distro</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-sources</id>
+                <phase>package</phase>
+                <goals>
+                  <goal>jar-no-fork</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+</project>

+ 42 - 0
lib/6.1.1/activiti-dependency-check-6.1.1.pom

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+  <parent>
+    <groupId>org.activiti</groupId>
+    <artifactId>activiti-root</artifactId>
+    <version>6.1.1</version>
+    <relativePath>../..</relativePath>
+  </parent>
+  <groupId>org.activiti</groupId>
+  <artifactId>activiti-dependency-check</artifactId>
+  <packaging>pom</packaging>
+  <name>Activiti - OWASP dependency-check configuration</name>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+        <version>3.0.0</version>
+        <executions>
+          <execution>
+            <id>attach-artifacts</id>
+            <phase>package</phase>
+            <goals>
+              <goal>attach-artifact</goal>
+            </goals>
+            <configuration>
+              <artifacts>
+                <artifact>
+                  <file>${basedir}/dependency-check-suppression.xml</file>
+                  <type>xml</type>
+                  <classifier>suppression</classifier>
+                </artifact>
+              </artifacts>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

binární
lib/6.1.1/activiti-engine-6.1.1.jar


+ 1113 - 0
lib/6.1.1/activiti-engine-6.1.1.pom

@@ -0,0 +1,1113 @@
+<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</name>
+  <artifactId>activiti-engine</artifactId>
+
+  <parent>
+    <groupId>org.activiti</groupId>
+    <artifactId>activiti-parent</artifactId>
+    <version>6.1.1</version>
+    <relativePath>../activiti-parent</relativePath>
+  </parent>
+
+  <properties>
+    <activiti.artifact>
+      org.activiti.engine
+    </activiti.artifact>
+    <activiti.osgi.export.additional>
+      org.activiti.db.mapping.entity
+    </activiti.osgi.export.additional>
+    <activiti.osgi.import.additional>
+      junit*;resolution:=optional,
+      org.junit*;resolution:=optional,
+      com.sun*;resolution:=optional,
+      javax.activation*;resolution:=optional,
+      javax.persistence*;resolution:=optional,
+      org.apache.commons.mail*;resolution:=optional,
+      org.activiti.camel;resolution:=optional,
+      org.activiti.camel.impl;resolution:=optional,
+      org.springframework*;resolution:=optional,
+      org.drools*;resolution:=optional,
+      com.fasterxml*;resolution:=optional,
+      javax.transaction;resolution:=optional,
+      javax.enterprise.concurrent;resolution:=optional,
+    </activiti.osgi.import.additional>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-bpmn-converter</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-process-validation</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-image-generator</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-email</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.mybatis</groupId>
+      <artifactId>mybatis</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-beans</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>de.odysseus.juel</groupId>
+      <artifactId>juel-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>de.odysseus.juel</groupId>
+      <artifactId>juel-impl</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>de.odysseus.juel</groupId>
+      <artifactId>juel-spi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.groovy</groupId>
+      <artifactId>groovy</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.groovy</groupId>
+      <artifactId>groovy-jsr223</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.assertj</groupId>
+      <artifactId>assertj-core</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-core</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-compiler</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    
+    <dependency>
+      <groupId>com.microsoft.sqlserver</groupId>
+      <artifactId>sqljdbc4</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    
+    <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-mvel</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    
+    <dependency>
+      <groupId>javax.persistence</groupId>
+	  <artifactId>javax.persistence-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-jta_1.1_spec</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>javax.enterprise.concurrent</groupId>
+      <artifactId>javax.enterprise.concurrent-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
+      <scope>test</scope>
+    </dependency>
+    
+      <dependency>
+        <groupId>org.hibernate</groupId>
+        <artifactId>hibernate-core</artifactId>
+      	<scope>test</scope>
+      </dependency>
+      
+      <dependency>
+        <groupId>org.hibernate</groupId>
+        <artifactId>hibernate-entitymanager</artifactId>
+      	<scope>test</scope>
+      </dependency>
+      
+    <dependency>
+      <groupId>org.subethamail</groupId>
+      <artifactId>subethasmtp-wiser</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>mysql</groupId>
+      <artifactId>mysql-connector-java</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.postgresql</groupId>
+      <artifactId>postgresql</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>net.sourceforge.jtds</groupId>
+      <artifactId>jtds</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.uuid</groupId>
+      <artifactId>java-uuid-generator</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>joda-time</groupId>
+      <artifactId>joda-time</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>jcl-over-slf4j</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-classic</artifactId>
+      <scope>test</scope>
+    </dependency>
+
+    <!-- Required for testing JTA -->
+    <dependency>
+      <groupId>org.codehaus.btm</groupId>
+      <artifactId>btm</artifactId>
+      <scope>test</scope>
+    </dependency>
+
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <excludes>
+            <exclude>**/*TestCase.java</exclude>
+            <exclude>**/RepeatingServiceTaskTest.java</exclude>
+          </excludes>
+          <runOrder>alphabetical</runOrder>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>cleanVersions</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>bundle-manifest</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>manifest</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings 
+          only. It has no influence on the Maven build itself. -->
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>
+                      maven-bundle-plugin
+                    </artifactId>
+                    <versionRange>
+                      [2.1.0,)
+                    </versionRange>
+                    <goals>
+                      <goal>cleanVersions</goal>
+                      <goal>manifest</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore></ignore>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+
+  <profiles>
+
+    <profile>
+      <id>checkspring</id>
+      <properties>
+        <skipTests>true</skipTests>
+      </properties>
+    </profile>
+
+    <profile>
+      <id>create-test-jar</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-jar-plugin</artifactId>
+            <version>2.2</version>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>test-jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <profile>
+      <id>upgradeDatabase</id>
+      <activation>
+        <property>
+          <name>upgradeDatabase</name>
+        </property>
+      </activation>
+      <properties>
+        <skipTests>true</skipTests>
+      </properties>
+    </profile>
+    <profile>
+      <id>distro</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-sources</id>
+                <phase>package</phase>
+                <goals>
+                  <goal>jar-no-fork</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!-- database qa profile -->
+    <profile>
+      <id>database</id>
+      <activation>
+        <property>
+          <name>database</name>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <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>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="updating activiti configuration to db ${database}" />
+                    <copy file="${basedir}/../../qa/db/activiti.cfg.xml"
+                          todir="target/test-classes" overwrite="true">
+                      <filterset
+                          filtersfile="${user.home}/.activiti/jdbc/build.activiti6.${database}.properties" />
+                    </copy>
+                  </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                <id>database-test-drop-schema</id>
+                <phase>prepare-package</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="dropping schema in ${database}" />
+                    <java classname="org.activiti.engine.impl.db.DbSchemaDrop"
+                          classpathref="maven.test.classpath" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <profile>
+      <id>databasewithschema</id>
+      <activation>
+        <property>
+          <name>databasewithschema</name>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <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>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo
+                        message="updating activiti configuration to db ${databasewithschema}" />
+                    <copy file="${basedir}/../../qa/db/schema/activiti.cfg.xml"
+                          todir="target/test-classes" overwrite="true">
+                      <filterset
+                          filtersfile="${user.home}/.activiti/jdbc/build.activiti6.${databasewithschema}.properties" />
+                    </copy>
+                  </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                <id>database-test-drop-schema</id>
+                <phase>prepare-package</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="dropping schema in ${databasewithschema}" />
+                    <java classname="org.activiti.engine.impl.db.DbSchemaDrop"
+                          classpathref="maven.test.classpath" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <profile>
+      <id>databasemssql</id>
+      <activation>
+        <property>
+          <name>databasemssql</name>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <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>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="updating activiti configuration to db ${databasemssql}" />
+                    <copy file="${basedir}/../../qa/db/mssql/activiti.cfg.xml"
+                          todir="target/test-classes" overwrite="true">
+                      <filterset
+                          filtersfile="${user.home}/.activiti/jdbc/build.activiti6.${databasemssql}.properties" />
+                    </copy>
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!-- Config qa profile -->
+    <profile>
+      <id>configSpring</id>
+      <build>
+        <plugins>
+          <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>
+                <id>configExecution</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo
+                        message="updating activiti configuration config to db ${database}" />
+                    <copy
+                        file="${basedir}/../../qa/spring/${database}/activiti.cfg.xml"
+                        todir="target/test-classes" overwrite="true">
+                      <filterset
+                          filtersfile="${user.home}/.activiti/jdbc/build.${database}.properties" />
+                    </copy>
+                  </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                <id>database-test-drop-schema</id>
+                <phase>prepare-package</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="dropping schema in ${database}" />
+                    <java classname="org.activiti.engine.impl.db.DbSchemaDrop"
+                          classpathref="maven.test.classpath" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <excludes>
+                <exclude>**/*TestCase.java</exclude>
+
+                <!-- Disabling tests that run exclusively using standalone config -->
+                <exclude>**/ProcessDiagramRetrievalTest.java</exclude>
+                <exclude>org/activiti/standalone/**</exclude>
+              </excludes>
+              <runOrder>alphabetical</runOrder>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+      <dependencies>
+        <dependency>
+          <groupId>org.activiti</groupId>
+          <artifactId>activiti-spring</artifactId>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+
+    <profile>
+      <id>configJta</id>
+      <build>
+        <plugins>
+          <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>
+                <id>configExecution</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo
+                        message="Copying jta enabled Activiti configuration file to target/test-classes" />
+                    <echo
+                        message="Updating activiti configuration config to db ${database}" />
+                    <copy file="${basedir}/../../qa/jta/${database}/activiti.cfg.xml"
+                          todir="target/test-classes" overwrite="true">
+                      <filterset
+                          filtersfile="${user.home}/.activiti/jdbc/build.${database}.properties" />
+                    </copy>
+                  </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                <id>database-test-drop-schema</id>
+                <phase>prepare-package</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="dropping schema in ${database}" />
+                    <java classname="org.activiti.engine.impl.db.DbSchemaDrop"
+                          classpathref="maven.test.classpath" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <excludes>
+                <exclude>**/*TestCase.java</exclude>
+
+                <!-- Disabling tests that run exclusively using standalone config -->
+                <exclude>**/ProcessDiagramRetrievalTest.java</exclude>
+                <exclude>org/activiti/standalone/**</exclude>
+              </excludes>
+              <runOrder>alphabetical</runOrder>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+      <dependencies>
+        <dependency>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-jdk14</artifactId>
+          <version>1.7.6</version>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+
+    <!-- check history full -->
+    <profile>
+      <id>cfghistoryfull</id>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <version>1.4</version>
+            <executions>
+              <execution>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo
+                        message="updating activiti configuration to qa/cfg/historyfull.activiti.cfg.xml" />
+                    <copy file="${basedir}/../../qa/cfg/historyfull.activiti.cfg.xml"
+                          tofile="target/test-classes/activiti.cfg.xml" overwrite="true" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <excludes>
+                <exclude>**/*TestCase.java</exclude>
+                <exclude>**/CompetingJobAcquisitionTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-234 -->
+                <exclude>**/WSDLImporterTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-315 -->
+                <exclude>**/JobExecutorTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-427 -->
+                <exclude>**/HistoricTaskInstanceUpdateTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-485 -->
+                <exclude>**/RepeatingServiceTaskTest.java</exclude>
+                <exclude>org/activiti/standalone/**</exclude>
+              </excludes>
+              <runOrder>alphabetical</runOrder>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <profile>
+      <id>databasehistoryfull</id>
+      <build>
+        <plugins>
+          <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>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo
+                        message="updating activiti configuration to db ${database}, using FULL history" />
+                    <copy file="${basedir}/../../qa/db/historyfull.activiti.cfg.xml"
+                          todir="target/test-classes" overwrite="true">
+                      <filterset
+                          filtersfile="${user.home}/.activiti/jdbc/build.${database}.properties" />
+                    </copy>
+                    <rename src="target/test-classes/historyfull.activiti.cfg.xml"
+                            dest="target/test-classes/activiti.cfg.xml" />
+                  </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                <id>database-test-drop-schema-before</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="dropping schema in ${database}" />
+                    <java classname="org.activiti.engine.impl.db.DbSchemaDrop"
+                          classpathref="maven.test.classpath" />
+                  </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                <id>database-test-drop-schema-after</id>
+                <phase>prepare-package</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="dropping schema in ${database}" />
+                    <java classname="org.activiti.engine.impl.db.DbSchemaDrop"
+                          classpathref="maven.test.classpath" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!-- Same as databasehistoryfull, but for databases that need a schema 
+      in the config -->
+    <profile>
+      <id>databasehistoryfullwithschema</id>
+      <build>
+        <plugins>
+          <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>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo
+                        message="updating activiti configuration to db ${database}, using FULL history" />
+                    <copy
+                        file="${basedir}/../../qa/db/historyfull-with-schema.activiti.cfg.xml"
+                        todir="target/test-classes" overwrite="true">
+                      <filterset
+                          filtersfile="${user.home}/.activiti/jdbc/build.${databasewithschema}.properties" />
+                    </copy>
+                    <rename
+                        src="target/test-classes/historyfull-with-schema.activiti.cfg.xml"
+                        dest="target/test-classes/activiti.cfg.xml" />
+                  </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                <id>database-test-drop-schema-before</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="dropping schema in ${databasewithschema}" />
+                    <java classname="org.activiti.engine.impl.db.DbSchemaDrop"
+                          classpathref="maven.test.classpath" />
+                  </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                <id>database-test-drop-schema-after</id>
+                <phase>prepare-package</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="dropping schema in ${databasewithschema}" />
+                    <java classname="org.activiti.engine.impl.db.DbSchemaDrop"
+                          classpathref="maven.test.classpath" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!-- check history full -->
+    <profile>
+      <id>cfghistoryaudit</id>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <version>1.4</version>
+            <executions>
+              <execution>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo
+                        message="updating activiti configuration to qa/cfg/historyaudit.activiti.cfg.xml" />
+                    <copy file="${basedir}/../../qa/cfg/historyaudit.activiti.cfg.xml"
+                          tofile="target/test-classes/activiti.cfg.xml" overwrite="true" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <excludes>
+                <exclude>**/*TestCase.java</exclude>
+                <exclude>**/CompetingJobAcquisitionTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-234 -->
+                <exclude>**/WSDLImporterTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-315 -->
+                <exclude>**/JobExecutorTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-427 -->
+                <exclude>**/HistoricTaskInstanceUpdateTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-485 -->
+                <exclude>**/RepeatingServiceTaskTest.java</exclude>
+                <exclude>org/activiti/standalone/**</exclude>
+              </excludes>
+              <runOrder>alphabetical</runOrder>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!-- check history none -->
+    <profile>
+      <id>cfghistorynone</id>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <version>1.4</version>
+            <executions>
+              <execution>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo
+                        message="updating activiti configuration to qa/cfg/historynone.activiti.cfg.xml" />
+                    <copy file="${basedir}/../../qa/cfg/historynone.activiti.cfg.xml"
+                          tofile="target/test-classes/activiti.cfg.xml" overwrite="true" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <excludes>
+                <exclude>**/*TestCase.java</exclude>
+                <exclude>**/CompetingJobAcquisitionTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-234 -->
+                <exclude>**/WSDLImporterTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-315 -->
+                <exclude>**/JobExecutorTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-427 -->
+                <exclude>**/HistoricTaskInstanceUpdateTest.java</exclude> <!-- http://jira.codehaus.org/browse/ACT-485 -->
+                <exclude>**/Historic*InstanceTest.java</exclude>
+                <exclude>**/HistoryServiceTest.java</exclude>
+                <exclude>**/RepeatingServiceTaskTest.java</exclude>
+                <exclude>**/ProcessInstanceLogQueryTest.java</exclude>
+                <exclude>org/activiti/standalone/**</exclude>
+                <exclude>**/HistoricProcessInstanceQueryVersionTest.java</exclude>
+                <exclude>**/NonCascadeDeleteTest.java</exclude>
+                <exclude>**/HistoricProcessInstanceQueryAndWithExceptionTest.java</exclude>
+                <exclude>**/HistoricJPAVariableTest.java</exclude>
+                <exclude>**/VerifyDatabaseOperationsTest.java</exclude>
+              </excludes>
+              <runOrder>alphabetical</runOrder>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <profile>
+      <id>testSchemaMetaData</id>
+      <activation>
+        <property>
+          <name>metadatabase</name>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <includes>
+                <include>**/JdbcMetaDataTest.java</include>
+              </includes>
+              <excludes />
+              <runOrder>alphabetical</runOrder>
+            </configuration>
+          </plugin>
+          <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <version>1.4</version>
+            <executions>
+              <execution>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="creating db schema in ${metadatabase}" />
+                    <ant antfile="${basedir}/../../qa/db/build.xml" target="create.db.schema">
+                      <property name="test_classpath" refid="maven.test.classpath" />
+                      <property name="database" value="${metadatabase}" />
+                    </ant>
+                    <echo message="updating activiti cfg to ${metadatabase}" />
+                    <ant antfile="${basedir}/../../qa/db/build.xml" target="create.activiti.cfg">
+                      <property name="database" value="${metadatabase}" />
+                    </ant>
+                  </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                <id>database-test-drop-schema</id>
+                <phase>prepare-package</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="dropping schema in ${metadatabase}" />
+                    <ant antfile="${basedir}/../../qa/db/build.xml" target="drop.db.schema"
+                         inheritAll="false">
+                      <property name="test_classpath" refid="maven.test.classpath" />
+                      <property name="database" value="${metadatabase}" />
+                    </ant>
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!--  check with optimization flags set -->
+    <profile>
+      <id>cfgOptimizations</id>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <version>1.4</version>
+            <executions>
+              <execution>
+                <id>database-test-create-schema</id>
+                <phase>process-test-classes</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo message="updating activiti configuration to qa/cfg/optimizations.activiti.cfg.xml" />
+                    <copy file="${basedir}/../../qa/cfg/optimizations.activiti.cfg.xml" tofile="target/test-classes/activiti.cfg.xml" overwrite="true" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <profile>
+      <id>oracle</id>
+      <activation>
+        <property>
+          <name>database</name>
+          <value>oracle</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>com.oracle.jdbc</groupId>
+          <artifactId>ojdbc7</artifactId>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+
+    <profile>
+      <id>oraclewithschema</id>
+      <activation>
+        <property>
+          <name>databasewithschema</name>
+          <value>oracle</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>com.oracle.jdbc</groupId>
+          <artifactId>ojdbc7</artifactId>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+
+    <profile>
+      <id>db2</id>
+      <activation>
+        <property>
+          <name>database</name>
+          <value>db2</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>com.ibm.db2.jcc</groupId>
+          <artifactId>db2jcc4</artifactId>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+
+    <profile>
+      <id>mssql</id>
+      <activation>
+        <property>
+          <name>databasemssql</name>
+          <value>mssql</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>net.sourceforge.jtds</groupId>
+          <artifactId>jtds</artifactId>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+
+    <profile>
+      <id>mysql</id>
+      <activation>
+        <property>
+          <name>database</name>
+          <value>mysql</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>mysql</groupId>
+          <artifactId>mysql-connector-java</artifactId>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+
+    <profile>
+      <id>hsql</id>
+      <activation>
+        <property>
+          <name>database</name>
+          <value>hsql</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.hsqldb</groupId>
+          <artifactId>hsqldb</artifactId>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+  </profiles>
+
+</project>

binární
lib/6.1.1/activiti-image-generator-6.1.1.jar


+ 140 - 0
lib/6.1.1/activiti-image-generator-6.1.1.pom

@@ -0,0 +1,140 @@
+<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 - Image Generator</name>
+  <artifactId>activiti-image-generator</artifactId>
+  <packaging>jar</packaging>
+
+  <parent>
+    <groupId>org.activiti</groupId>
+    <artifactId>activiti-parent</artifactId>
+    <version>6.1.1</version>
+    <relativePath>../activiti-parent</relativePath>
+  </parent>
+
+  <properties>
+    <activiti.artifact>
+      org.activiti.image
+    </activiti.artifact>
+    <activiti.osgi.import.additional>
+      javax.imageio*;resolution:=optional,
+    </activiti.osgi.import.additional>
+  </properties>
+
+  <build>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <includes>
+          <include>**/*.*</include>
+        </includes>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>cleanVersions</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>bundle-manifest</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>manifest</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings
+          only. It has no influence on the Maven build itself. -->
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>
+                      maven-bundle-plugin
+                    </artifactId>
+                    <versionRange>
+                      [2.1.0,)
+                    </versionRange>
+                    <goals>
+                      <goal>cleanVersions</goal>
+                      <goal>manifest</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore></ignore>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-bpmn-model</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <profiles>
+    <profile>
+      <id>distro</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-sources</id>
+                <phase>package</phase>
+                <goals>
+                  <goal>jar-no-fork</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+
+</project>

binární
lib/6.1.1/activiti-json-converter-6.1.1.jar


+ 164 - 0
lib/6.1.1/activiti-json-converter-6.1.1.pom

@@ -0,0 +1,164 @@
+<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>
+
+  <parent>
+    <groupId>org.activiti</groupId>
+    <artifactId>activiti-parent</artifactId>
+    <version>6.1.1</version>
+    <relativePath>../activiti-parent</relativePath>
+  </parent>
+
+  <artifactId>activiti-json-converter</artifactId>
+  <name>Activiti - JSON Converter</name>
+
+  <properties>
+    <activiti.artifact>
+      org.activiti.json.converter
+    </activiti.artifact>
+    <activiti.osgi.export.additional>
+      org.activiti.editor*
+    </activiti.osgi.export.additional>
+  </properties>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>cleanVersions</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>bundle-manifest</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>manifest</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>
+                      maven-bundle-plugin
+                    </artifactId>
+                    <versionRange>
+                      [2.1.0,)
+                    </versionRange>
+                    <goals>
+                      <goal>cleanVersions</goal>
+                      <goal>manifest</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore></ignore>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-bpmn-model</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-bpmn-converter</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-databind</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>joda-time</groupId>
+      <artifactId>joda-time</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>math.geom2d</groupId>
+      <artifactId>javaGeom</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>jcl-over-slf4j</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-classic</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <profiles>
+    <profile>
+      <id>distro</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-sources</id>
+                <phase>package</phase>
+                <goals>
+                  <goal>jar-no-fork</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+</project>

+ 42 - 0
lib/6.1.1/activiti-parent-6.1.1.pom

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+  <parent>
+    <groupId>org.activiti</groupId>
+    <artifactId>activiti-root</artifactId>
+    <version>6.1.1</version>
+    <relativePath>../..</relativePath>
+  </parent>
+  <groupId>org.activiti</groupId>
+  <artifactId>activiti-parent</artifactId>
+  <packaging>pom</packaging>
+  <name>Activiti - Parent</name>
+  <profiles>
+    <profile>
+      <id>dependency-check</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.owasp</groupId>
+            <artifactId>dependency-check-maven</artifactId>
+            <version>3.1.2</version>
+            <configuration>
+              <failBuildOnCVSS>7</failBuildOnCVSS>
+              <suppressionFiles>
+                <suppressionFile>${settings.localRepository}/org/activiti/activiti-dependency-check/${project.version}/activiti-dependency-check-${project.version}-suppression.xml</suppressionFile>
+              </suppressionFiles>
+            </configuration>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>check</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+</project>

binární
lib/6.1.1/activiti-process-validation-6.1.1.jar


+ 102 - 0
lib/6.1.1/activiti-process-validation-6.1.1.pom

@@ -0,0 +1,102 @@
+<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>
+  <parent>
+    <groupId>org.activiti</groupId>
+    <artifactId>activiti-parent</artifactId>
+    <version>6.1.1</version>
+    <relativePath>../activiti-parent</relativePath>
+  </parent>
+  <artifactId>activiti-process-validation</artifactId>
+  <name>Activiti - Process Validation</name>
+  <properties>
+    <activiti.artifact>
+      org.activiti.validation
+    </activiti.artifact>
+  </properties>
+  <build>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <includes>
+          <include>**/*.*</include>
+        </includes>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>cleanVersions</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>bundle-manifest</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>manifest</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings
+          only. It has no influence on the Maven build itself. -->
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>
+                      maven-bundle-plugin
+                    </artifactId>
+                    <versionRange>
+                      [2.1.0,)
+                    </versionRange>
+                    <goals>
+                      <goal>cleanVersions</goal>
+                      <goal>manifest</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore></ignore>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-bpmn-model</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>

+ 911 - 0
lib/6.1.1/activiti-root-6.1.1.pom

@@ -0,0 +1,911 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+  <parent>
+    <groupId>org.sonatype.oss</groupId>
+    <artifactId>oss-parent</artifactId>
+    <version>7</version>
+    <relativePath/>
+  </parent>
+  <groupId>org.activiti</groupId>
+  <artifactId>activiti-root</artifactId>
+  <version>6.1.1</version>
+  <packaging>pom</packaging>
+  <name>Activiti</name>
+  <description>BPM and workflow engine</description>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <java.version>1.8</java.version>
+    <!-- Dependency versions -->
+    <batik.version>1.14</batik.version>
+    <cxf.version>3.5.0</cxf.version>
+    <drools.version>7.63.0.Final</drools.version>
+    <hibernate.version>5.5.9.Final</hibernate.version>
+    <openjpa.version>3.2.0</openjpa.version>
+    <jackson.version>2.13.1</jackson.version>
+    <jetty.version>11.0.7</jetty.version>
+    <log4j2.version>2.17.1</log4j2.version>
+    <logback.version>1.2.10</logback.version>
+    <joda-time.version>2.10.13</joda-time.version>
+    <mysql.version>8.0.27</mysql.version>
+    <mule.version>3.9.0</mule.version>
+    <spring.version>5.3.7</spring.version>
+    <spring-boot.version>2.4.6</spring-boot.version>
+    <groovy.version>3.0.9</groovy.version>
+    <!-- Plugin versions -->
+    <maven-antrun-plugin.version>3.3.0</maven-antrun-plugin.version>
+    <maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version>
+    <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
+    <maven-jar-plugin.version>3.2.0</maven-jar-plugin.version>
+    <maven-javadoc-plugin.version>3.3.1</maven-javadoc-plugin.version>
+    <maven-source-plugin.version>3.2.1</maven-source-plugin.version>
+    <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
+    <maven-war-plugin.version>2.6</maven-war-plugin.version>
+    <!-- JVM params for test execution -->
+    <argLine>-Duser.language=en</argLine>
+  </properties>
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>com.fasterxml.jackson</groupId>
+        <artifactId>jackson-bom</artifactId>
+        <version>${jackson.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.logging.log4j</groupId>
+        <artifactId>log4j-bom</artifactId>
+        <version>${log4j2.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+      <dependency>
+        <groupId>ch.qos.logback</groupId>
+        <artifactId>logback-access</artifactId>
+        <version>${logback.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>ch.qos.logback</groupId>
+        <artifactId>logback-classic</artifactId>
+        <version>${logback.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>ch.qos.logback</groupId>
+        <artifactId>logback-core</artifactId>
+        <version>${logback.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.springframework</groupId>
+        <artifactId>spring-core</artifactId>
+        <version>${spring.version}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>org.eclipse.jetty</groupId>
+        <artifactId>jetty-server</artifactId>
+        <version>${jetty.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.eclipse.jetty</groupId>
+        <artifactId>jetty-util</artifactId>
+        <version>${jetty.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.eclipse.jetty</groupId>
+        <artifactId>jetty-io</artifactId>
+        <version>${jetty.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.eclipse.jetty</groupId>
+        <artifactId>jetty-security</artifactId>
+        <version>${jetty.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.eclipse.jetty</groupId>
+        <artifactId>jetty-continuation</artifactId>
+        <version>${jetty.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.eclipse.jetty</groupId>
+        <artifactId>jetty-http</artifactId>
+        <version>${jetty.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.eclipse.jetty</groupId>
+        <artifactId>jetty-servlet</artifactId>
+        <version>${jetty.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.eclipse.jetty</groupId>
+        <artifactId>jetty-webapp</artifactId>
+        <version>${jetty.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.eclipse.jetty</groupId>
+        <artifactId>jetty-xml</artifactId>
+        <version>${jetty.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.commons</groupId>
+        <artifactId>commons-lang3</artifactId>
+        <version>3.3.2</version>
+      </dependency>
+      <dependency>
+        <groupId>commons-io</groupId>
+        <artifactId>commons-io</artifactId>
+        <version>2.4</version>
+      </dependency>
+      <dependency>
+        <groupId>commons-fileupload</groupId>
+        <artifactId>commons-fileupload</artifactId>
+        <version>1.3.3</version>
+      </dependency>
+      <dependency>
+        <groupId>com.oracle.jdbc</groupId>
+        <artifactId>ojdbc7</artifactId>
+        <version>12.1.0.1</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>com.sun.xml.bind</groupId>
+        <artifactId>jaxb-impl</artifactId>
+        <version>2.2.11</version>
+      </dependency>
+      <dependency>
+        <groupId>com.sun.xml.bind</groupId>
+        <artifactId>jaxb-xjc</artifactId>
+        <version>2.2.11</version>
+      </dependency>
+      <dependency>
+		 <groupId>javax.persistence</groupId>
+		 <artifactId>javax.persistence-api</artifactId>
+		 <version>2.2</version>
+	  </dependency>
+
+      <dependency>
+        <groupId>javax.enterprise.concurrent</groupId>
+        <artifactId>javax.enterprise.concurrent-api</artifactId>
+        <version>1.0</version>
+        <scope>provided</scope>
+      </dependency>
+      <dependency>
+        <groupId>javax.xml.bind</groupId>
+        <artifactId>jaxb-api</artifactId>
+        <version>2.2.11</version>
+      </dependency>
+      <dependency>
+        <groupId>de.odysseus.juel</groupId>
+        <artifactId>juel-api</artifactId>
+        <version>2.2.7</version>
+      </dependency>
+      <dependency>
+        <groupId>de.odysseus.juel</groupId>
+        <artifactId>juel-impl</artifactId>
+        <version>2.2.7</version>
+      </dependency>
+      <dependency>
+        <groupId>de.odysseus.juel</groupId>
+        <artifactId>juel-spi</artifactId>
+        <version>2.2.7</version>
+      </dependency>
+      <dependency>
+        <groupId>mysql</groupId>
+        <artifactId>mysql-connector-java</artifactId>
+        <version>${mysql.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.microsoft.sqlserver</groupId>
+        <artifactId>sqljdbc4</artifactId>
+        <version>4.0</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>com.ibm.db2.jcc</groupId>
+        <artifactId>db2jcc4</artifactId>
+        <version>10.1</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>com.mchange</groupId>
+        <artifactId>c3p0</artifactId>
+        <version>0.9.5.2</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-engine</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-secure-tasks</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-spring</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-bpmn-model</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-bpmn-converter</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-json-converter</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-explorer</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-common-rest</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-rest</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-crystalball</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-bpmn-layout</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-process-validation</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-image-generator</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.activiti</groupId>
+        <artifactId>activiti-jmx</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <!-- EMAIL -->
+      <dependency>
+        <groupId>org.apache.commons</groupId>
+        <artifactId>commons-email</artifactId>
+        <version>1.5</version>
+      </dependency>
+      <!-- Web service -->
+      <dependency>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-rt-frontend-jaxws</artifactId>
+        <version>${cxf.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-rt-transports-http</artifactId>
+        <version>${cxf.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-rt-transports-http-jetty</artifactId>
+        <version>${cxf.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-rt-bindings-soap</artifactId>
+        <version>${cxf.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-jta_1.1_spec</artifactId>
+        <version>1.1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.opensaml</groupId>
+        <artifactId>opensaml</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.hibernate</groupId>
+        <artifactId>hibernate-core</artifactId>
+        <version>${hibernate.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.hibernate</groupId>
+        <artifactId>hibernate-entitymanager</artifactId>
+        <version>${hibernate.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.drools</groupId>
+        <artifactId>drools-core</artifactId>
+        <version>${drools.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.drools</groupId>
+        <artifactId>drools-compiler</artifactId>
+        <version>${drools.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.drools</groupId>
+        <artifactId>drools-mvel</artifactId>
+        <version>${drools.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.drools</groupId>
+        <artifactId>knowledge-api</artifactId>
+        <version>${drools.version}</version>
+      </dependency>
+      <!-- https://mvnrepository.com/artifact/org.codehaus.groovy/groovy-all -->
+      <dependency>
+        <groupId>org.codehaus.groovy</groupId>
+        <artifactId>groovy</artifactId>
+        <version>${groovy.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.codehaus.groovy</groupId>
+        <artifactId>groovy-jsr223</artifactId>
+        <version>${groovy.version}</version>
+      </dependency>
+      
+      <dependency>
+        <groupId>com.thoughtworks.xstream</groupId>
+        <artifactId>xstream</artifactId>
+        <version>1.4.10</version>
+      </dependency>
+      <dependency>
+        <groupId>org.json</groupId>
+        <artifactId>json</artifactId>
+        <version>20070829</version>
+      </dependency>
+      <dependency>
+        <groupId>org.mule</groupId>
+        <artifactId>mule-core</artifactId>
+        <version>${mule.version}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-jcl</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>org.mule</groupId>
+        <artifactId>mule-core</artifactId>
+        <version>${mule.version}</version>
+        <classifier>tests</classifier>
+        <exclusions>
+          <exclusion>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-jcl</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>org.mule.tests</groupId>
+        <artifactId>mule-tests-functional</artifactId>
+        <version>${mule.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.mule.transports</groupId>
+        <artifactId>mule-transport-http</artifactId>
+        <version>${mule.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.mule.transports</groupId>
+        <artifactId>mule-transport-vm</artifactId>
+        <version>${mule.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.mule.modules</groupId>
+        <artifactId>mule-module-scripting</artifactId>
+        <version>${mule.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.mule.modules</groupId>
+        <artifactId>mule-module-spring-security</artifactId>
+        <version>${mule.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.python</groupId>
+        <artifactId>jython-standalone</artifactId>
+        <version>2.7.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.mybatis</groupId>
+        <artifactId>mybatis</artifactId>
+        <version>3.5.8</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>org.apache.felix.fileinstall</artifactId>
+        <version>3.5.4</version>
+        <optional>true</optional>
+      </dependency>
+      <dependency>
+        <groupId>org.subethamail</groupId>
+        <artifactId>subethasmtp-wiser</artifactId>
+        <version>1.2</version>
+        <scope>test</scope>
+        <exclusions>
+          <exclusion>
+            <artifactId>commons-logging</artifactId>
+            <groupId>commons-logging</groupId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>wsdl4j</groupId>
+        <artifactId>wsdl4j</artifactId>
+        <version>1.6.2</version>
+      </dependency>
+      <!-- Activiti Modeler -->
+      <dependency>
+        <groupId>org.apache.xmlgraphics</groupId>
+        <artifactId>batik-parser</artifactId>
+        <version>${batik.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.xmlgraphics</groupId>
+        <artifactId>batik-transcoder</artifactId>
+        <version>${batik.version}</version>
+        <exclusions>
+          <exclusion>
+            <artifactId>commons-logging</artifactId>
+            <groupId>commons-logging</groupId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.xmlgraphics</groupId>
+        <artifactId>batik-bridge</artifactId>
+        <version>${batik.version}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>org.apache.xmlgraphics</groupId>
+            <artifactId>batik-script</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.xmlgraphics</groupId>
+        <artifactId>batik-codec</artifactId>
+        <version>${batik.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.xmlgraphics</groupId>
+        <artifactId>batik-css</artifactId>
+        <version>${batik.version}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.xmlgraphics</groupId>
+        <artifactId>batik-svg-dom</artifactId>
+        <version>${batik.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.xmlgraphics</groupId>
+        <artifactId>batik-svggen</artifactId>
+        <version>${batik.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.imgscalr</groupId>
+        <artifactId>imgscalr-lib</artifactId>
+        <version>4.2</version>
+      </dependency>
+      <dependency>
+        <groupId>math.geom2d</groupId>
+        <artifactId>javaGeom</artifactId>
+        <version>0.11.1</version>
+      </dependency>
+      <!-- Mule integration -->
+      <dependency>
+        <groupId>org.safehaus.jug</groupId>
+        <artifactId>jug</artifactId>
+        <classifier>lgpl</classifier>
+        <version>2.0.0</version>
+      </dependency>
+      <dependency>
+        <groupId>com.fasterxml.uuid</groupId>
+        <artifactId>java-uuid-generator</artifactId>
+        <version>3.1.4</version>
+      </dependency>
+      <!-- https://mvnrepository.com/artifact/joda-time/joda-time -->
+      <dependency>
+        <groupId>joda-time</groupId>
+        <artifactId>joda-time</artifactId>
+        <version>${joda-time.version}</version>
+      </dependency>
+      
+      <dependency>
+	    <groupId>com.h2database</groupId>
+	    <artifactId>h2</artifactId>
+	    <version>2.0.204</version>
+	    <scope>test</scope>
+      </dependency>
+
+      <dependency>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-dependencies</artifactId>
+        <version>${spring-boot.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+  <modules>
+    <module>modules/activiti-dependency-check</module>
+    <module>modules/activiti-parent</module>
+    <module>modules/activiti-bpmn-model</module>
+    <module>modules/activiti-process-validation</module>
+    <module>modules/activiti-bpmn-layout</module>
+    <module>modules/activiti-image-generator</module>
+    <module>modules/activiti-bpmn-converter</module>
+    <module>modules/activiti-engine</module>
+  </modules>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>${maven-compiler-plugin.version}</version>
+        <configuration>
+          <source>${java.version}</source>
+          <target>${java.version}</target>
+          <showDeprecation>true</showDeprecation>
+          <showWarnings>true</showWarnings>
+          <optimize>true</optimize>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <failIfNoTests>false</failIfNoTests>
+          <trimStackTrace>false</trimStackTrace>
+          <redirectTestOutputToFile>true</redirectTestOutputToFile>
+          <excludes>
+            <exclude>**/*TestCase.java</exclude>
+          </excludes>
+          <runOrder>alphabetical</runOrder>
+        </configuration>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-antrun-plugin</artifactId>
+          <version>${maven-antrun-plugin.version}</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-assembly-plugin</artifactId>
+          <version>${maven-assembly-plugin.version}</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>${maven-compiler-plugin.version}</version>
+          <configuration>
+            <source>${java.version}</source>
+            <target>${java.version}</target>
+            <showDeprecation>true</showDeprecation>
+            <showWarnings>true</showWarnings>
+            <optimize>true</optimize>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-jar-plugin</artifactId>
+          <version>${maven-jar-plugin.version}</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-javadoc-plugin</artifactId>
+          <version>${maven-javadoc-plugin.version}</version>
+          <configuration>
+            <quiet>true</quiet>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-release-plugin</artifactId>
+          <version>2.4.2</version>
+          <configuration>
+            <mavenExecutorId>forked-path</mavenExecutorId>
+            <useReleaseProfile>false</useReleaseProfile>
+            <arguments>${arguments} -Psonatype-oss-release</arguments>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-source-plugin</artifactId>
+          <version>${maven-source-plugin.version}</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>${maven-surefire-plugin.version}</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+  <profiles>
+    <profile>
+      <id>nofail</id>
+      <properties>
+        <maven.test.failure.ignore>true</maven.test.failure.ignore>
+      </properties>
+    </profile>
+    <profile>
+      <id>deploy</id>
+      <modules>
+        <module>modules/activiti-bpmn-model</module>
+        <module>modules/activiti-process-validation</module>
+        <module>modules/activiti-image-generator</module>
+        <module>modules/activiti-bpmn-converter</module>
+        <module>modules/activiti-engine</module>
+        <module>modules/activiti-secure-tasks</module>
+        <module>modules/activiti-secure-javascript</module>
+        <module>modules/activiti-secure-service-tasks</module>
+        <module>modules/activiti-bpmn-layout</module>
+        <module>modules/activiti-json-converter</module>
+        <module>modules/activiti-common-rest</module>
+        <module>modules/activiti-rest</module>
+        <module>modules/activiti-spring</module>
+        <module>modules/activiti-spring-boot</module>
+        <module>modules/activiti-ui</module>
+        <module>modules/activiti-cdi</module>
+        <module>modules/activiti-jmx</module>
+        <module>modules/activiti-jms-spring-executor</module>
+<!--         <module>tooling/archetypes/activiti-archetype-unittest</module> -->
+      </modules>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-javadocs</id>
+                <goals>
+                  <goal>jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-gpg-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>sign-artifacts</id>
+                <phase>verify</phase>
+                <goals>
+                  <goal>sign</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <profile>
+      <id>check</id>
+      <modules>
+        <module>modules/activiti-bpmn-model</module>
+        <module>modules/activiti-process-validation</module>
+        <module>modules/activiti-image-generator</module>
+        <module>modules/activiti-bpmn-converter</module>
+        <module>modules/activiti-bpmn-layout</module>
+        <module>modules/activiti-json-converter</module>
+        <module>modules/activiti-spring</module>
+        <module>modules/activiti-spring-boot</module>
+        <module>modules/activiti-common-rest</module>
+        <module>modules/activiti-rest</module>
+        <module>modules/activiti-secure-tasks</module>
+        <module>modules/activiti-secure-javascript</module>
+        <module>modules/activiti-secure-service-tasks</module>
+        <module>modules/activiti-jms-spring-executor</module>
+      </modules>
+    </profile>
+    <profile>
+      <!-- A profile dedicated to JDK 6. SpringBoot module is disabled as it
+        needs JDK7+. -->
+      <id>checkJdk6</id>
+      <modules>
+        <module>modules/activiti-bpmn-model</module>
+        <module>modules/activiti-process-validation</module>
+        <module>modules/activiti-image-generator</module>
+        <module>modules/activiti-bpmn-converter</module>
+        <module>modules/activiti-bpmn-layout</module>
+        <module>modules/activiti-json-converter</module>
+        <module>modules/activiti-spring</module>
+        <module>modules/activiti-common-rest</module>
+        <module>modules/activiti-rest</module>
+        <module>modules/activiti-secure-tasks</module>
+        <module>modules/activiti-secure-javascript</module>
+        <module>modules/activiti-secure-service-tasks</module>
+      </modules>
+    </profile>
+    <profile>
+      <id>checkspring</id> <!-- [Joram] Is this still used?? -->
+      <modules>
+        <module>modules/activiti-spring</module>
+      </modules>
+    </profile>
+    <profile>
+      <id>checkcdi</id>
+      <modules>
+        <module>modules/activiti-cdi</module>
+      </modules>
+    </profile>
+    <profile>
+      <id>checkosgi</id>
+      <modules>
+        <module>modules/activiti-osgi</module>
+      </modules>
+    </profile>
+    <profile>
+      <!-- this profile prevents that tests are executed while running the qa/build.xml
+        test.demo.setup target -->
+      <id>nodocs</id>
+      <activation>
+        <property>
+          <name>nodocs</name>
+        </property>
+      </activation>
+      <properties>
+        <skipTests>true</skipTests>
+      </properties>
+    </profile>
+    <profile>
+      <id>distro</id>
+      <modules>
+        <module>modules/activiti-bpmn-model</module>
+        <module>modules/activiti-process-validation</module>
+        <module>modules/activiti-image-generator</module>
+        <module>modules/activiti-bpmn-converter</module>
+        <module>modules/activiti-bpmn-layout</module>
+        <module>modules/activiti-json-converter</module>
+        <module>modules/activiti-secure-tasks</module>
+        <module>modules/activiti-secure-javascript</module>
+        <module>modules/activiti-secure-service-tasks</module>
+        <module>modules/activiti-spring</module>
+        <module>modules/activiti-spring-boot</module>
+        <module>modules/activiti-common-rest</module>
+        <module>modules/activiti-rest</module>
+        <module>modules/activiti-ui</module>
+        <module>modules/activiti-cdi</module>
+        <module>modules/activiti-jmx</module>
+        <module>modules/activiti-jms-spring-executor</module>
+        <module>modules/activiti-crystalball</module>
+        <module>modules/activiti-admin</module>
+<!--         <module>tooling/archetypes/activiti-archetype-unittest</module> -->
+      </modules>
+    </profile>
+    <profile>
+      <id>database</id>
+      <activation>
+        <property>
+          <name>database</name>
+        </property>
+      </activation>
+      <modules>
+        <module>modules/activiti-engine</module>
+      </modules>
+    </profile>
+    <profile>
+      <id>databasedmn</id>
+      <activation>
+        <property>
+          <name>databasedmn</name>
+        </property>
+      </activation>
+    </profile>
+    <profile>
+      <id>databasewithschemadmn</id>
+      <activation>
+        <property>
+          <name>databasewithschemadmn</name>
+        </property>
+      </activation>
+    </profile>
+    <profile>
+      <!-- Profile used by the start-rest.sh script to build the Explorer webapp
+        and all its dependencies -->
+      <id>buildRestappDependencies</id>
+      <modules>
+        <module>modules/activiti-bpmn-model</module>
+        <module>modules/activiti-process-validation</module>
+        <module>modules/activiti-image-generator</module>
+        <module>modules/activiti-json-converter</module>
+        <module>modules/activiti-secure-tasks</module>
+        <module>modules/activiti-secure-javascript</module>
+        <module>modules/activiti-secure-service-tasks</module>
+        <module>modules/activiti-bpmn-converter</module>
+        <module>modules/activiti-engine</module>
+        <module>modules/activiti-spring</module>
+        <module>modules/activiti-common-rest</module>
+        <module>modules/activiti-rest</module>
+      </modules>
+      <properties>
+        <skipTests>true</skipTests>
+      </properties>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.zeroturnaround</groupId>
+            <artifactId>jrebel-maven-plugin</artifactId>
+            <version>1.1.1</version>
+            <executions>
+              <execution>
+                <id>generate-rebel-xml</id>
+                <phase>process-resources</phase>
+                <goals>
+                  <goal>generate</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <profile>
+      <id>doclint-java8-disable</id>
+      <activation>
+        <jdk>[1.8,)</jdk>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <configuration>
+              <additionalparam>-Xdoclint:none</additionalparam>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+</project>

+ 25 - 0
lib/6.1.1/install.bat

@@ -0,0 +1,25 @@
+cd /d %~dp0
+
+
+call mvn install:install-file -Dfile=activiti-engine-6.1.1.jar -DgroupId=org.activiti -DartifactId=activiti-engine -Dversion=6.1.1 -Dpackaging=jar
+call mvn install:install-file -Dfile=activiti-bpmn-converter-6.1.1.jar -DgroupId=org.activiti -DartifactId=activiti-bpmn-converter -Dversion=6.1.1 -Dpackaging=jar
+call mvn install:install-file -Dfile=activiti-bpmn-layout-6.1.1.jar -DgroupId=org.activiti -DartifactId=activiti-bpmn-layout -Dversion=6.1.1 -Dpackaging=jar
+call mvn install:install-file -Dfile=activiti-bpmn-model-6.1.1.jar -DgroupId=org.activiti -DartifactId=activiti-bpmn-model -Dversion=6.1.1 -Dpackaging=jar
+call mvn install:install-file -Dfile=activiti-image-generator-6.1.1.jar -DgroupId=org.activiti -DartifactId=activiti-image-generator -Dversion=6.1.1 -Dpackaging=jar
+call mvn install:install-file -Dfile=activiti-json-converter-6.1.1.jar -DgroupId=org.activiti -DartifactId=activiti-json-converter -Dversion=6.1.1 -Dpackaging=jar
+call mvn install:install-file -Dfile=activiti-process-validation-6.1.1.jar -DgroupId=org.activiti -DartifactId=activiti-process-validation -Dversion=6.1.1 -Dpackaging=jar
+
+
+call mvn install:install-file -Dfile=activiti-engine-6.1.1.pom -DgroupId=org.activiti -DartifactId=activiti-engine -Dversion=6.1.1 -Dpackaging=pom
+call mvn install:install-file -Dfile=activiti-bpmn-converter-6.1.1.pom -DgroupId=org.activiti -DartifactId=activiti-bpmn-converter -Dversion=6.1.1 -Dpackaging=pom
+call mvn install:install-file -Dfile=activiti-bpmn-layout-6.1.1.pom -DgroupId=org.activiti -DartifactId=activiti-bpmn-layout -Dversion=6.1.1 -Dpackaging=pom
+call mvn install:install-file -Dfile=activiti-bpmn-model-6.1.1.pom -DgroupId=org.activiti -DartifactId=activiti-bpmn-model -Dversion=6.1.1 -Dpackaging=pom
+call mvn install:install-file -Dfile=activiti-image-generator-6.1.1.pom -DgroupId=org.activiti -DartifactId=activiti-image-generator -Dversion=6.1.1 -Dpackaging=pom
+call mvn install:install-file -Dfile=activiti-json-converter-6.1.1.pom -DgroupId=org.activiti -DartifactId=activiti-json-converter -Dversion=6.1.1 -Dpackaging=pom
+call mvn install:install-file -Dfile=activiti-process-validation-6.1.1.pom -DgroupId=org.activiti -DartifactId=activiti-process-validation -Dversion=6.1.1 -Dpackaging=pom
+call mvn install:install-file -Dfile=activiti-dependency-check-6.1.1.pom -DgroupId=org.activiti -DartifactId=activiti-dependency-check -Dversion=6.1.1 -Dpackaging=pom
+call mvn install:install-file -Dfile=activiti-root-6.1.1.pom -DgroupId=org.activiti -DartifactId=activiti-root -Dversion=6.1.1 -Dpackaging=pom
+call mvn install:install-file -Dfile=activiti-parent-6.1.1.pom -DgroupId=org.activiti -DartifactId=activiti-parent -Dversion=6.1.1 -Dpackaging=pom
+
+
+pause

+ 342 - 0
pom.xml

@@ -0,0 +1,342 @@
+<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>
+	<groupId>org.activiti</groupId>
+	<artifactId>workflow-server</artifactId>
+	<version>6.0.0</version>
+	<name>workflow-server</name>
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<!-- Libraries versions -->
+		<activiti.version>6.1.1</activiti.version>
+		<druid.version>1.1.13</druid.version>
+		<sqljdbc4.version>4.0</sqljdbc4.version>
+		<sqljdbc4.version>4.0</sqljdbc4.version>
+		<spring-cloud.version>2020.0.4</spring-cloud.version>
+		<java.jwt.version>3.7.0</java.jwt.version>
+	</properties>
+	
+	<!--指定父级依赖 -->
+	<parent>
+		<groupId>org.springframework.boot</groupId>
+		<artifactId>spring-boot-starter-parent</artifactId>
+		<version>2.4.6</version>
+		<relativePath /> <!-- lookup parent from repository -->
+	</parent>
+
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>org.springframework.cloud</groupId>
+				<artifactId>spring-cloud-dependencies</artifactId>
+				<version>${spring-cloud.version}</version>
+				<type>pom</type>
+				<scope>import</scope>
+			</dependency>
+		</dependencies>
+	</dependencyManagement>
+
+	<dependencies>
+	
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-web</artifactId>
+		</dependency>
+
+		<dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-bootstrap</artifactId>
+        </dependency>
+
+		<!-- Eureka服务发现注册 -->
+		<dependency>
+			<groupId>org.springframework.cloud</groupId>
+			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
+		</dependency>
+
+		<!-- Feign 声明式服务 -->
+		<dependency>
+			<groupId>org.springframework.cloud</groupId>
+			<artifactId>spring-cloud-starter-openfeign</artifactId>
+		</dependency>
+		
+		<!-- spring cloud config 客户端包 -->
+		<dependency>
+		    <groupId>org.springframework.cloud</groupId>
+		    <artifactId>spring-cloud-starter-config</artifactId>
+		</dependency>
+		
+        <dependency>
+		    <groupId>org.apache.el</groupId>
+		    <artifactId>com.springsource.org.apache.el</artifactId>
+		    <version>7.0.26</version>
+		</dependency>
+
+		<!--jwt 权限验证 -->
+		<dependency>
+			<groupId>com.auth0</groupId>
+			<artifactId>java-jwt</artifactId>
+			<version>${java.jwt.version}</version>
+		</dependency>
+		
+
+		<!-- JODA TIME -->
+		<dependency>
+			<groupId>joda-time</groupId>
+			<artifactId>joda-time-hibernate</artifactId>
+			<version>1.3</version>
+		</dependency>
+
+<!-- 		<dependency> -->
+<!-- 			<groupId>commons-validator</groupId> -->
+<!-- 			<artifactId>commons-validator</artifactId> -->
+<!-- 			<version>1.5.1</version> -->
+<!-- 		</dependency> -->
+
+		<!-- Activiti -->
+		<dependency>
+			<groupId>org.activiti</groupId>
+			<artifactId>activiti-engine</artifactId>
+			<version>${activiti.version}</version>
+		</dependency>
+
+<!--		<dependency>
+			<groupId>org.activiti</groupId>
+			<artifactId>activiti-spring</artifactId>
+			<version>${activiti.version}</version>
+		</dependency>-->
+
+<!-- 		<dependency> -->
+<!-- 			<groupId>org.activiti</groupId> -->
+<!-- 			<artifactId>activiti-rest</artifactId> -->
+<!-- 			<version>${activiti.version}</version> -->
+<!-- 		</dependency> -->
+
+		<dependency>
+			<groupId>org.activiti</groupId>
+			<artifactId>activiti-bpmn-model</artifactId>
+			<version>${activiti.version}</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.activiti</groupId>
+			<artifactId>activiti-bpmn-converter</artifactId>
+			<version>${activiti.version}</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.activiti</groupId>
+			<artifactId>activiti-json-converter</artifactId>
+			<version>${activiti.version}</version>
+		</dependency>
+
+
+		<dependency>
+			<groupId>org.activiti</groupId>
+			<artifactId>activiti-bpmn-layout</artifactId>
+			<version>${activiti.version}</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.activiti</groupId>
+			<artifactId>activiti-process-validation</artifactId>
+			<version>${activiti.version}</version>
+		</dependency>
+		
+		<dependency>
+		    <groupId>org.springframework</groupId>
+		    <artifactId>spring-jdbc</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>com.alibaba</groupId>
+			<artifactId>druid</artifactId>
+			<version>${druid.version}</version>
+		</dependency>
+
+
+		<dependency>
+		    <groupId>com.microsoft.sqlserver</groupId>
+		    <artifactId>mssql-jdbc</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>com.google.code.gson</groupId>
+			<artifactId>gson</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>com.fasterxml.uuid</groupId>
+			<artifactId>java-uuid-generator</artifactId>
+			<version>3.1.0</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.quartz-scheduler</groupId>
+			<artifactId>quartz</artifactId>
+		</dependency>
+		
+		<!-- 增加MYSQL数据库的连接 -->
+		<dependency>
+		    <groupId>mysql</groupId>
+		    <artifactId>mysql-connector-java</artifactId>
+		</dependency>
+		
+	
+		<!-- 数据库架构迁移到最新版本(兼容SQL SERVER 2014) -->
+		<dependency>
+		    <groupId>org.flywaydb</groupId>
+		    <artifactId>flyway-core</artifactId>
+    		<version>5.2.4</version>
+		</dependency>
+
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<scope>test</scope>
+		</dependency>
+		
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-test</artifactId>
+			<scope>test</scope>
+		</dependency>
+	</dependencies>
+
+
+	<build>
+		<!--默认源代码目录 -->
+		<sourceDirectory>src/main/java </sourceDirectory>
+		<!--默认测试源代码目录 -->
+		<testSourceDirectory>src/test/java</testSourceDirectory>
+		<!--默认资源目录 -->
+		<resources>
+			<resource>
+				<directory>src/main/resources</directory>
+			</resource>
+		</resources>
+		<!--默认测试资源目录 -->
+		<testResources>
+			<testResource>
+				<directory>src/test/resources</directory>
+			</testResource>
+		</testResources>
+
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<configuration>
+					<source>1.8</source>
+					<target>1.8</target>
+					<skip>true</skip>
+				</configuration>
+			</plugin>
+
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-jar-plugin</artifactId>
+				<configuration>
+					<!-- 指定打包的jar包输出路径 -->
+					<outputDirectory>${project.build.directory}/WorkflowServer</outputDirectory>
+					<archive>
+						<addMavenDescriptor>false</addMavenDescriptor>
+						<manifest>
+							<addClasspath>true</addClasspath>
+							<classpathPrefix>lib/</classpathPrefix>
+							<mainClass>com.leanwo.activiti.WorkflowApp</mainClass>
+						</manifest>
+						<manifestEntries>
+							<Class-Path>resources/</Class-Path>
+						</manifestEntries>
+					</archive>
+					<!--注意这玩意从编译结果目录开始算目录结构-->
+					<excludes>				         
+				         <exclude>**/*.yml</exclude>
+				         <exclude>**/*.xml</exclude>
+				         <exclude>**/*.bat</exclude>
+				         <exclude>**/*.properties</exclude>
+				         <exclude>**/*.sql</exclude>
+				         <exclude>**/*.txt</exclude>
+				         <exclude>**/*.jks</exclude>
+				         <exclude>webapp-app/**</exclude>
+				     </excludes>
+				</configuration>
+			</plugin>
+
+			<!-- 分离lib -->
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-dependency-plugin</artifactId>
+				<executions>
+					<execution>
+						<id>copy-dependencies</id>
+						<phase>package</phase>
+						<goals>
+							<goal>copy-dependencies</goal>
+						</goals>
+						<configuration>
+							<outputDirectory>${project.build.directory}/WorkflowServer/lib</outputDirectory>
+							<excludeTransitive>false</excludeTransitive>
+							<stripVersion>false</stripVersion>
+							<!-- 依赖包的作用域 -->
+							<includeScope>runtime</includeScope>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+
+			<!-- 复制资源文件 -->
+			
+			<!-- 复制资源文件 -->
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-resources-plugin</artifactId>
+				<executions>
+					<execution>
+						<id>copy-dependencies</id>
+						<phase>package</phase>
+						<goals>
+							<goal>copy-resources</goal>
+						</goals>
+						<configuration>
+							<!-- 资源文件输出目录 -->
+							<outputDirectory>${project.build.directory}/WorkflowServer/resources</outputDirectory>
+							<resources>
+								<resource>
+									<directory>src/main/resources</directory>
+									<excludes>
+										<exclude>*.bat</exclude>
+									</excludes>
+								</resource>
+							</resources>
+						</configuration>
+					</execution>
+					
+					<execution>
+						<id>copy-dependencies-bat</id>
+						<phase>package</phase>
+						<goals>
+							<goal>copy-resources</goal>
+						</goals>
+						<configuration>
+							<!-- 资源文件输出目录 -->
+							<outputDirectory>${project.build.directory}/WorkflowServer</outputDirectory>
+							<resources>
+								<resource>
+									<directory>src/main/resources</directory>
+									<includes>
+										<include>*.bat</include>
+									</includes>
+								</resource>
+							</resources>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+	
+</project>

+ 59 - 0
src/main/java/com/leanwo/activiti/WorkflowApp.java

@@ -0,0 +1,59 @@
+package com.leanwo.activiti;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.EnableAspectJAutoProxy;
+
+import com.leanwo.activiti.util.LoginContextUtil;
+import com.leanwo.activiti.util.ProgramStopUtil;
+
+@SpringBootApplication
+//开启Eureka的客户端发现
+@EnableDiscoveryClient
+//@PropertySources({
+//	@PropertySource(value = "activiti.properties", ignoreResourceNotFound = true),
+//})
+// 扫描组件 @ComponentScan(value = "com.spriboot.controller") 配置扫描组件的路径
+@ComponentScan(basePackages = {
+		"com.leanwo.activiti",
+        "com.leanwo.activiti.app.config",
+        "com.leanwo.activiti.app.conf",
+        "com.leanwo.activiti.app.repository",
+        "com.leanwo.activiti.app.service",
+        "com.leanwo.activiti.app.model.component",
+        "org.activiti.rest",
+		"test.com.leanwo"})
+//启动Feign客户端
+@EnableFeignClients
+@EnableAutoConfiguration(exclude = {
+		DataSourceAutoConfiguration.class,
+		DataSourceTransactionManagerAutoConfiguration.class,
+//		HibernateJpaAutoConfiguration.class
+})
+//@EnableJpaRepositories(basePackages = {
+//		"com.leanwo.activiti.app.repository",
+//})
+@EnableAspectJAutoProxy
+public class WorkflowApp {
+
+	private static Logger logger = LoggerFactory.getLogger(WorkflowApp.class);
+
+	public static void main(String[] args) throws Exception {
+		
+		LoginContextUtil.setUseApplicationAccount(0L);
+		
+		SpringApplication.run(WorkflowApp.class, args);
+
+		ProgramStopUtil.generateStopBat();
+
+		logger.info("工作流服务器启动成功。");
+	}
+}

+ 48 - 0
src/main/java/com/leanwo/activiti/app/conf/AsyncConfiguration.java

@@ -0,0 +1,48 @@
+/* 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 com.leanwo.activiti.app.conf;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;
+import org.springframework.aop.interceptor.SimpleAsyncUncaughtExceptionHandler;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.AsyncConfigurer;
+import org.springframework.scheduling.annotation.EnableAsync;
+
+@Configuration
+@EnableAsync
+public class AsyncConfiguration implements AsyncConfigurer {
+
+    private final Logger log = LoggerFactory.getLogger(AsyncConfiguration.class);
+
+//    @Bean
+//    @Override
+//    public Executor getAsyncExecutor() {
+//        log.info("Creating Async Task Executor");
+//        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+//        executor.setCorePoolSize(2);
+//        executor.setMaxPoolSize(50);
+//        executor.setQueueCapacity(10000);
+//        executor.setThreadNamePrefix("activiti-app-rest-Executor-");
+//        executor.setAwaitTerminationSeconds(30);
+//        executor.setWaitForTasksToCompleteOnShutdown(true);
+//        executor.initialize();
+//        return executor;
+//    }
+    
+    @Override
+    public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
+		return new SimpleAsyncUncaughtExceptionHandler();
+    }
+}

+ 85 - 0
src/main/java/com/leanwo/activiti/app/conf/Bootstrapper.java

@@ -0,0 +1,85 @@
+///* 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 com.leanwo.activiti.app.conf;
+//
+//import org.activiti.engine.IdentityService;
+//import org.activiti.engine.identity.User;
+//import org.slf4j.Logger;
+//import org.slf4j.LoggerFactory;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.context.ApplicationListener;
+//import org.springframework.context.event.ContextRefreshedEvent;
+//import org.springframework.core.env.Environment;
+//import org.springframework.stereotype.Component;
+//
+///**
+// * Responsible for executing all action required after booting up the Spring
+// * container.
+// * 
+// * @author Joram Barrez
+// * @author Tijs Rademakers
+// */
+//@Component
+//public class Bootstrapper implements ApplicationListener<ContextRefreshedEvent> {
+//
+//	private final Logger log = LoggerFactory.getLogger(Bootstrapper.class);
+//
+//	@Autowired
+//	private IdentityService identityService;
+//
+//	@Autowired
+//	private Environment env;
+//
+//	@Override
+//	public void onApplicationEvent(ContextRefreshedEvent event) {
+//		if (event.getApplicationContext().getParent() == null) { // Using Spring MVC, there are multiple child contexts.
+//																	// We only care about the root
+//
+//			// First create the default IDM entities
+//			createDefaultAdmin();
+//		}
+//	}
+//
+//	public void createDefaultAdmin() {
+//		// Need to be done in a separate TX, otherwise the LDAP sync won't see the
+//		// created groups/users
+//		// Can't use @Transactional here, cause it seems not to be applied as wanted
+//		if (identityService.createUserQuery().count() == 0) {
+//			log.info("No users found, initializing default entities");
+//			User user = initializeSuperUser();
+//			initializeSuperUserGroups(user);
+//		}
+//	}
+//
+//	protected User initializeSuperUser() {
+//		String adminPassword = env.getRequiredProperty("admin.password");
+//		String adminLastname = env.getRequiredProperty("admin.lastname");
+//		String adminEmail = env.getRequiredProperty("admin.email");
+//
+//		User admin = identityService.newUser(adminEmail);
+//		admin.setLastName(adminLastname);
+//		admin.setEmail(adminEmail);
+//		admin.setPassword(adminPassword);
+//		identityService.saveUser(admin);
+//		return admin;
+//	}
+//
+//	protected void initializeSuperUserGroups(User superUser) {
+////		Group group = identityService.newGroup(GroupIds.ROLE_ADMIN);
+////		group.setName(GroupIds.ROLE_ADMIN);
+////		group.setType(GroupTypes.TYPE_SECURITY_ROLE);
+////		identityService.saveGroup(group);
+////		identityService.createMembership(superUser.getId(), group.getId());
+//	}
+//
+//}

+ 37 - 0
src/main/java/com/leanwo/activiti/app/conf/CloudConfig.java

@@ -0,0 +1,37 @@
+package com.leanwo.activiti.app.conf;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * 公共配置.
+ */
+@Configuration
+@RefreshScope
+public class CloudConfig {
+
+    /**  账套信息. */
+    @Value("${accountManagement}")
+    private String accountManagement;
+
+
+    
+    /**
+     * Gets the 账套信息.
+     *
+     * @return the 账套信息
+     */
+    public String getAccountManagement() {
+        return accountManagement;
+    }
+
+    /**
+     * Sets the 账套信息.
+     *
+     * @param accountManagement the new 账套信息
+     */
+    public void setAccountManagement(String accountManagement) {
+        this.accountManagement = accountManagement;
+    }
+}

+ 44 - 0
src/main/java/com/leanwo/activiti/app/conf/SchedulingConfiguration.java

@@ -0,0 +1,44 @@
+/* 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 com.leanwo.activiti.app.conf;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.SchedulingConfigurer;
+import org.springframework.scheduling.config.ScheduledTaskRegistrar;
+
+@Configuration
+@EnableScheduling
+public class SchedulingConfiguration implements SchedulingConfigurer {
+
+    private final Logger log = LoggerFactory.getLogger(SchedulingConfiguration.class);
+
+    @Override
+    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
+        taskRegistrar.setScheduler(taskExecutor());
+    }
+    
+    @Bean(destroyMethod="shutdownNow")
+    public Executor taskExecutor() {
+    	ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(5);
+    	return scheduledExecutorService;
+    }
+
+}

+ 83 - 0
src/main/java/com/leanwo/activiti/app/config/exception/RestExceptionHandlerAdvice.java

@@ -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 com.leanwo.activiti.app.config.exception;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.ResponseStatus;
+
+import com.leanwo.activiti.exception.AuthorizeException;
+import com.leanwo.activiti.exception.BeanNotInjectException;
+import com.leanwo.activiti.exception.ExceptionUtil;
+import com.leanwo.activiti.exception.TokenException;
+
+/**
+ * From http://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc
+ * 
+ * @author Joram Barrez
+ */
+@ControllerAdvice
+public class RestExceptionHandlerAdvice {
+
+	private static Logger logger = LoggerFactory.getLogger(RestExceptionHandlerAdvice.class);
+	
+	private static final String UNAUTHORIZED_MESSAGE_KEY = "GENERAL.ERROR.UNAUTHORIZED";
+	private static final String NOT_FOUND_MESSAGE_KEY = "GENERAL.ERROR.NOT-FOUND";
+	private static final String BAD_REQUEST_MESSAGE_KEY = "GENERAL.ERROR.BAD-REQUEST";
+	private static final String INTERNAL_SERVER_ERROR_MESSAGE_KEY = "GENERAL.ERROR.INTERNAL-SERVER_ERROR";
+	private static final String FORBIDDEN_MESSAGE_KEY = "GENERAL.ERROR.FORBIDDEN";
+	private static final String INACTIVE_USER_MESSAGE_KEY = "GENERAL.ERROR.INACTIVE_USER";
+	private static final String UPLOAD_LIMIT_EXCEEDED = "GENERAL.ERROR.UPLOAD-LIMIT-EXCEEDED";
+	private static final String UPLOAD_LIMIT_EXCEEDED_TRIAL_USER = "GENERAL.ERROR.UPLOAD-LIMIT-EXCEEDED-TRIAL-USER";
+	private static final String QUOTA_EXCEEDED_PREFIX = "GENERAL.ERROR.QUOTA-EXCEEDED-";
+
+
+	@ExceptionHandler(value = { AuthorizeException.class, TokenException.class })
+	@ResponseStatus(HttpStatus.UNAUTHORIZED)
+	@ResponseBody
+	public Object AuthorizeExceptionHandler(HttpServletRequest req, Exception exception) throws Exception {
+		logger.error("无权限访问服务器。", exception);
+		return ExceptionUtil.getMessage("无权限访问服务器。", exception);
+	}
+
+	@ExceptionHandler(value = BeanNotInjectException.class)
+	@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
+	@ResponseBody
+	public Object BeanNotInjectExceptionHandler(HttpServletRequest req, Exception exception) throws Exception {
+		logger.error("Bean未注入。", exception);
+		return ExceptionUtil.getMessage("Bean未注入。", exception);
+	}
+
+	@ExceptionHandler(value = Exception.class)
+	@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
+	@ResponseBody
+	public Object ExceptionHandler(HttpServletRequest req, Exception exception) throws Exception {
+		logger.error("", exception);
+		return ExceptionUtil.getMessage("服务器异常。", exception);
+	}
+
+
+	protected String getSafeMessageKey(String fragment) {
+		if (fragment != null) {
+			return fragment.toUpperCase();
+		}
+		return "";
+	}
+
+}

+ 119 - 0
src/main/java/com/leanwo/activiti/config/DataSourceConfiguration.java

@@ -0,0 +1,119 @@
+package com.leanwo.activiti.config;
+
+import java.sql.SQLException;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.sql.DataSource;
+
+import org.activiti.engine.impl.cfg.multitenant.TenantAwareDataSource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.jdbc.datasource.DataSourceTransactionManager;
+
+import com.alibaba.druid.pool.DruidDataSource;
+
+@Configuration
+@RefreshScope
+public class DataSourceConfiguration {
+
+	private static Logger logger = LoggerFactory.getLogger(DataSourceConfiguration.class);
+
+	@Value("${template.dataSource0.url}")
+	private String dbUrl;
+	@Value("${template.dataSource0.username}")
+	private String username;
+	@Value("${template.dataSource0.password}")
+	private String password;
+	@Value("${template.dataSource0.initialSize}")
+	private int initialSize;
+	@Value("${template.dataSource0.minIdle}")
+	private int minIdle;
+	@Value("${template.dataSource0.maxActive}")
+	private int maxActive;
+	@Value("${template.dataSource0.maxWait}")
+	private int maxWait;
+	@Value("${template.dataSource0.timeBetweenEvictionRunsMillis}")
+	private int timeBetweenEvictionRunsMillis;
+	@Value("${template.dataSource0.minEvictableIdleTimeMillis}")
+	private int minEvictableIdleTimeMillis;
+	@Value("${template.dataSource0.validationQuery}")
+	private String validationQuery;
+	@Value("${template.dataSource0.testWhileIdle}")
+	private boolean testWhileIdle;
+	@Value("${template.dataSource0.testOnBorrow}")
+	private boolean testOnBorrow;
+	@Value("${template.dataSource0.testOnReturn}")
+	private boolean testOnReturn;
+	@Value("${template.dataSource0.poolPreparedStatements}")
+	private boolean poolPreparedStatements;
+	@Value("${template.dataSource0.maxPoolPreparedStatementPerConnectionSize}")
+	private int maxPoolPreparedStatementPerConnectionSize;
+	@Value("${template.dataSource0.removeAbandoned}")
+	private boolean removeAbandoned;
+	@Value("${template.dataSource0.removeAbandonedTimeout}")
+	private int removeAbandonedTimeout;
+	@Value("${template.dataSource0.logAbandoned}")
+	private boolean logAbandoned;
+	@Value("${template.dataSource0.filters}")
+	private String filters;
+
+	@Bean(name = "dataSource0")
+	public DataSource dataSource0() {
+		DruidDataSource datasource0 = new DruidDataSource();
+		datasource0.setUrl(this.dbUrl);
+		datasource0.setUsername(username);
+		datasource0.setPassword(password);
+
+		// configuration
+		datasource0.setInitialSize(initialSize);
+		datasource0.setMinIdle(minIdle);
+		datasource0.setMaxActive(maxActive);
+		datasource0.setMaxWait(maxWait);
+		datasource0.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
+		datasource0.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
+		datasource0.setValidationQuery(validationQuery);
+		datasource0.setTestWhileIdle(testWhileIdle);
+		datasource0.setTestOnBorrow(testOnBorrow);
+		datasource0.setTestOnReturn(testOnReturn);
+		datasource0.setPoolPreparedStatements(poolPreparedStatements);
+		datasource0.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
+		datasource0.setRemoveAbandoned(removeAbandoned);
+		datasource0.setRemoveAbandonedTimeout(removeAbandonedTimeout);
+		datasource0.setLogAbandoned(logAbandoned);
+		try {
+			datasource0.setFilters(filters);
+		} catch (SQLException e) {
+			logger.error("druid configuration initialization filter: " + e);
+		}
+		// 取消自动提交
+		datasource0.setDefaultAutoCommit(false);
+		return datasource0;
+	}
+	
+	@Bean
+	public MyTenantInfoHolder myTenantInfoHolder() {
+		MyTenantInfoHolder myTenantInfoHolder = new MyTenantInfoHolder();
+		return myTenantInfoHolder;
+	}
+	
+	@Bean(name = "dataSource")
+	public TenantAwareDataSource dataSource() {
+		TenantAwareDataSource tenantAwareDataSource = new TenantAwareDataSource(myTenantInfoHolder());
+		Map<Object, DataSource> dataSources = new HashMap<Object, DataSource>();
+		dataSources.put("dataSource0", dataSource0());
+		tenantAwareDataSource.setDataSources(dataSources);
+		return tenantAwareDataSource;
+	}
+
+	@Bean(name = "transactionManager")
+	public DataSourceTransactionManager transactionManager() {
+		DataSourceTransactionManager dataSourceTransactionManager = new DataSourceTransactionManager();
+		dataSourceTransactionManager.setDataSource(dataSource());
+		return dataSourceTransactionManager;
+	}
+}

+ 96 - 0
src/main/java/com/leanwo/activiti/config/EmailConfiguration.java

@@ -0,0 +1,96 @@
+ package com.leanwo.activiti.config;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author YangZhiJie
+ * @date 2022/07/21
+ */
+ @Configuration
+ @RefreshScope
+public class EmailConfiguration {
+
+     private static Logger logger = LoggerFactory.getLogger(EmailConfiguration.class);
+     
+     @Value("${mail.server.host}")
+     private String mailServerHost;
+
+     @Value("${mail.server.port}")
+     private Integer mailServerPort;
+
+     @Value("${mail.server.defaultFrom}")
+     private String mailServerDefaultFrom;
+
+     @Value("${mail.server.userName}")
+     private String mailServerUsername;
+
+     @Value("${mail.server.password}")
+     private String mailServerPassword;
+
+     @Value("${mail.server.useSSL}")
+     private Boolean mailServerUseSSL;
+
+     @Value("${mail.server.useTLS}")
+     private Boolean mailServerUseTLS;
+     
+     
+    public String getMailServerHost() {
+        return mailServerHost;
+    }
+
+    public void setMailServerHost(String mailServerHost) {
+        this.mailServerHost = mailServerHost;
+    }
+
+    public Integer getMailServerPort() {
+        return mailServerPort;
+    }
+
+    public void setMailServerPort(Integer mailServerPort) {
+        this.mailServerPort = mailServerPort;
+    }
+
+    public String getMailServerDefaultFrom() {
+        return mailServerDefaultFrom;
+    }
+
+    public void setMailServerDefaultFrom(String mailServerDefaultFrom) {
+        this.mailServerDefaultFrom = mailServerDefaultFrom;
+    }
+
+    public String getMailServerUsername() {
+        return mailServerUsername;
+    }
+
+    public void setMailServerUsername(String mailServerUsername) {
+        this.mailServerUsername = mailServerUsername;
+    }
+
+    public String getMailServerPassword() {
+        return mailServerPassword;
+    }
+
+    public void setMailServerPassword(String mailServerPassword) {
+        this.mailServerPassword = mailServerPassword;
+    }
+
+    public Boolean getMailServerUseSSL() {
+        return mailServerUseSSL;
+    }
+
+    public void setMailServerUseSSL(Boolean mailServerUseSSL) {
+        this.mailServerUseSSL = mailServerUseSSL;
+    }
+
+	public Boolean getMailServerUseTLS() {
+		return mailServerUseTLS;
+	}
+
+	public void setMailServerUseTLS(Boolean mailServerUseTLS) {
+		this.mailServerUseTLS = mailServerUseTLS;
+	}
+}

+ 45 - 0
src/main/java/com/leanwo/activiti/config/FeignConfig.java

@@ -0,0 +1,45 @@
+package com.leanwo.activiti.config;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.annotation.Configuration;
+
+import com.leanwo.activiti.exception.AuthorizeException;
+import com.leanwo.activiti.util.LoginContext;
+import com.leanwo.activiti.util.LoginContextUtil;
+import com.leanwo.activiti.util.StringUtil;
+import com.leanwo.activiti.util.TokenUtil;
+
+import feign.RequestInterceptor;
+import feign.RequestTemplate;
+
+
+/**
+ * Feign配置
+ * 使用FeignClient进行服务间调用,传递headers信息
+ */
+@Configuration
+public class FeignConfig implements RequestInterceptor {
+
+    private final static Logger logger = LoggerFactory.getLogger(FeignConfig.class.getName());
+    
+    @Override
+    public void apply(RequestTemplate requestTemplate) {
+    	LoginContext loginContext = LoginContextUtil.getLoginContext();
+
+        if (loginContext == null) {
+            throw new AuthorizeException("您没有权限调用业务服务器。");
+        }
+        String token = TokenUtil.getToken();
+        logger.info("jwtToken:" + token);
+        if (StringUtil.isNotEmpty(token)) {
+            // header里面添加jwt-token
+            requestTemplate.header("token", token);
+            requestTemplate.header("account", loginContext.getAccountId().toString());
+            logger.info("header:" + requestTemplate.headers());
+        }
+        if(loginContext.getAccountId() != null) {
+        	requestTemplate.header("account", loginContext.getAccountId().toString());
+        	logger.info("account:" + loginContext.getAccountId());
+        }
+    }
+}

+ 36 - 0
src/main/java/com/leanwo/activiti/config/HttpTaskEngineConfiguration.java

@@ -0,0 +1,36 @@
+package com.leanwo.activiti.config;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.activiti.bpmn.model.Task;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import com.leanwo.activiti.dto.base.TaskDefineDto;
+import com.leanwo.activiti.service.base.HttpTaskEngine;
+import com.leanwo.activiti.service.base.impl.HttpTaskEngineImpl;
+
+@Configuration
+public class HttpTaskEngineConfiguration {
+
+	private static Logger logger = LoggerFactory.getLogger(HttpTaskEngineConfiguration.class);
+
+	@Value("${auto.http}")
+	private Boolean http;
+
+	@Bean(initMethod = "init")
+	public HttpTaskEngine httpTaskEngine() {
+		HttpTaskEngineImpl httpTaskEngineImpl = new HttpTaskEngineImpl(0L, http);
+		return httpTaskEngineImpl;
+	}
+
+	@Bean
+	public List<TaskDefineDto> httpTaskList() {
+		List<TaskDefineDto> httpTaskList = new ArrayList<TaskDefineDto>();
+		return httpTaskList;
+	}
+}

+ 54 - 0
src/main/java/com/leanwo/activiti/config/JacksonConfiguration.java

@@ -0,0 +1,54 @@
+/* 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 com.leanwo.activiti.config;
+
+import java.text.SimpleDateFormat;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+
+/**
+ * @author Joram Barrez
+ */
+@Configuration
+public class JacksonConfiguration {
+
+    @Bean
+    public ObjectMapper objectMapper() {    	
+        ObjectMapper mapper = new ObjectMapper(); 
+        //忽略空bean转json的错误
+        mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS,false);
+        //日期格式统一为以下格式
+        mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
+        //忽略在json字符串中存在,在java属性中不存在的情况。防止错误
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        // 取消默认转换timestamps形式
+        mapper.configure(DeserializationFeature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS, false);
+
+
+        // 取消默认转换timestamps形式
+        mapper.configure(SerializationFeature.WRITE_DATE_KEYS_AS_TIMESTAMPS,false);
+        
+        // add by jack 20200429
+        // USE_JAVA_ARRAY_FOR_JSON_ARRAY JSON中的Array类型转换为Java中的Array类型,true为转换为Array类型,false转换为ArrayList类型(默认)
+        mapper.configure(DeserializationFeature.USE_JAVA_ARRAY_FOR_JSON_ARRAY, true);
+        
+        return mapper;
+
+    }
+
+}

+ 65 - 0
src/main/java/com/leanwo/activiti/config/MyTenantInfoHolder.java

@@ -0,0 +1,65 @@
+package com.leanwo.activiti.config;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.activiti.engine.impl.cfg.multitenant.TenantInfoHolder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.leanwo.activiti.util.LoginContext;
+import com.leanwo.activiti.util.LoginContextUtil;
+
+
+/**
+ * 必须实现TenantInfoHolder,官方推荐是使用ThreadLocal来切换租户 具体可以按自己需要切换,比如消息中间件
+ * 
+ * @author YangZhiJie 20200721
+ *
+ */
+public class MyTenantInfoHolder implements TenantInfoHolder {
+	
+	private static Logger logger = LoggerFactory.getLogger(MyTenantInfoHolder.class);
+
+	private List<String> tenantIds = new ArrayList<String>();
+	
+	@Override
+	public void clearCurrentTenantId() {
+		LoginContextUtil.clear();
+	}
+
+	@Override
+	public Collection<String> getAllTenants() {
+		tenantIds.add("dataSource0");
+		return tenantIds;
+	}
+
+	@Override
+	public String getCurrentTenantId() {
+		LoginContext loginContext = LoginContextUtil.getLoginContext();
+        if (loginContext == null && tenantIds.size() > 0) {
+        	return tenantIds.get(0);
+        }
+        Long account = loginContext.getAccountId();
+        if(account == null && tenantIds.size() > 0) {
+        	return tenantIds.get(0);
+        }
+        return "dataSource" + account;
+	}
+
+	@Override
+	public void setCurrentTenantId(String tenantId) {
+		if(tenantId.contains("dataSource")) {
+			String accountIdStr = tenantId.replace("dataSource", "");
+			Long accountId = Long.parseLong(accountIdStr);
+			LoginContextUtil.setUseApplicationAccount(accountId);
+		}
+	}
+	
+	public void addTenantId(String tenantId) {
+		if(tenantId != null && !tenantIds.contains(tenantId)) {
+			tenantIds.add(tenantId);
+		}
+	}
+}

+ 26 - 0
src/main/java/com/leanwo/activiti/config/ProcessReportEngineConfiguration.java

@@ -0,0 +1,26 @@
+package com.leanwo.activiti.config;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import com.leanwo.activiti.service.base.ProcessReportEngine;
+import com.leanwo.activiti.service.base.impl.ProcessReportEngineImpl;
+
+@Configuration
+public class ProcessReportEngineConfiguration {
+
+	private static Logger logger = LoggerFactory.getLogger(ProcessReportEngineConfiguration.class);
+
+	@Value("${auto.processReport}")
+	private Boolean processReport;
+
+	@Bean(initMethod = "init", name = "processReportEngineImpl0")
+	public ProcessReportEngine processReportEngine() {
+		ProcessReportEngineImpl processReportEngineImpl = new ProcessReportEngineImpl(0L, processReport);
+		return processReportEngineImpl;
+	}
+
+}

+ 120 - 0
src/main/java/com/leanwo/activiti/config/TokenConfiguration.java

@@ -0,0 +1,120 @@
+package com.leanwo.activiti.config;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import com.auth0.jwt.JWT;
+import com.auth0.jwt.JWTVerifier;
+import com.auth0.jwt.algorithms.Algorithm;
+import com.leanwo.activiti.exception.TokenException;
+
+/**
+ * token 密钥配置.
+ *
+ * @author YangZhiJie
+ */
+@Configuration
+@RefreshScope
+public class TokenConfiguration {
+
+	private static Logger logger = LoggerFactory.getLogger(TokenConfiguration.class);
+
+	/** token 密钥. */
+	@Value("${server.token.secret}")
+	private String tokenSecret;
+
+	/** token 授权单位. */
+	@Value("${server.token.issuer}")
+	private String tokenIssuer;
+
+	/** token超时时间. */
+	@Value("${server.token.invalidSecond}")
+	private long tokenInvalidSecond;
+
+	/**
+	 * Gets the token 密钥.
+	 *
+	 * @return the token 密钥
+	 */
+	public String getTokenSecret() {
+		return tokenSecret;
+	}
+
+	/**
+	 * Sets the token 密钥.
+	 *
+	 * @param tokenSecret the new token 密钥
+	 */
+	public void setTokenSecret(String tokenSecret) {
+		this.tokenSecret = tokenSecret;
+	}
+
+	/**
+	 * Gets the token 授权单位.
+	 *
+	 * @return the token 授权单位
+	 */
+	public String getTokenIssuer() {
+		return tokenIssuer;
+	}
+
+	/**
+	 * Sets the token 授权单位.
+	 *
+	 * @param tokenIssuer the new token 授权单位
+	 */
+	public void setTokenIssuer(String tokenIssuer) {
+		this.tokenIssuer = tokenIssuer;
+	}
+
+	/**
+	 * Gets the token超时时间.
+	 *
+	 * @return the token超时时间
+	 */
+	public long getTokenInvalidSecond() {
+		return tokenInvalidSecond;
+	}
+
+	/**
+	 * Sets the token超时时间.
+	 *
+	 * @param tokenInvalidSecond the new token超时时间
+	 */
+	public void setTokenInvalidSecond(long tokenInvalidSecond) {
+		this.tokenInvalidSecond = tokenInvalidSecond;
+	}
+
+	/**
+	 * 加密算法
+	 * 
+	 * @return
+	 */
+	@Bean
+	public Algorithm algorithm() {
+		try {
+			Algorithm algorithm = Algorithm.HMAC256(tokenSecret);
+			return algorithm;
+		} catch (IllegalArgumentException e) {
+			logger.error("获取Token加密算法失败", e);
+			throw new TokenException("获取Token加密算法失败");
+		}
+	}
+
+	/**
+	 * 
+	 * JWT 验证器
+	 * 
+	 * @return
+	 */
+	@Bean
+	public JWTVerifier jWTVerifier() {
+		JWTVerifier jWTVerifier = JWT.require(algorithm()).withIssuer(tokenIssuer) // 签发者
+				.build();
+		return jWTVerifier;
+	}
+}

+ 126 - 0
src/main/java/com/leanwo/activiti/config/TokenInterceptor.java

@@ -0,0 +1,126 @@
+package com.leanwo.activiti.config;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import javax.inject.Inject;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.HandlerInterceptor;
+import org.springframework.web.servlet.ModelAndView;
+
+import com.leanwo.activiti.db.AccountManagementService;
+import com.leanwo.activiti.service.base.TokenService;
+
+@Component
+public class TokenInterceptor implements HandlerInterceptor {
+	
+	private static final Logger logger = LoggerFactory.getLogger(TokenInterceptor.class);
+	
+	@Inject
+	private TokenService tokenService;
+	
+	@Inject
+	private AccountManagementService accountManagementService; 
+	
+	
+	@Override
+	public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse,
+			Object handler) throws Exception {
+		
+		// 获取我们请求头中的token验证字符
+		String tokenHeader = httpServletRequest.getHeader("token");		
+		if (tokenHeader == null) {
+			logger.info("请求头中不存在token参数");
+			outputNoRole(httpServletResponse, 401, "请求头中不存在token参数");
+			return false;
+		}
+
+		String accountHeader = httpServletRequest.getHeader("account");
+		if (accountHeader == null) {
+			logger.info("请求头中不存在account参数");
+			outputNoRole(httpServletResponse, 401, "请求头中不存在account参数");
+			return false;
+		}
+
+		Long accountId = Long.parseLong(accountHeader);
+		tokenService.parseLoginContext(tokenHeader, accountId);
+		
+		accountManagementService.loadAccountManagement(false);
+		
+		// String data = ReadAsChars(httpServletRequest);
+		return true;		
+	}
+
+    public String readAsChars(HttpServletRequest request)
+    {
+        InputStream is = null;
+        try
+        {
+            is = request.getInputStream();
+            StringBuilder sb = new StringBuilder();
+            byte[] b = new byte[4096];
+            for (int n; (n = is.read(b)) != -1;)
+            {
+                sb.append(new String(b, 0, n));
+            }
+            return sb.toString();
+        }
+        catch (IOException e)
+        {
+            e.printStackTrace();
+        }
+        finally
+        {
+            if (null != is)
+            {
+                try
+                {
+                    is.close();
+                }
+                catch (IOException e)
+                {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return null; 
+    }
+    
+	@Override
+	public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o,
+			ModelAndView modelAndView) throws Exception {
+	}
+
+	@Override
+	public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse,
+			Object o, Exception e) throws Exception {
+	}
+
+	private void outputNoRole(HttpServletResponse response, int httpStatus, String message) {
+		response.setStatus(httpStatus);
+		response.setCharacterEncoding("utf-8");
+		response.setContentType("text/plain; charset=utf-8");
+		OutputStream outputStream = null;
+		try {
+			outputStream = response.getOutputStream();
+			outputStream.write(message.getBytes("utf-8"));
+			outputStream.flush();
+		} catch (IOException e) {
+			logger.error("Filter异常", e);
+		} finally {
+			if (outputStream != null) {
+				try {
+					outputStream.close();
+				} catch (IOException e) {
+					logger.error("Filter输出流关闭失败。", e);
+				}
+			}
+		}
+	}
+}

+ 54 - 0
src/main/java/com/leanwo/activiti/config/WebConfigurer.java

@@ -0,0 +1,54 @@
+package com.leanwo.activiti.config;
+
+import javax.inject.Inject;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Component
+public class WebConfigurer implements WebMvcConfigurer {
+
+	private static Logger logger = LoggerFactory.getLogger(WebConfigurer.class);
+
+	@Inject
+	private TokenInterceptor tokenInterceptor;
+	
+//	@Override
+//    public void addViewControllers(ViewControllerRegistry registry) {
+//        registry.addViewController("/workflow-app/").setViewName("forward:/workflow-app/index.html");
+//        registry.addViewController("/workflow-app/editor/").setViewName("forward:/workflow-app/editor/index.html");
+//        registry.addViewController("/workflow-app/idm/").setViewName("forward:/workflow-app/idm/index.html");
+//        registry.addViewController("/workflow-app/workflow/").setViewName("forward:/workflow-app/workflow/index.html");
+//        registry.addViewController("/workflow-app/admin/").setViewName("forward:/workflow-app/admin/index.html");
+//	}
+	
+//	@Override
+//	public void addResourceHandlers(ResourceHandlerRegistry registry) {
+		// 添加虚拟目录
+		// registry.addResourceHandler("/workflow-app/**").addResourceLocations("classpath:/webapp-app/");
+//	}
+
+	@Override
+    public void addInterceptors(InterceptorRegistry registry) {
+//        registry.addInterceptor(authenticationInterceptor())
+//                .addPathPatterns("/workflow-prodog/**");    // 拦截所有请求,通过判断是否有 @LoginRequired 注解 决定是否需要登录
+        registry.addInterceptor(tokenInterceptor)
+        	.addPathPatterns("/workflow-prodog/**/**")
+	        .addPathPatterns("/workflow-system/DatabaseResource/**")
+	        .addPathPatterns("/workflow-system/AccountManagementResource/**");
+    }
+	
+	/**
+	 * 跨域支持
+	 */
+//	@Override
+//	public void addCorsMappings(CorsRegistry registry) {
+//		registry.addMapping("/**").allowedOrigins("*").allowCredentials(true)
+//				.allowedMethods("GET", "POST", "DELETE", "PUT", "PATCH").maxAge(3600 * 24);
+//	}
+	
+
+}

+ 207 - 0
src/main/java/com/leanwo/activiti/config/WorkFlowEngineImpl.java

@@ -0,0 +1,207 @@
+package com.leanwo.activiti.config;
+
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+
+import org.activiti.engine.HistoryService;
+import org.activiti.engine.ManagementService;
+import org.activiti.engine.ProcessEngine;
+import org.activiti.engine.ProcessEngineConfiguration;
+import org.activiti.engine.RepositoryService;
+import org.activiti.engine.RuntimeService;
+import org.activiti.engine.TaskService;
+import org.activiti.engine.impl.asyncexecutor.AsyncExecutor;
+import org.activiti.engine.impl.asyncexecutor.multitenant.SharedExecutorServiceAsyncExecutor;
+import org.activiti.engine.impl.cfg.multitenant.MultiSchemaMultiTenantProcessEngineConfiguration;
+import org.activiti.engine.impl.cfg.multitenant.TenantAwareDataSource;
+import org.activiti.engine.parse.BpmnParseHandler;
+import org.activiti.engine.runtime.Clock;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.env.Environment;
+
+import com.leanwo.activiti.db.DatabaseService;
+import com.leanwo.activiti.service.base.DeploymentVariableMapper;
+import com.leanwo.activiti.util.LoginContextUtil;
+
+/**
+ * 工作流引擎
+ * 
+ * @author YangZhiJie
+ *
+ */
+@Configuration
+public class WorkFlowEngineImpl {
+
+	private static Logger logger = LoggerFactory.getLogger(WorkFlowEngineImpl.class);
+
+//	@Inject
+//	private PlatformTransactionManager transactionManager;
+
+//	@Inject
+//	private Environment environment;
+
+	@Inject
+	@Named("dataSource")
+	private TenantAwareDataSource tenantawareDatasource;
+
+	@Inject
+	private DatabaseService databaseService;
+	
+	@Inject
+	private EmailConfiguration emailConfiguration;
+	
+
+	@Bean(name = "processEngineConfiguration")
+	public MultiSchemaMultiTenantProcessEngineConfiguration processEngineConfiguration(
+			MyTenantInfoHolder myTenantInfoHolder,
+			AsyncExecutor asyncExecutor) throws SQLException {
+	    
+	    // 初始化数据库
+	    LoginContextUtil.setUseApplicationAccount(0L);
+	    databaseService.schemaUpdate(0L);
+	    
+		MultiSchemaMultiTenantProcessEngineConfiguration processEngineConfiguration = new MultiSchemaMultiTenantProcessEngineConfiguration(
+				myTenantInfoHolder);
+		processEngineConfiguration.setDataSource(tenantawareDatasource);
+//			processEngineConfiguration.setTransactionsExternallyManaged(false);
+		Set<Class<?>> customMybatisMappers = new HashSet<Class<?>>();
+		customMybatisMappers.add(DeploymentVariableMapper.class);
+		processEngineConfiguration.setCustomMybatisMappers(customMybatisMappers);
+		
+		
+		//String ddlAuto = environment.getProperty("spring.jpa.hibernate.ddl-auto");
+		String ddlAuto = null;
+		if (ddlAuto == null) {
+			processEngineConfiguration
+					.setDatabaseSchemaUpdate(MultiSchemaMultiTenantProcessEngineConfiguration.DB_SCHEMA_UPDATE_FALSE);
+		} else if ("update".equals(ddlAuto)) {
+			processEngineConfiguration
+					.setDatabaseSchemaUpdate(MultiSchemaMultiTenantProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
+		} else if ("create-drop".equals(ddlAuto)) {
+			processEngineConfiguration.setDatabaseSchemaUpdate(
+					MultiSchemaMultiTenantProcessEngineConfiguration.DB_SCHEMA_UPDATE_CREATE_DROP);
+		} else if ("none".equals(ddlAuto)) {
+			processEngineConfiguration
+					.setDatabaseSchemaUpdate(MultiSchemaMultiTenantProcessEngineConfiguration.DB_SCHEMA_UPDATE_FALSE);
+		}
+		// processEngineConfiguration.setTransactionManager(transactionManager);
+		processEngineConfiguration.setAsyncExecutorActivate(true);
+		processEngineConfiguration.setAsyncExecutor(asyncExecutor);
+
+		String emailHost = emailConfiguration.getMailServerHost();
+		if (StringUtils.isNotEmpty(emailHost)) {
+			processEngineConfiguration.setMailServerHost(emailHost);
+			processEngineConfiguration.setMailServerPort(emailConfiguration.getMailServerPort());
+
+			//Boolean useCredentials = emailConfiguration.getMailServerUseSSL();
+			//if (Boolean.TRUE.equals(useCredentials)) {
+				processEngineConfiguration.setMailServerUsername(emailConfiguration.getMailServerUsername());
+				processEngineConfiguration.setMailServerPassword(emailConfiguration.getMailServerPassword());
+
+			//}
+
+			Boolean emailSSL = emailConfiguration.getMailServerUseSSL();
+			if (emailSSL != null) {
+				processEngineConfiguration.setMailServerUseSSL(emailSSL.booleanValue());
+			}
+
+			Boolean emailTLS = emailConfiguration.getMailServerUseTLS();
+			if (emailTLS != null) {
+				processEngineConfiguration.setMailServerUseTLS(emailTLS.booleanValue());
+			}
+		}
+
+		// Limit process definition cache
+		//processEngineConfiguration.setProcessDefinitionCacheLimit(
+		//		environment.getProperty("activiti.process-definitions.cache.max", Integer.class, 128));
+		processEngineConfiguration.setProcessDefinitionCacheLimit(128);
+
+		// Enable safe XML. See
+		// http://activiti.org/userguide/index.html#advanced.safe.bpmn.xml
+		processEngineConfiguration.setEnableSafeBpmnXml(true);
+
+		List<BpmnParseHandler> preParseHandlers = new ArrayList<BpmnParseHandler>();
+		processEngineConfiguration.setPreBpmnParseHandlers(preParseHandlers);
+
+		// processEngineConfiguration.registerTenant("dataSource0", dataSource);
+		return processEngineConfiguration;
+	}
+
+	@Bean(name="processEngine")
+	public ProcessEngine getProcessEngine(ProcessEngineConfiguration processEngineConfiguration) {
+		return processEngineConfiguration.buildProcessEngine();
+	}
+
+	/**
+	 * 获取流程存储服务组件
+	 * 
+	 * @return
+	 */
+	@Bean
+	public RepositoryService getRepositoryService(ProcessEngine processEngine) {
+		return processEngine.getRepositoryService();
+	}
+
+	/**
+	 * 获取运行时服务组件
+	 * 
+	 * @return
+	 */
+	@Bean
+	public RuntimeService getRuntimeService(ProcessEngine processEngine) {
+		return processEngine.getRuntimeService();
+	}
+
+	/**
+	 * 获取流程任务组件
+	 * 
+	 * @return
+	 */
+	@Bean
+	public TaskService getTaskService(ProcessEngine processEngine) {
+		return processEngine.getTaskService();
+	}
+
+	/**
+	 * 获取历史数据服务
+	 * 
+	 * @return
+	 */
+	@Bean
+	public HistoryService getHistoryService(ProcessEngine processEngine) {
+		return processEngine.getHistoryService();
+	}
+
+	/**
+	 * 获取管理服务
+	 * 
+	 * @return
+	 */
+	@Bean
+	public ManagementService getManagementService(ProcessEngine processEngine) {
+		return processEngine.getManagementService();
+	}
+
+	@Bean
+	public AsyncExecutor getAsyncExecutor(MyTenantInfoHolder myTenantInfoHolder) {
+		SharedExecutorServiceAsyncExecutor asyncExecutor = new SharedExecutorServiceAsyncExecutor(myTenantInfoHolder);
+		asyncExecutor.setDefaultAsyncJobAcquireWaitTimeInMillis(5000);
+		asyncExecutor.setDefaultTimerJobAcquireWaitTimeInMillis(5000);
+		return asyncExecutor;
+	}
+
+	@Bean
+	public Clock getClock(ProcessEngineConfiguration processEngineConfiguration) {
+		return processEngineConfiguration.getClock();
+	}
+}

+ 17 - 0
src/main/java/com/leanwo/activiti/db/AccountManagementService.java

@@ -0,0 +1,17 @@
+package com.leanwo.activiti.db;
+
+import java.util.List;
+
+import com.leanwo.activiti.dto.base.AccountManagementDto;
+
+
+
+public interface AccountManagementService {
+
+	/**
+	 * 重新加载账套
+	 * @return List<AccountManagementDto>
+	 */
+	public List<AccountManagementDto> loadAccountManagement(boolean force);
+	
+}

+ 88 - 0
src/main/java/com/leanwo/activiti/db/AccountManagementServiceImpl.java

@@ -0,0 +1,88 @@
+package com.leanwo.activiti.db;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import javax.inject.Inject;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cloud.context.environment.EnvironmentChangeEvent;
+import org.springframework.context.event.EventListener;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.leanwo.activiti.app.conf.CloudConfig;
+import com.leanwo.activiti.dto.base.AccountManagementDto;
+import com.leanwo.activiti.service.base.impl.ProdogServer;
+
+@Service
+public class AccountManagementServiceImpl implements AccountManagementService {
+
+	private static Logger logger = LoggerFactory.getLogger(AccountManagementServiceImpl.class);
+
+	@Inject
+	private ProdogServer prodogServer;
+
+	@Autowired
+	private HttpTaskEngineService httpTaskEngineService;
+
+	@Autowired
+	private ProcessTaskEngineService processTaskEngineService;
+
+	@Autowired
+	private DataSourceService dataSourceService;
+
+	private List<AccountManagementDto> accountManagementDtos = null;
+
+	@Autowired
+	private CloudConfig cloudConfig;
+
+	@Autowired
+	private ObjectMapper objectMapper;
+	
+	@Override
+	public List<AccountManagementDto> loadAccountManagement(boolean force) {
+		try {
+			if (accountManagementDtos == null || force) {
+				String accountManagement = cloudConfig.getAccountManagement();
+				if(!StringUtils.isEmpty(accountManagement)) {
+					accountManagementDtos = objectMapper.readValue(accountManagement, new TypeReference<List<AccountManagementDto>>() {});
+					if(accountManagementDtos == null) {
+						accountManagementDtos = new ArrayList<AccountManagementDto>();
+					}
+				}
+				
+				if (accountManagementDtos != null && accountManagementDtos.size() > 0) {
+					for (AccountManagementDto accountManagementDto : accountManagementDtos) {
+						if (accountManagementDto != null) {
+							// 创建dataSource的bean
+							dataSourceService.createDynamicDataSource(accountManagementDto);
+
+							// 创建流程报表自动执行bean
+							httpTaskEngineService.createDynamicEngine(accountManagementDto);
+
+							processTaskEngineService.createDynamicEngine(accountManagementDto);
+						}
+					}
+				}
+			}
+		} catch (Exception ex) {
+			logger.error("从Prodog-Server服务器获取账套信息失败。", ex);
+		}
+
+		return accountManagementDtos;
+	}
+
+	@EventListener(EnvironmentChangeEvent.class)
+	public void onApplicationEvent(EnvironmentChangeEvent event) {
+		Set<String> keys = event.getKeys();
+		if(keys != null && keys.contains("accountManagement")) {
+			loadAccountManagement(true);
+		}
+	}
+}

+ 20 - 0
src/main/java/com/leanwo/activiti/db/AccountService.java

@@ -0,0 +1,20 @@
+package com.leanwo.activiti.db;
+
+import java.util.List;
+
+import com.leanwo.activiti.dto.base.KeyValue;
+
+public interface AccountService {
+
+	/**
+	 * 获取所有的Account
+	 * @return
+	 */
+	public List<KeyValue> getAccounts();
+	
+	/**
+	 * 查询账套名称
+	 * @return
+	 */
+	String uniqueAccoutName(Long accountId);
+}

+ 63 - 0
src/main/java/com/leanwo/activiti/db/AccountServiceImpl.java

@@ -0,0 +1,63 @@
+package com.leanwo.activiti.db;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+
+import com.leanwo.activiti.dto.base.AccountManagementDto;
+import com.leanwo.activiti.dto.base.KeyValue;
+
+@Named
+public class AccountServiceImpl implements AccountService {
+
+	@Inject
+	private AccountManagementService accountManagementService;
+
+	public synchronized List<KeyValue> getAccounts() {
+		List<KeyValue> accountCache = new ArrayList<KeyValue>();
+		List<AccountManagementDto> accountManagementDtos = accountManagementService.loadAccountManagement(false);
+		AccountManagementDto accountManagementDto0 = getDefaultAccountManagementDto();
+		KeyValue keyValue = new KeyValue();
+		keyValue.setKey(accountManagementDto0.getAccountId());
+		keyValue.setValue(accountManagementDto0.getAccountName());
+		accountCache.add(keyValue);
+
+		if (accountManagementDtos != null) {
+			for (AccountManagementDto accountManagementDto : accountManagementDtos) {
+				keyValue = new KeyValue();
+				keyValue.setKey(accountManagementDto.getAccountId());
+				keyValue.setValue(accountManagementDto.getAccountName());
+				accountCache.add(keyValue);
+			}
+		}
+		return accountCache;
+	}
+
+	public String uniqueAccoutName(Long accountId) {
+		List<AccountManagementDto> accountManagementDtos = accountManagementService.loadAccountManagement(false);
+		if (accountManagementDtos != null) {
+			for (AccountManagementDto accountManagementDto : accountManagementDtos) {
+				if (accountManagementDto.getAccountId().equals(accountId)) {
+					return accountManagementDto.getAccountName();
+				}
+			}
+		}
+		return null;
+	}
+
+	
+	/**
+	 * 获取系统默认的账套管理器
+	 * 
+	 * @return
+	 */
+	private AccountManagementDto getDefaultAccountManagementDto() {
+		AccountManagementDto defaultAccountManagementDto = new AccountManagementDto();
+		defaultAccountManagementDto.setId(0L);
+		defaultAccountManagementDto.setAccountId(0L);
+		defaultAccountManagementDto.setAccountName("应用账套");
+		return defaultAccountManagementDto;
+	}
+}

+ 15 - 0
src/main/java/com/leanwo/activiti/db/ClearBackupService.java

@@ -0,0 +1,15 @@
+package com.leanwo.activiti.db;
+
+/**
+ * 清空备份文件
+ * @author YangZhiJie
+ *
+ */
+public interface ClearBackupService {
+	/**
+	 * 清空备份文件中,创建日期小于(当前日期-保留时长)的文件
+	 * @param backupsFilesPath 备份文件夹路径
+	 * @param backupsFilesLife 备份文件保留时长,单位天
+	 */
+	void clear(String backupsFilesPath, int backupsFilesLife);
+}

+ 20 - 0
src/main/java/com/leanwo/activiti/db/ClearBackupServiceImpl.java

@@ -0,0 +1,20 @@
+package com.leanwo.activiti.db;
+
+import java.io.IOException;
+
+import javax.inject.Named;
+
+@Named
+public class ClearBackupServiceImpl implements ClearBackupService {
+	public void clear(String backupsFilesPath, int backupsFilesLife) {
+		String cmd = "forfiles /p " + backupsFilesPath + " /m * /d -" + backupsFilesLife + " /c \"cmd /c del @file\" ";
+		try {
+			Process ps = Runtime.getRuntime().exec(cmd);
+			ps.waitFor();
+		} catch (IOException ioe) {
+			ioe.printStackTrace();
+		} catch (InterruptedException e) {
+			e.printStackTrace();
+		}
+	}
+}

+ 19 - 0
src/main/java/com/leanwo/activiti/db/DataSourceService.java

@@ -0,0 +1,19 @@
+package com.leanwo.activiti.db;
+
+import com.leanwo.activiti.dto.base.AccountManagementDto;
+
+/**
+ * 数据源服务类
+ * @author YangZhiJie
+ *
+ */
+public interface DataSourceService {
+
+	/**
+	 * 动态的创建数据源并加入到动态数据源中
+	 * @param accountManagementDto
+	 * @author GuoZhiBo 20200616
+	 */
+	void createDynamicDataSource(AccountManagementDto accountManagementDto);
+	
+}

+ 70 - 0
src/main/java/com/leanwo/activiti/db/DataSourceServiceImpl.java

@@ -0,0 +1,70 @@
+package com.leanwo.activiti.db;
+
+import org.activiti.engine.impl.cfg.multitenant.TenantAwareDataSource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.alibaba.druid.pool.DruidDataSource;
+import com.leanwo.activiti.config.MyTenantInfoHolder;
+import com.leanwo.activiti.dto.base.AccountManagementDto;
+
+@Service
+public class DataSourceServiceImpl implements DataSourceService {
+
+	private static Logger logger = LoggerFactory.getLogger(DataSourceServiceImpl.class);
+
+	@Autowired
+	private DataSourceTemplate dataSourceTemplate;
+	
+	@Autowired
+	private TenantAwareDataSource tenantAwareDataSource;
+	
+	@Autowired
+	private MyTenantInfoHolder myTenantInfoHolder;
+
+	
+	@Override
+	public void createDynamicDataSource(AccountManagementDto accountManagementDto) {
+		String key = "dataSource" + accountManagementDto.getAccountId();
+		if(myTenantInfoHolder.getAllTenants().contains(key)) {
+			return;
+		}
+		try {
+			DruidDataSource druidDataSource = new DruidDataSource();
+			// 新的地址
+			druidDataSource.setUrl(accountManagementDto.getUrl());
+			// 用户
+			druidDataSource.setUsername(accountManagementDto.getUserName());
+			// 密码
+			druidDataSource.setPassword(accountManagementDto.getPassword());
+			druidDataSource.addConnectionProperty("accountId", accountManagementDto.getAccountId().toString());
+			druidDataSource.addConnectionProperty("accountName", accountManagementDto.getAccountName());
+			druidDataSource.setInitialSize(dataSourceTemplate.getInitialSize());
+			druidDataSource.setMinIdle(dataSourceTemplate.getMinIdle());
+			druidDataSource.setMaxActive(dataSourceTemplate.getMaxActive());
+			druidDataSource.setMaxWait(dataSourceTemplate.getMaxWait());
+			druidDataSource.setTimeBetweenConnectErrorMillis(dataSourceTemplate.getTimeBetweenEvictionRunsMillis());
+			druidDataSource.setMinEvictableIdleTimeMillis(dataSourceTemplate.getMinEvictableIdleTimeMillis());
+			druidDataSource.setValidationQuery(dataSourceTemplate.getValidationQuery());
+			druidDataSource.setTestWhileIdle(dataSourceTemplate.getTestWhileIdle());
+			druidDataSource.setTestOnBorrow(dataSourceTemplate.getTestOnBorrow());
+			druidDataSource.setTestOnReturn(dataSourceTemplate.getTestOnReturn());
+			druidDataSource.setPoolPreparedStatements(dataSourceTemplate.getPoolPreparedStatements());
+			druidDataSource.setMaxPoolPreparedStatementPerConnectionSize(
+					dataSourceTemplate.getMaxPoolPreparedStatementPerConnectionSize());
+			druidDataSource.setRemoveAbandoned(dataSourceTemplate.getRemoveAbandoned());
+			druidDataSource.setRemoveAbandonedTimeout(dataSourceTemplate.getRemoveAbandonedTimeout());
+			druidDataSource.setLogAbandoned(dataSourceTemplate.getLogAbandoned());
+
+			druidDataSource.setFilters(dataSourceTemplate.getFilters());
+			
+			tenantAwareDataSource.addDataSource(key, druidDataSource);
+			myTenantInfoHolder.addTenantId(key);			
+			
+		} catch (Exception ex) {
+			logger.error("数据源accountId=" + accountManagementDto.getAccountId() + "创建失败", ex);
+		}
+	}
+}

+ 289 - 0
src/main/java/com/leanwo/activiti/db/DataSourceTemplate.java

@@ -0,0 +1,289 @@
+package com.leanwo.activiti.db;
+
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
+import org.springframework.stereotype.Component;
+
+
+/**
+ * 数据源配置模板
+ * @author YangZhiJie
+ * @date 2020/07/04
+ */
+@Component
+@RefreshScope
+public class DataSourceTemplate {
+
+    @Value("${template.dataSource.initialSize}")
+    private Integer initialSize;
+
+    @Value("${template.dataSource.minIdle}")
+    private Integer minIdle;
+
+    @Value("${template.dataSource.maxActive}")
+    private Integer maxActive;
+
+    @Value("${template.dataSource.maxWait}")
+    private Integer maxWait;
+
+    @Value("${template.dataSource.timeBetweenEvictionRunsMillis}")
+    private Integer timeBetweenEvictionRunsMillis;
+
+    @Value("${template.dataSource.minEvictableIdleTimeMillis}")
+    private Integer minEvictableIdleTimeMillis;
+
+    @Value("${template.dataSource.validationQuery}")
+    private String validationQuery;
+
+    @Value("${template.dataSource.testWhileIdle}")
+    private Boolean testWhileIdle;
+
+    @Value("${template.dataSource.testOnBorrow}")
+    private Boolean testOnBorrow;
+
+    @Value("${template.dataSource.testOnReturn}")
+    private Boolean testOnReturn;
+
+    @Value("${template.dataSource.poolPreparedStatements}")
+    private Boolean poolPreparedStatements;
+
+    @Value("${template.dataSource.maxPoolPreparedStatementPerConnectionSize}")
+    private Integer maxPoolPreparedStatementPerConnectionSize;
+    
+    @Value("${template.dataSource.removeAbandoned}")
+    private Boolean removeAbandoned;
+
+    @Value("${template.dataSource.removeAbandonedTimeout}")
+    private Integer removeAbandonedTimeout;
+    
+    @Value("${template.dataSource.logAbandoned}")
+    private Boolean logAbandoned;
+
+    @Value("${template.dataSource.filters}")
+    private String filters;
+
+    /**
+     * @return the initialSize
+     */
+    public Integer getInitialSize() {
+        return initialSize;
+    }
+
+    /**
+     * @param initialSize the initialSize to set
+     */
+    public void setInitialSize(Integer initialSize) {
+        this.initialSize = initialSize;
+    }
+
+    /**
+     * @return the minIdle
+     */
+    public Integer getMinIdle() {
+        return minIdle;
+    }
+
+    /**
+     * @param minIdle the minIdle to set
+     */
+    public void setMinIdle(Integer minIdle) {
+        this.minIdle = minIdle;
+    }
+
+    /**
+     * @return the maxActive
+     */
+    public Integer getMaxActive() {
+        return maxActive;
+    }
+
+    /**
+     * @param maxActive the maxActive to set
+     */
+    public void setMaxActive(Integer maxActive) {
+        this.maxActive = maxActive;
+    }
+
+    /**
+     * @return the maxWait
+     */
+    public Integer getMaxWait() {
+        return maxWait;
+    }
+
+    /**
+     * @param maxWait the maxWait to set
+     */
+    public void setMaxWait(Integer maxWait) {
+        this.maxWait = maxWait;
+    }
+
+    /**
+     * @return the timeBetweenEvictionRunsMillis
+     */
+    public Integer getTimeBetweenEvictionRunsMillis() {
+        return timeBetweenEvictionRunsMillis;
+    }
+
+    /**
+     * @param timeBetweenEvictionRunsMillis the timeBetweenEvictionRunsMillis to set
+     */
+    public void setTimeBetweenEvictionRunsMillis(Integer timeBetweenEvictionRunsMillis) {
+        this.timeBetweenEvictionRunsMillis = timeBetweenEvictionRunsMillis;
+    }
+
+    /**
+     * @return the minEvictableIdleTimeMillis
+     */
+    public Integer getMinEvictableIdleTimeMillis() {
+        return minEvictableIdleTimeMillis;
+    }
+
+    /**
+     * @param minEvictableIdleTimeMillis the minEvictableIdleTimeMillis to set
+     */
+    public void setMinEvictableIdleTimeMillis(Integer minEvictableIdleTimeMillis) {
+        this.minEvictableIdleTimeMillis = minEvictableIdleTimeMillis;
+    }
+
+    /**
+     * @return the validationQuery
+     */
+    public String getValidationQuery() {
+        return validationQuery;
+    }
+
+    /**
+     * @param validationQuery the validationQuery to set
+     */
+    public void setValidationQuery(String validationQuery) {
+        this.validationQuery = validationQuery;
+    }
+
+    /**
+     * @return the testWhileIdle
+     */
+    public Boolean getTestWhileIdle() {
+        return testWhileIdle;
+    }
+
+    /**
+     * @param testWhileIdle the testWhileIdle to set
+     */
+    public void setTestWhileIdle(Boolean testWhileIdle) {
+        this.testWhileIdle = testWhileIdle;
+    }
+
+    /**
+     * @return the testOnBorrow
+     */
+    public Boolean getTestOnBorrow() {
+        return testOnBorrow;
+    }
+
+    /**
+     * @param testOnBorrow the testOnBorrow to set
+     */
+    public void setTestOnBorrow(Boolean testOnBorrow) {
+        this.testOnBorrow = testOnBorrow;
+    }
+
+    /**
+     * @return the testOnReturn
+     */
+    public Boolean getTestOnReturn() {
+        return testOnReturn;
+    }
+
+    /**
+     * @param testOnReturn the testOnReturn to set
+     */
+    public void setTestOnReturn(Boolean testOnReturn) {
+        this.testOnReturn = testOnReturn;
+    }
+
+    /**
+     * @return the poolPreparedStatements
+     */
+    public Boolean getPoolPreparedStatements() {
+        return poolPreparedStatements;
+    }
+
+    /**
+     * @param poolPreparedStatements the poolPreparedStatements to set
+     */
+    public void setPoolPreparedStatements(Boolean poolPreparedStatements) {
+        this.poolPreparedStatements = poolPreparedStatements;
+    }
+
+    /**
+     * @return the maxPoolPreparedStatementPerConnectionSize
+     */
+    public Integer getMaxPoolPreparedStatementPerConnectionSize() {
+        return maxPoolPreparedStatementPerConnectionSize;
+    }
+
+    /**
+     * @param maxPoolPreparedStatementPerConnectionSize the maxPoolPreparedStatementPerConnectionSize to set
+     */
+    public void setMaxPoolPreparedStatementPerConnectionSize(Integer maxPoolPreparedStatementPerConnectionSize) {
+        this.maxPoolPreparedStatementPerConnectionSize = maxPoolPreparedStatementPerConnectionSize;
+    }
+
+    /**
+     * @return the removeAbandoned
+     */
+    public Boolean getRemoveAbandoned() {
+        return removeAbandoned;
+    }
+
+    /**
+     * @param removeAbandoned the removeAbandoned to set
+     */
+    public void setRemoveAbandoned(Boolean removeAbandoned) {
+        this.removeAbandoned = removeAbandoned;
+    }
+
+    /**
+     * @return the removeAbandonedTimeout
+     */
+    public Integer getRemoveAbandonedTimeout() {
+        return removeAbandonedTimeout;
+    }
+
+    /**
+     * @param removeAbandonedTimeout the removeAbandonedTimeout to set
+     */
+    public void setRemoveAbandonedTimeout(Integer removeAbandonedTimeout) {
+        this.removeAbandonedTimeout = removeAbandonedTimeout;
+    }
+
+    /**
+     * @return the logAbandoned
+     */
+    public Boolean getLogAbandoned() {
+        return logAbandoned;
+    }
+
+    /**
+     * @param logAbandoned the logAbandoned to set
+     */
+    public void setLogAbandoned(Boolean logAbandoned) {
+        this.logAbandoned = logAbandoned;
+    }
+
+    /**
+     * @return the filters
+     */
+    public String getFilters() {
+        return filters;
+    }
+
+    /**
+     * @param filters the filters to set
+     */
+    public void setFilters(String filters) {
+        this.filters = filters;
+    }
+}

+ 15 - 0
src/main/java/com/leanwo/activiti/db/DatabaseService.java

@@ -0,0 +1,15 @@
+package com.leanwo.activiti.db;
+
+import java.sql.SQLException;
+
+public interface DatabaseService {
+
+    /**
+     * 更新账套的数据结构
+     * 
+     * @param accountId
+     * @return
+     * @throws SQLException 
+     */
+    void schemaUpdate(Long accountId) throws SQLException;
+}

+ 95 - 0
src/main/java/com/leanwo/activiti/db/DatabaseServiceImpl.java

@@ -0,0 +1,95 @@
+package com.leanwo.activiti.db;
+
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.sql.DataSource;
+
+import org.flywaydb.core.Flyway;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.alibaba.druid.pool.DruidDataSource;
+
+
+
+@Named
+public class DatabaseServiceImpl implements DatabaseService {
+	private static Logger logger = LoggerFactory.getLogger(DatabaseServiceImpl.class);
+
+    
+	@Inject
+	private DataSource dataSource;
+
+
+    @Inject()
+    @Named("dataSource0")
+    private DruidDataSource dataSource0;
+    
+	@Override
+	@Transactional
+	public void schemaUpdate(Long accountId) throws SQLException {
+        String url = dataSource0.getUrl().toLowerCase();
+        String location = null;
+        if(url.contains("sqlserver")) {
+            location = "classpath:db/migration/sqlserver";
+        }else if(url.contains("mysql")) {
+            location = "classpath:db/migration/mysql";
+        }else {
+            
+        }
+        
+        String baselineVersion = "1.0.0";
+        // 判断表是否存在
+        boolean isInit = isDbInit();
+        if(isInit) {
+            baselineVersion = "2.0.0";
+        }else {
+            baselineVersion = "1.0.0";
+        }
+        // Create the Flyway instance and point it to the database
+        Flyway flyway = Flyway.configure().dataSource(dataSource).locations(location)
+            .baselineOnMigrate(true)
+            .baselineVersion(baselineVersion)
+            .table("flyway_schema_history_workflow_server")
+            .load();
+            
+        // Start the migration
+        flyway.migrate();
+
+		logger.debug("数据源:datasource" + accountId + "初始化结束。");
+	}
+
+	/**
+	 * 获取数据库是否已经初始化完成
+	 * @return
+	 * @throws SQLException 
+	 */
+	private boolean isDbInit() throws SQLException {
+	    Connection connection = dataSource.getConnection();
+	    String sql = "select object_id('ACT_RU_JOB')";
+	    Statement statement = connection.createStatement();
+	    ResultSet resultSet = statement.executeQuery(sql);
+	    boolean isInit = false;
+	    if(resultSet.next()) {
+	        Object object = resultSet.getObject(1);
+	        if(object == null) {
+	            isInit = false;
+	        }else {
+	            isInit = true;
+	        }
+	    }else {
+	        isInit = false;
+	    }
+	    resultSet.close();
+	    statement.close();
+	    connection.close();
+	    return isInit;
+	}
+	
+}

+ 18 - 0
src/main/java/com/leanwo/activiti/db/HttpTaskEngineService.java

@@ -0,0 +1,18 @@
+package com.leanwo.activiti.db;
+
+import com.leanwo.activiti.dto.base.AccountManagementDto;
+
+/**
+ * Http 任务引擎服务
+ * @author YangZhiJie
+ *
+ */
+public interface HttpTaskEngineService {
+
+	/**
+	 * 动态创建HTTP引擎服务
+	 * @param accountManagementDto
+	 */
+	void createDynamicEngine(AccountManagementDto accountManagementDto);
+	
+}

+ 41 - 0
src/main/java/com/leanwo/activiti/db/HttpTaskEngineServiceImpl.java

@@ -0,0 +1,41 @@
+package com.leanwo.activiti.db;
+
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.beans.factory.support.DefaultListableBeanFactory;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.stereotype.Service;
+
+import com.leanwo.activiti.dto.base.AccountManagementDto;
+import com.leanwo.activiti.service.base.impl.HttpTaskEngineImpl;
+import com.leanwo.activiti.util.SpringUtil;
+
+@Service
+public class HttpTaskEngineServiceImpl implements HttpTaskEngineService {
+
+	@Override
+	public void createDynamicEngine(AccountManagementDto accountManagementDto) {
+		ApplicationContext applicationContext = SpringUtil.getApplicationContext();
+		// 将applicationContext转换为ConfigurableApplicationContext
+        ConfigurableApplicationContext configurableApplicationContext =
+            (ConfigurableApplicationContext)SpringUtil.getApplicationContext();
+        // 获取bean工厂并转换为DefaultListableBeanFactory
+        DefaultListableBeanFactory defaultListableBeanFactory =
+            (DefaultListableBeanFactory)configurableApplicationContext.getBeanFactory();
+        if(applicationContext.containsBean("httpTaskEngineImpl" + accountManagementDto.getAccountId())) {
+        	defaultListableBeanFactory.removeBeanDefinition("httpTaskEngineImpl" + accountManagementDto.getAccountId());
+        }
+        
+        //创建任务执行流程bean
+        BeanDefinitionBuilder beanDefinitionBuilder1 =
+                BeanDefinitionBuilder.genericBeanDefinition(HttpTaskEngineImpl.class);
+//        beanDefinitionBuilder1.setInitMethodName("init");
+        beanDefinitionBuilder1.addConstructorArgValue(accountManagementDto.getAccountId());
+        beanDefinitionBuilder1.addConstructorArgValue(accountManagementDto.getHttpTaskEngineImplValue());
+        defaultListableBeanFactory.registerBeanDefinition("httpTaskEngineImpl" + accountManagementDto.getAccountId(),
+        		beanDefinitionBuilder1.getRawBeanDefinition());
+        HttpTaskEngineImpl httpTaskEngineImpl = (HttpTaskEngineImpl)applicationContext.getBean("httpTaskEngineImpl" + accountManagementDto.getAccountId());
+        httpTaskEngineImpl.init();
+	}
+
+}

+ 45 - 0
src/main/java/com/leanwo/activiti/db/LeanwoMySqlDialect.java

@@ -0,0 +1,45 @@
+///**
+// * 
+// */
+//package com.leanwo.activiti.db;
+//
+//import java.sql.Types;
+//
+//import org.hibernate.dialect.MySQL57Dialect;
+//import org.hibernate.dialect.MySQL8Dialect;
+//import org.slf4j.Logger;
+//import org.slf4j.LoggerFactory;
+//
+//
+///**
+// * @author YangZhiJie
+// *
+// */
+//public class LeanwoMySqlDialect extends MySQL8Dialect {
+//	
+//	private static Logger logger = LoggerFactory.getLogger(LeanwoMySqlDialect.class);
+//	
+//	public LeanwoMySqlDialect(){
+//		super();
+//	}
+//
+//	/* (non-Javadoc)
+//	 * @see org.hibernate.dialect.Dialect#getAddForeignKeyConstraintString(java.lang.String, java.lang.String[], java.lang.String, java.lang.String[], boolean)
+//	 */
+//	@Override
+//	public String getAddForeignKeyConstraintString(String constraintName, String[] foreignKey, String referencedTable,
+//			String[] primaryKey, boolean referencesPrimaryKey) {
+//		String str = super.getAddForeignKeyConstraintString(constraintName, foreignKey, referencedTable, primaryKey,
+//				referencesPrimaryKey);
+//		return str;
+//	}
+//
+//	/* (non-Javadoc)
+//	 * @see org.hibernate.dialect.Dialect#getAddPrimaryKeyConstraintString(java.lang.String)
+//	 */
+//	@Override
+//	public String getAddPrimaryKeyConstraintString(String constraintName) {
+//		String str = super.getAddPrimaryKeyConstraintString(constraintName);
+//		return str;
+//	}
+//}

+ 76 - 0
src/main/java/com/leanwo/activiti/db/LeanwoSqlServerDialect.java

@@ -0,0 +1,76 @@
+///**
+// * 
+// */
+//package com.leanwo.activiti.db;
+//
+//import java.sql.Types;
+//
+//import org.hibernate.dialect.SQLServer2008Dialect;
+//import org.hibernate.type.StandardBasicTypes;
+//import org.slf4j.Logger;
+//import org.slf4j.LoggerFactory;
+//
+//
+///**
+// * @author YangZhiJie
+// *
+// */
+//public class LeanwoSqlServerDialect extends SQLServer2008Dialect {
+//	
+//	private static Logger logger = LoggerFactory.getLogger(LeanwoSqlServerDialect.class);
+//	
+//	public LeanwoSqlServerDialect(){
+//		super();
+//		// 修复时间相差两天的BUG
+//        registerColumnType(Types.TIMESTAMP, "datetime");
+//        registerColumnType(Types.DATE, "datetime");
+//        registerColumnType(Types.TIME, "datetime");
+//        
+//        // nvarchar 存储统一的Unicode字节码,存储中文不会出现乱码情况。
+//        // Hibernate 默认将String类型的属性映射成varchar类型。
+//        // 将Hibernate 默认映射改为nvarchar
+//        registerColumnType(Types.CHAR, "nchar(1)");
+//        registerColumnType(Types.LONGVARCHAR, "nvarchar(max)" );
+//        registerColumnType(Types.VARCHAR, 4000, "nvarchar($l)");
+//        registerColumnType(Types.VARCHAR, "nvarchar(max)");
+//        registerColumnType(Types.CLOB, "nvarchar(max)" );
+//
+//        registerColumnType(Types.NCHAR, "nchar(1)");
+//        registerColumnType(Types.LONGNVARCHAR, "nvarchar(max)");
+//        registerColumnType(Types.NVARCHAR, 4000, "nvarchar($l)");
+//        registerColumnType(Types.NVARCHAR, "nvarchar(max)");
+//        registerColumnType(Types.NCLOB, "nvarchar(max)");
+//
+//        registerHibernateType(Types.NCHAR, StandardBasicTypes.CHARACTER.getName());
+//        registerHibernateType(Types.LONGNVARCHAR, StandardBasicTypes.TEXT.getName());
+//        registerHibernateType(Types.NVARCHAR, StandardBasicTypes.STRING.getName());
+//        registerHibernateType(Types.NCLOB, StandardBasicTypes.CLOB.getName() );
+//	}
+//	
+//	/* (non-Javadoc)
+//	 * @see org.hibernate.dialect.Dialect#getAddForeignKeyConstraintString(java.lang.String, java.lang.String[], java.lang.String, java.lang.String[], boolean)
+//	 */
+//	@Override
+//	public String getAddForeignKeyConstraintString(String constraintName, String[] foreignKey, String referencedTable,
+//			String[] primaryKey, boolean referencesPrimaryKey) {
+//		String str = super.getAddForeignKeyConstraintString(constraintName, foreignKey, referencedTable, primaryKey,
+//				referencesPrimaryKey);
+//		return str;
+//	}
+//
+//	/* (non-Javadoc)
+//	 * @see org.hibernate.dialect.Dialect#getAddPrimaryKeyConstraintString(java.lang.String)
+//	 */
+//	@Override
+//	public String getAddPrimaryKeyConstraintString(String constraintName) {
+//		String str = super.getAddPrimaryKeyConstraintString(constraintName);
+//		return str;
+//	}
+//	
+//
+//	@Override
+//	public String getAddColumnString() {
+//		return "Add ";
+//	}
+//
+//}

+ 18 - 0
src/main/java/com/leanwo/activiti/db/ProcessTaskEngineService.java

@@ -0,0 +1,18 @@
+package com.leanwo.activiti.db;
+
+import com.leanwo.activiti.dto.base.AccountManagementDto;
+
+/**
+ * 流程任务引擎服务
+ * @author YangZhiJie
+ *
+ */
+public interface ProcessTaskEngineService {
+
+	/**
+	 * 动态创建流程引擎服务
+	 * @param accountManagementDto
+	 */
+	void createDynamicEngine(AccountManagementDto accountManagementDto);
+	
+}

+ 41 - 0
src/main/java/com/leanwo/activiti/db/ProcessTaskEngineServiceImpl.java

@@ -0,0 +1,41 @@
+package com.leanwo.activiti.db;
+
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.beans.factory.support.DefaultListableBeanFactory;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.stereotype.Service;
+
+import com.leanwo.activiti.dto.base.AccountManagementDto;
+import com.leanwo.activiti.service.base.impl.ProcessReportEngineImpl;
+import com.leanwo.activiti.util.SpringUtil;
+
+@Service
+public class ProcessTaskEngineServiceImpl implements ProcessTaskEngineService {
+
+	@Override
+	public void createDynamicEngine(AccountManagementDto accountManagementDto) {
+		ApplicationContext applicationContext = SpringUtil.getApplicationContext();
+		// 将applicationContext转换为ConfigurableApplicationContext
+        ConfigurableApplicationContext configurableApplicationContext =
+            (ConfigurableApplicationContext)SpringUtil.getApplicationContext();
+        // 获取bean工厂并转换为DefaultListableBeanFactory
+        DefaultListableBeanFactory defaultListableBeanFactory =
+            (DefaultListableBeanFactory)configurableApplicationContext.getBeanFactory();
+        if(applicationContext.containsBean("processReportEngineImpl" + accountManagementDto.getAccountId())) {
+        	defaultListableBeanFactory.removeBeanDefinition("processReportEngineImpl" + accountManagementDto.getAccountId());
+        }
+        // 创建流程bean定义
+        BeanDefinitionBuilder beanDefinitionBuilder =
+            BeanDefinitionBuilder.genericBeanDefinition(ProcessReportEngineImpl.class);
+//        beanDefinitionBuilder.setInitMethodName("init");
+        beanDefinitionBuilder.addConstructorArgValue(accountManagementDto.getAccountId());
+        beanDefinitionBuilder.addConstructorArgValue(accountManagementDto.getProcessreportengineimplValue());
+        defaultListableBeanFactory.registerBeanDefinition("processReportEngineImpl" + accountManagementDto.getAccountId(),
+            beanDefinitionBuilder.getRawBeanDefinition());
+        ProcessReportEngineImpl processReportEngineImpl = (ProcessReportEngineImpl)applicationContext.getBean("processReportEngineImpl" + accountManagementDto.getAccountId());
+        processReportEngineImpl.init();
+        
+	}
+
+}

+ 70 - 0
src/main/java/com/leanwo/activiti/delegate/base/AddCopyUserDelegate.java

@@ -0,0 +1,70 @@
+package com.leanwo.activiti.delegate.base;
+
+
+import java.util.List;
+
+import javax.inject.Named;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.Expression;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.gson.reflect.TypeToken;
+import com.leanwo.activiti.dto.base.UserReadDocumentSimpleDto;
+import com.leanwo.activiti.service.base.impl.ProdogServer;
+import com.leanwo.activiti.service.base.impl.UserPreference;
+import com.leanwo.activiti.util.FormatUtil;
+import com.leanwo.activiti.util.SpringUtil;
+
+
+
+/**
+ * 添加抄送人(ServiceTask)
+ * @author GuoZhiBo 20201009
+ * @author YangZhiJie 20200126
+ *
+ */
+@Named
+public class AddCopyUserDelegate implements JavaDelegate {
+	
+	private static Logger logger = LoggerFactory.getLogger(AddCopyUserDelegate.class);
+	
+	private Expression userIds;
+	
+	@Override
+	public void execute(DelegateExecution execution)  {
+		String userIdsString = userIds.getExpressionText();
+		
+		if(userIdsString != null && userIdsString.length() > 0) {
+			List<Long> userIdsAdded = FormatUtil.getGson().fromJson(userIdsString, new TypeToken<List<Long>>() {}.getType());
+			
+			if(userIdsAdded != null && userIdsAdded.size() > 0) {
+				ProdogServer prodogServer = SpringUtil.getBean(ProdogServer.class.getName());
+				UserReadDocumentSimpleDto userReadDocumentSimpleDto = new UserReadDocumentSimpleDto();
+				userReadDocumentSimpleDto.setUserIds(userIdsAdded);
+				userReadDocumentSimpleDto.setProcessInstanceId(execution.getProcessDefinitionId());
+				
+				String windowNo = (String) execution.getVariable(UserPreference.WINDOW_NO);	
+				userReadDocumentSimpleDto.setWindowNo(windowNo);
+				
+				Long recordId = (Long) execution.getVariable(UserPreference.RECORD_ID);	
+				userReadDocumentSimpleDto.setRecordId(recordId);
+				
+				Integer tabIndex = (Integer) execution.getVariable(UserPreference.TAB_INDEX);	
+				userReadDocumentSimpleDto.setTabIndex(tabIndex);
+				
+				prodogServer.saveByUserReadDocumentSimpleDto(userReadDocumentSimpleDto);
+			}
+		}
+	}
+
+	public Expression getUserIds() {
+		return userIds;
+	}
+
+	public void setUserIds(Expression userIds) {
+		this.userIds = userIds;
+	}
+}

+ 19 - 0
src/main/java/com/leanwo/activiti/delegate/base/AssetServerService.java

@@ -0,0 +1,19 @@
+package com.leanwo.activiti.delegate.base;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+
+import com.leanwo.activiti.dto.BaseObjectResponse;
+import com.leanwo.activiti.service.base.impl.ProdogServer;
+
+@Named
+public class AssetServerService {
+
+	@Inject
+	private ProdogServer prodogServer;
+	
+	public BaseObjectResponse<String> generateReport(Long recordId){
+		BaseObjectResponse<String> baseObjectResponse = prodogServer.generateReport(recordId);
+		return baseObjectResponse;
+	}
+}

+ 55 - 0
src/main/java/com/leanwo/activiti/delegate/base/DocumentApprovedService.java

@@ -0,0 +1,55 @@
+package com.leanwo.activiti.delegate.base;
+
+import java.util.Date;
+
+import javax.inject.Named;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.leanwo.activiti.dto.base.DocumentInfoDto;
+import com.leanwo.activiti.service.base.DocumentOperationService;
+import com.leanwo.activiti.service.base.impl.UserPreference;
+import com.leanwo.activiti.util.SpringUtil;
+
+
+
+/**
+ * 单据审批通过后执行本程序,程序包括如下流程:
+ * <ul>
+ * 	<li>
+ * 	设置单据状态为审批通过
+ * </li>
+ * <li>
+ *  添加阅览人添加至UserReadDocument
+ * </li>
+ * <ul>
+ * 
+ * 
+ * @author Jack
+ *
+ */
+@Named
+public class DocumentApprovedService implements JavaDelegate {
+	private static Logger logger = LoggerFactory.getLogger(DocumentApprovedService.class);
+	
+	
+	@Override
+	public void execute(DelegateExecution execution)  {
+		logger.debug("PASS = "+ execution.getVariable(UserPreference.COMMAND));
+		Long recordId = (Long) execution.getVariable(UserPreference.RECORD_ID);	
+		Long accountId = (Long) execution.getVariable(UserPreference.ACCOUNT_ID);
+		String className = (String) execution.getVariable(UserPreference.CLASS_NAME);		
+		
+		DocumentInfoDto documentInfoDto = new DocumentInfoDto();
+		documentInfoDto.setRecordId(recordId);
+		documentInfoDto.setClassName(className);
+
+		DocumentOperationService documentOperationService = (DocumentOperationService) SpringUtil.getSingleBean(DocumentOperationService.class);
+		documentOperationService.approveDocument(accountId, documentInfoDto);
+		
+		execution.setVariable(UserPreference.PROCESS_INSTANCE_END_DATE, new Date());
+	}
+}

+ 46 - 0
src/main/java/com/leanwo/activiti/delegate/base/DocumentRejectedService.java

@@ -0,0 +1,46 @@
+package com.leanwo.activiti.delegate.base;
+
+import javax.inject.Named;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.leanwo.activiti.dto.base.DocumentInfoDto;
+import com.leanwo.activiti.service.base.DocumentOperationService;
+import com.leanwo.activiti.service.base.impl.UserPreference;
+import com.leanwo.activiti.util.SpringUtil;
+
+/**
+ * 单据审批不通过后,执行本程序,主要包括如下流程:
+ * <ul>
+ * 	<li>
+ * 设置单据状态为审批不通过
+ * </li>
+ * </ul>
+ * @author Jack
+ * @version 20101016
+ *
+ */
+@Named
+public class DocumentRejectedService implements JavaDelegate {
+	private static Logger logger = LoggerFactory.getLogger(DocumentRejectedService.class);
+
+	
+	@Override
+	public void execute(DelegateExecution execution)  {
+		logger.debug("PASS = "+ execution.getVariable(UserPreference.COMMAND));
+		Long recordId = (Long) execution.getVariable(UserPreference.RECORD_ID);	
+		Long accountId = (Long) execution.getVariable(UserPreference.ACCOUNT_ID);
+		String className = (String) execution.getVariable(UserPreference.CLASS_NAME);
+
+		DocumentInfoDto documentInfoDto = new DocumentInfoDto();
+		documentInfoDto.setRecordId(recordId);
+		documentInfoDto.setClassName(className);
+		
+		DocumentOperationService documentOperationService = (DocumentOperationService) SpringUtil.getSingleBean(DocumentOperationService.class);
+		documentOperationService.rejectDocument(accountId,documentInfoDto);
+		
+	}
+}

+ 45 - 0
src/main/java/com/leanwo/activiti/delegate/base/DocumentWithdrawService.java

@@ -0,0 +1,45 @@
+package com.leanwo.activiti.delegate.base;
+
+import javax.inject.Named;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.leanwo.activiti.dto.base.DocumentInfoDto;
+import com.leanwo.activiti.service.base.DocumentOperationService;
+import com.leanwo.activiti.service.base.impl.UserPreference;
+import com.leanwo.activiti.util.SpringUtil;
+
+
+/**
+ * 单据撤回后,执行本程序,主要包括如下流程:
+ * <ul>
+ * 	<li>
+ * 设置单据状态为已撤回
+ * </li>
+ * </ul>
+ * @author Jack
+ * @version 20101016
+ *
+ */
+@Named
+public class DocumentWithdrawService implements JavaDelegate {
+	private static Logger logger = LoggerFactory.getLogger(DocumentWithdrawService.class);
+	
+	@Override
+	public void execute(DelegateExecution execution)  {
+		logger.debug("PASS = "+ execution.getVariable(UserPreference.COMMAND));
+		Long recordId = (Long) execution.getVariable(UserPreference.RECORD_ID);	
+		Long accountId = (Long) execution.getVariable(UserPreference.ACCOUNT_ID);
+		String className = (String) execution.getVariable(UserPreference.CLASS_NAME);
+
+		DocumentInfoDto documentInfoDto = new DocumentInfoDto();
+		documentInfoDto.setRecordId(recordId);
+		documentInfoDto.setClassName(className);
+		
+		DocumentOperationService documentOperationService = (DocumentOperationService) SpringUtil.getSingleBean(DocumentOperationService.class);
+		documentOperationService.withdrawDocument(accountId, documentInfoDto);
+	}
+}

+ 22 - 0
src/main/java/com/leanwo/activiti/delegate/base/EmptyDelegate.java

@@ -0,0 +1,22 @@
+package com.leanwo.activiti.delegate.base;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * 空的
+ * @author YangZhiJie
+ *
+ */
+public class EmptyDelegate implements JavaDelegate {
+
+	private static Logger logger = LoggerFactory.getLogger(EmptyDelegate.class);
+	
+	@Override
+	public void execute(DelegateExecution execution) {
+		logger.debug("EmptyDelegate execute.");
+	}
+
+}

+ 16 - 0
src/main/java/com/leanwo/activiti/delegate/base/TestDelegate.java

@@ -0,0 +1,16 @@
+package com.leanwo.activiti.delegate.base;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class TestDelegate implements JavaDelegate{
+	private static Logger logger = LoggerFactory.getLogger(TestDelegate.class);
+
+	@Override
+	public void execute(DelegateExecution execution) {
+		logger.debug("TestDelegate");
+	}
+
+}

+ 24 - 0
src/main/java/com/leanwo/activiti/delegate/base/UnqualifiedDesignerUserIdService.java

@@ -0,0 +1,24 @@
+package com.leanwo.activiti.delegate.base;
+
+import javax.inject.Named;
+
+import org.activiti.engine.delegate.DelegateTask;
+import org.activiti.engine.delegate.TaskListener;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+
+
+@Named
+public class UnqualifiedDesignerUserIdService implements TaskListener {
+	private static Logger logger = LoggerFactory.getLogger(UnqualifiedDesignerUserIdService.class);
+	
+	private static final String DESIGNER_USER_ID = "designerUserId";
+	
+
+	@Override
+	public void notify(DelegateTask delegateTask) {
+		delegateTask.removeVariable(DESIGNER_USER_ID);
+	}
+}

+ 56 - 0
src/main/java/com/leanwo/activiti/delegate/base/UserSyncDelegate.java

@@ -0,0 +1,56 @@
+package com.leanwo.activiti.delegate.base;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.leanwo.activiti.service.base.TokenService;
+import com.leanwo.activiti.service.base.impl.DbSyncTimeStampServiceImpl;
+import com.leanwo.activiti.service.base.impl.ProdogServer;
+import com.leanwo.activiti.util.LoginContext;
+import com.leanwo.activiti.util.LoginContextUtil;
+import com.leanwo.activiti.util.SpringUtil;
+import com.leanwo.activiti.util.TokenUtil;
+
+/**
+ * 用户组同步 Delegate
+ * @author ZhiJie
+ *
+ */
+@Named
+public class UserSyncDelegate implements JavaDelegate {
+	private static Logger logger = LoggerFactory.getLogger(UserSyncDelegate.class);
+	
+	@Inject
+	private ProdogServer prodogServer;
+	
+	@Inject
+	private TokenService tokenService;
+	
+	@Override
+	public void execute(DelegateExecution execution)  {
+		
+		Long accountId = 0L;
+		LoginContext loginContext = new LoginContext();
+        loginContext.setAccountId(accountId);
+		String tempToken = tokenService.generateTempToken();
+		TokenUtil.setToken(tempToken);
+		LoginContextUtil.setLoginContext(loginContext);
+		
+		DbSyncTimeStampServiceImpl dbSyncTimeStampService = (DbSyncTimeStampServiceImpl) SpringUtil.getSingleBean(DbSyncTimeStampServiceImpl.class);
+		
+		// Prodog数据库版本
+		byte[] dbts = prodogServer.getProdogDbVersion();
+		
+		// Activiti中最新版本
+		byte[] ufts = dbSyncTimeStampService.getLatestDbVersion(accountId);
+		
+		dbSyncTimeStampService.saveDbVersion(accountId, dbts);
+		
+	}
+	
+}

+ 30 - 0
src/main/java/com/leanwo/activiti/delegate/base/UserTaskListener.java

@@ -0,0 +1,30 @@
+package com.leanwo.activiti.delegate.base;
+
+import org.activiti.engine.delegate.DelegateTask;
+import org.activiti.engine.delegate.TaskListener;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * 会签分配权限
+ * 使用任务监听器进行权限分配
+ * @author Jack
+ *
+ */
+public class UserTaskListener implements TaskListener {
+	private static Logger logger = LoggerFactory.getLogger(UserTaskListener.class);
+	
+	//@Inject
+	//private TaskService taskService;
+	
+	@Override
+	public void notify(DelegateTask delegateTask) {
+		String assignee = (String)delegateTask.getVariable("USER_ID");
+//		String assignee = (String)delegateTask.getAssignee();
+		logger.debug("开始分配用户权限,用户id:" + assignee);
+		// Activiti 6 中不能直接更新任务执行人,执行lib中的install.bat,安装修改以后的jar包。
+		delegateTask.setAssignee(assignee);
+		//TaskService taskService = SpringUtil.getObject(TaskService.class);   
+        //taskService.setAssignee(delegateTask.getId(),assignee);
+	}
+}

+ 35 - 0
src/main/java/com/leanwo/activiti/delegate/base/UserTaskListener2.java

@@ -0,0 +1,35 @@
+package com.leanwo.activiti.delegate.base;
+
+import java.util.List;
+
+import org.activiti.engine.delegate.DelegateTask;
+import org.activiti.engine.delegate.TaskListener;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * 会签分配权限
+ * 使用任务监听器进行权限分配
+ * @author Jack
+ *
+ */
+public class UserTaskListener2 implements TaskListener {
+	private static Logger logger = LoggerFactory.getLogger(UserTaskListener2.class);
+	
+	@Override
+	public void notify(DelegateTask delegateTask) {
+//		String assignee = (String)delegateTask.getVariable("USER_ID");
+//		logger.debug("开始分配用户权限,用户id:" + assignee);
+//		delegateTask.setAssignee(assignee);
+		Object assignee = delegateTask.getVariable("USER_TASK_DTOS_" + delegateTask.getTaskDefinitionKey());
+		//logger.debug("开始分配用户权限,用户id:" + assignee);
+		if(assignee instanceof String){
+			delegateTask.setAssignee((String)assignee);
+			
+		}else if(assignee instanceof List){
+			if(((List) assignee).size() > 0){
+				delegateTask.setAssignee((String)((List)assignee).get(0));
+			}
+		}
+	}
+}

+ 33 - 0
src/main/java/com/leanwo/activiti/delegate/base/UserTaskListener3.java

@@ -0,0 +1,33 @@
+package com.leanwo.activiti.delegate.base;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.DelegateTask;
+import org.activiti.engine.delegate.TaskListener;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * 设置审批用户的Id进流程变量
+ * @author GuoZhiBo 20180918
+ *
+ */
+public class UserTaskListener3 implements TaskListener {
+	private static Logger logger = LoggerFactory.getLogger(UserTaskListener3.class);
+	
+	@Override
+	public void notify(DelegateTask delegateTask) {
+		DelegateExecution execution = delegateTask.getExecution();
+		String userId = delegateTask.getAssignee();
+		List<String> listStr =  (List<String>)execution.getVariable("approvedUserList");
+		if(listStr != null && listStr.size() > 0) {
+			listStr.add(userId);
+		}else {
+			listStr = new ArrayList<>();
+			listStr.add(userId);
+		}
+		execution.setVariable("approvedUserList",listStr);
+	}
+}

+ 61 - 0
src/main/java/com/leanwo/activiti/delegate/base/UserTaskListener4.java

@@ -0,0 +1,61 @@
+package com.leanwo.activiti.delegate.base;
+
+import java.util.List;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+
+import org.activiti.engine.TaskService;
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.DelegateTask;
+import org.activiti.engine.delegate.TaskListener;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.leanwo.activiti.dto.base.TaskCommand;
+import com.leanwo.activiti.service.base.impl.UserPreference;
+
+/**
+ * 审批前判断是否有相同的用户审批过
+ * @author GuoZhiBo 20180918
+ *
+ */
+@Named
+public class UserTaskListener4 implements TaskListener {
+	private static Logger logger = LoggerFactory.getLogger(UserTaskListener4.class);
+	
+	@Inject
+	private TaskService taskService;
+	
+	@Override
+	public void notify(DelegateTask delegateTask) {
+		DelegateExecution execution = delegateTask.getExecution();
+		String userId = (String) execution.getVariable("USER_ID");
+		List<String> listStr =  (List<String>)execution.getVariable("approvedUserList");
+		if(listStr != null && listStr.size() > 0) {
+			//如果用户相同审批直接结束
+			if(listStr.get(0).toString().equals(userId)) {
+				execution.setVariable("continue", true);
+				
+				execution.setVariableLocal(UserPreference.COMMENT, "审批通过");
+				execution.setVariable(UserPreference.COMMAND, TaskCommand.APPROVE);
+
+				taskService.complete(delegateTask.getId(),null);
+
+//				logger.debug("PASS = "+ execution.getVariable(UserPreference.COMMAND));
+//				Long recordId = (Long) execution.getVariable(UserPreference.RECORD_ID);	
+//				Long accountId = (Long) execution.getVariable(UserPreference.ACCOUNT_ID);
+//				String className = (String) execution.getVariable(UserPreference.CLASS_NAME);		
+//				
+//				DocumentInfoDto documentInfoDto = new DocumentInfoDto();
+//				documentInfoDto.setRecordId(recordId);
+//				documentInfoDto.setClassName(className);
+//
+//				DocumentOperationService documentOperationService = (DocumentOperationService) SpringUtil.getSingleBean(DocumentOperationService.class);
+//				documentOperationService.approveDocument(accountId, documentInfoDto);
+//				
+//				execution.setVariable(UserPreference.PROCESS_INSTANCE_END_DATE, new Date());
+			}
+		}
+	}
+}

+ 157 - 0
src/main/java/com/leanwo/activiti/delegate/business/ApproverLoginDelegate.java

@@ -0,0 +1,157 @@
+ package com.leanwo.activiti.delegate.business;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+import javax.sql.DataSource;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.leanwo.activiti.config.EmailConfiguration;
+import com.leanwo.activiti.exception.ServerException;
+import com.leanwo.activiti.service.base.impl.UserPreference;
+import com.leanwo.activiti.util.CloseableUtil;
+import com.leanwo.activiti.util.SpringUtil;
+
+/**
+ * 审批人审批
+ * @author YangZhiJie
+ * @date 2022/07/21
+ */
+public class ApproverLoginDelegate implements JavaDelegate{
+    
+    private static Logger logger = LoggerFactory.getLogger(ApproverLoginDelegate.class);
+    
+    /* (non-Javadoc)
+     * @see org.activiti.engine.delegate.JavaDelegate#execute(org.activiti.engine.delegate.DelegateExecution)
+     */
+    @Override
+    public void execute(DelegateExecution delegateExecution) {
+        String tenantId = delegateExecution.getTenantId();
+        Long accountId = (Long) delegateExecution.getVariable(UserPreference.ACCOUNT_ID);
+        
+        Connection connection = null;
+        PreparedStatement preparedStatement = null;
+        PreparedStatement preparedStatement1 = null;
+        PreparedStatement preparedStatement2 = null;
+        PreparedStatement preparedStatement3 = null;
+        PreparedStatement preparedStatement4 = null;
+        ResultSet resultSet = null;
+        ResultSet resultSet2 = null;
+        ResultSet resultSet3 = null;
+        ResultSet resultSet4 = null;
+        try {
+            DataSource dataSource = SpringUtil.getBean("dataSource" + accountId);
+            connection = dataSource.getConnection();
+            String sql = "SELECT top 1 id, name, loginName, email FROM BASE_USER WHERE loginProcessInstanceId IS NULL AND email IS NOT NULL ORDER BY id";
+            preparedStatement = connection.prepareStatement(sql);
+            resultSet = preparedStatement.executeQuery();
+            Long userId = null;
+            String userName = null, loginName = null, email = null;
+            while(resultSet.next()){
+                userId = resultSet.getLong("id");
+                if(resultSet.wasNull()) {
+                	userId = null;
+                }
+                userName = resultSet.getString("name");
+                loginName = resultSet.getString("loginName");
+                email = resultSet.getString("email");
+            }
+
+            if(userId != null) {
+                delegateExecution.setVariable("userId", userId);
+                delegateExecution.setVariable("userName", userName);
+                delegateExecution.setVariable("to", email);
+                
+                EmailConfiguration emailConfiguration = (EmailConfiguration) SpringUtil.getBean("emailConfiguration");
+                delegateExecution.setVariable("from", emailConfiguration.getMailServerDefaultFrom());
+                
+                delegateExecution.setVariable("subject", "固定资产管理系统账号已经开通,请登录系统。");
+                String content = "尊敬的" + userName + "您好,\r\n您的固定资产管理系统账号已经开通,请点击下面的网址,完成登录和培训的操作。";
+                delegateExecution.setVariable("content", content);
+                //delegateExecution.setVariable("from", email);
+                
+                delegateExecution.setVariable(UserPreference.APPROVE_TITLE, "登录指引");
+                delegateExecution.setVariable(UserPreference.APPROVE_CONTENT, "确认隐私说明,审批培训,重置密码");
+            }
+            
+            
+            if(userId != null) {
+                sql = "update BASE_USER set loginProcessInstanceId = ? where id = ?";
+                preparedStatement1 = connection.prepareStatement(sql);
+                preparedStatement1.setString(1, delegateExecution.getProcessDefinitionId());
+                preparedStatement1.setLong(2, userId);
+                int count = preparedStatement1.executeUpdate();
+                if(count != 1) {
+                    throw new ServerException("更新用户" + userId + "的loginProcessInstanceId属性失败。");
+                }
+            }
+            
+            
+            // 是否是部门经理
+            boolean isDepartmentManager = false;
+            
+            sql = "SELECT count(*) as count1 FROM Ass_ClientOrganizationRoomUser where userId = ?";
+            preparedStatement2 = connection.prepareStatement(sql);
+            preparedStatement2.setLong(1, userId);
+            resultSet2 = preparedStatement2.executeQuery();
+    		while(resultSet2.next()){
+    			int count = resultSet2.getInt(1);
+    			if(count > 0) {
+    				isDepartmentManager = true;
+    			}
+            }
+    		delegateExecution.setVariable("isDepartmentManager", isDepartmentManager);
+    		
+    		
+            // 是否是资产管理员
+            boolean isAssetManager = false;
+            sql = "SELECT count(*) as count1 FROM Ass_ClientOrganizationRoomUser where assetManagerId = ?";
+            preparedStatement3 = connection.prepareStatement(sql);
+            preparedStatement3.setLong(1, userId);
+            resultSet3 = preparedStatement3.executeQuery();
+    		while(resultSet3.next()){
+    			int count = resultSet3.getInt(1);
+    			if(count > 0) {
+    				isAssetManager = true;
+    			}
+            }
+    		delegateExecution.setVariable("isAssetManager", isAssetManager);
+            
+
+            // 是否是审批人
+            boolean isApprover = false;
+            sql = "SELECT "
+            		+ "(SELECT COUNT(*) FROM Base_RegionApproval WHERE bfManagerId = ? OR regionIEManagerId = ? OR regionControllerId = ? OR regionManagerId = ?) AS COUNT?, "
+            		+ "(SELECT COUNT(*) FROM Base_DistrictApproval WHERE bfManagerId = ? OR districtIEManagerId = ? OR financeControllerId = ? OR districtManagerId = ?) AS COUNT2, "
+            		+ "(SELECT COUNT(*) FROM Base_CountryApproval WHERE areaId = ? OR bfManagerId = ? OR areaIEManagerId = ? OR financeManagerId = ? OR managerId = ?) AS COUNT3, "
+            		+ "(SELECT COUNT(*) FROM Base_FunctionalManagerApproval WHERE deptId = ? OR areaId = ? OR areaApproverId =? OR districtApproverId = ?) AS COUNT4";
+            sql = sql.replace("?", userId.toString());
+            preparedStatement4 = connection.prepareStatement(sql);
+            resultSet4 = preparedStatement4.executeQuery();
+    		while(resultSet4.next()){
+    			int count1 = resultSet4.getInt(1);
+    			int count2 = resultSet4.getInt(2);
+    			int count3 = resultSet4.getInt(3);
+    			int count4 = resultSet4.getInt(4);
+    			if((count1 + count2 + count3 + count4) > 0) {
+    				isApprover = true;
+    			}
+            }
+    		delegateExecution.setVariable("isApprover", isApprover);
+
+            connection.commit();
+        } catch (SQLException e) {
+            logger.error("", e);
+        }finally{
+            CloseableUtil.close(resultSet, resultSet2, resultSet3, resultSet4,
+            		preparedStatement, preparedStatement1, preparedStatement2, preparedStatement3, preparedStatement4,
+            		connection);
+        }
+    }
+}

+ 104 - 0
src/main/java/com/leanwo/activiti/delegate/business/AssetLabelPrintCheckInitDelegate.java

@@ -0,0 +1,104 @@
+package com.leanwo.activiti.delegate.business;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+import javax.sql.DataSource;
+
+import org.activiti.engine.ActivitiException;
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.leanwo.activiti.config.EmailConfiguration;
+import com.leanwo.activiti.exception.ServerException;
+import com.leanwo.activiti.service.base.impl.UserPreference;
+import com.leanwo.activiti.util.CloseableUtil;
+import com.leanwo.activiti.util.SpringUtil;
+
+public class AssetLabelPrintCheckInitDelegate implements JavaDelegate{
+
+    private static Logger logger = LoggerFactory.getLogger(AssetLabelPrintCheckInitDelegate.class);
+    
+	@Override
+	public void execute(DelegateExecution delegateExecution) {
+		Long recordId = (Long)delegateExecution.getVariable(UserPreference.RECORD_ID);
+        Long accountId = (Long) delegateExecution.getVariable(UserPreference.ACCOUNT_ID);
+		
+
+        Connection connection = null;
+        PreparedStatement preparedStatement = null;
+        ResultSet resultSet = null;
+        try {
+            DataSource dataSource = SpringUtil.getBean("dataSource" + accountId);
+            connection = dataSource.getConnection();
+            String sql = "SELECT "
+            		+ " alpc.id as id,"
+            		+ " bu.id as userId,"
+            		+ " bu.name as assetManagerName,"
+            		+ " bu.email as assetManagerEmail,"
+            		+ " alpc.name as documentName,"
+            		+ " alpc.documentNo as documentNo,"
+            		+ " client.name AS clientName,"
+            		+ " organization.name AS organizationName,"
+            		+ " room.name as roomName"
+            		+ " FROM Ass_AssetLabelPrintCheck AS alpc"
+            		+ " LEFT JOIN BASE_USER bu on bu.id = alpc.pasteResponsibleUserId"
+            		+ " LEFT JOIN Base_Client AS client on client.id = alpc.clientId"
+            		+ " LEFT JOIN Base_Organization AS organization on organization.id = alpc.organizationId"
+            		+ " LEFT JOIN Ass_Room AS room on room.id = alpc.roomId"
+            		+ " WHERE alpc.id = ?";
+            preparedStatement = connection.prepareStatement(sql);
+            preparedStatement.setLong(1, recordId);
+            resultSet = preparedStatement.executeQuery();
+            Long id = null, userId = null;
+            String userName = null, email = null, clientName = null, organizationName = null, roomName = null;
+            while(resultSet.next()){
+            	id = resultSet.getLong("id");
+                userId = resultSet.getLong("userId");
+                if(resultSet.wasNull()) {
+                	userId = null;
+                }
+                userName = resultSet.getString("assetManagerName");
+                email = resultSet.getString("assetManagerEmail");
+                
+                
+                clientName = resultSet.getString("clientName");
+                organizationName = resultSet.getString("organizationName");
+                roomName = resultSet.getString("roomName");
+            }
+
+            if(userId != null) {
+                delegateExecution.setVariable("userId", userId);
+                delegateExecution.setVariable("userName", userName);
+                delegateExecution.setVariable("to", email);
+                
+                EmailConfiguration emailConfiguration = (EmailConfiguration) SpringUtil.getBean("emailConfiguration");
+                delegateExecution.setVariable("from", emailConfiguration.getMailServerDefaultFrom());
+                
+                delegateExecution.setVariable("subject", "固定资产管理系统需要您确认新增资产的信息,请登录系统完成相关操作。");
+                String content = String.format("尊敬的%s您好,\r\n固定资产管理系统需要您给公司:%s,部门:%s,营业场所:%s,确认新增资产的信息,请登录系统完成相关操作。", 
+                		userName,
+                		clientName,
+                		organizationName,
+                		roomName);
+                		
+                delegateExecution.setVariable("content", content);
+                
+                delegateExecution.setVariable(UserPreference.APPROVE_TITLE, "确认新增资产的信息");
+                delegateExecution.setVariable(UserPreference.APPROVE_CONTENT, content);
+            }else {
+            	throw new ServerException("标签核对单未设置资产管理员。");
+            }
+            connection.commit();
+        } catch (SQLException e) {
+            logger.error("", e);
+        }finally{
+            CloseableUtil.close(resultSet, preparedStatement, connection);
+        }
+	}
+
+}

+ 114 - 0
src/main/java/com/leanwo/activiti/delegate/business/AssetLabelPrintCheckReportDelegate.java

@@ -0,0 +1,114 @@
+package com.leanwo.activiti.delegate.business;
+
+import java.net.URLEncoder;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+import javax.sql.DataSource;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.leanwo.activiti.config.EmailConfiguration;
+import com.leanwo.activiti.delegate.base.AssetServerService;
+import com.leanwo.activiti.dto.BaseObjectResponse;
+import com.leanwo.activiti.service.base.impl.ProdogServer;
+import com.leanwo.activiti.service.base.impl.UserPreference;
+import com.leanwo.activiti.util.CloseableUtil;
+import com.leanwo.activiti.util.SpringUtil;
+
+public class AssetLabelPrintCheckReportDelegate implements JavaDelegate{
+
+    private static Logger logger = LoggerFactory.getLogger(AssetLabelPrintCheckReportDelegate.class);
+    
+	@Override
+	public void execute(DelegateExecution delegateExecution) {
+		Long recordId = (Long) delegateExecution.getVariable(UserPreference.RECORD_ID);
+        Long accountId = (Long) delegateExecution.getVariable(UserPreference.ACCOUNT_ID);
+		
+
+        Connection connection = null;
+        PreparedStatement preparedStatement = null;
+        ResultSet resultSet = null;
+        try {
+            DataSource dataSource = SpringUtil.getBean("dataSource" + accountId);
+            connection = dataSource.getConnection();
+            String sql = "SELECT "
+            		+ " alpc.id as id,"
+            		+ " bu.id as userId,"
+            		+ " bu.name as assetManagerName,"
+            		+ " bu.email as assetManagerEmail,"
+            		+ " alpc.name as documentName,"
+            		+ " alpc.documentNo as documentNo,"
+            		+ " client.name AS clientName,"
+            		+ " organization.name AS organizationName,"
+            		+ " room.name as roomName"
+            		+ " FROM Ass_AssetLabelPrintCheck AS alpc"
+            		+ " LEFT JOIN BASE_USER bu on bu.id = alpc.pasteResponsibleUserId"
+            		+ " LEFT JOIN Base_Client AS client on client.id = alpc.clientId"
+            		+ " LEFT JOIN Base_Organization AS organization on organization.id = alpc.organizationId"
+            		+ " LEFT JOIN Ass_Room AS room on room.id = alpc.roomId"
+            		+ " WHERE alpc.id = ?";
+            preparedStatement = connection.prepareStatement(sql);
+            preparedStatement.setLong(1, recordId);
+            resultSet = preparedStatement.executeQuery();
+            Long id = null, userId = null;
+            String userName = null, email = null, clientName = null, organizationName = null, roomName = null;
+            while(resultSet.next()){
+            	id = resultSet.getLong("id");
+                userId = resultSet.getLong("userId");
+                if(resultSet.wasNull()) {
+                	userId = null;
+                }
+                userName = resultSet.getString("assetManagerName");
+                email = resultSet.getString("assetManagerEmail");
+                
+                
+                clientName = resultSet.getString("clientName");
+                organizationName = resultSet.getString("organizationName");
+                roomName = resultSet.getString("roomName");
+            }
+
+            if(userId != null) {
+                delegateExecution.setVariable("userId1", userId);
+                delegateExecution.setVariable("userName1", userName);
+                delegateExecution.setVariable("to1", email);
+                
+                EmailConfiguration emailConfiguration = (EmailConfiguration) SpringUtil.getBean("emailConfiguration");
+                delegateExecution.setVariable("from1", emailConfiguration.getMailServerDefaultFrom());
+                
+                delegateExecution.setVariable("subject1", "固定资产管理系统需要您使用A4打印机打印新增的资产卡片,请登录系统完成相关操作。");
+                String content = String.format("尊敬的%s您好,\r\n固定资产管理系统需要您给公司:%s,部门:%s,营业场所:%s,使用A4打印机打印新增的资产卡片,请登录系统完成相关操作。", 
+                		userName,
+                		clientName,
+                		organizationName,
+                		roomName);
+                		
+                delegateExecution.setVariable("content1", content);
+                
+                delegateExecution.setVariable(UserPreference.APPROVE_TITLE, "使用A4打印机打印新增的资产卡片");
+                delegateExecution.setVariable(UserPreference.APPROVE_CONTENT, content);
+            }
+            
+            connection.commit();
+        } catch (SQLException e) {
+            logger.error("", e);
+        }finally{
+            CloseableUtil.close(resultSet, preparedStatement, connection);
+        }
+            
+            
+        AssetServerService assetServerService = (AssetServerService) SpringUtil.getSingleBean(AssetServerService.class);
+        BaseObjectResponse<String> baseObjectResponse = assetServerService.generateReport(recordId);
+		if(baseObjectResponse.getErrorCode() ==0) {
+			String url = "/#/desktop/pdf-print?pdfSrc=" + URLEncoder.encode(baseObjectResponse.getData());
+			delegateExecution.setVariable("PDF_REPORT", url);
+		}
+        
+	}
+
+}

+ 109 - 0
src/main/java/com/leanwo/activiti/delegate/business/FillAssetManagerLoginDelegate.java

@@ -0,0 +1,109 @@
+ package com.leanwo.activiti.delegate.business;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+import javax.sql.DataSource;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.leanwo.activiti.config.EmailConfiguration;
+import com.leanwo.activiti.exception.ServerException;
+import com.leanwo.activiti.service.base.impl.UserPreference;
+import com.leanwo.activiti.util.CloseableUtil;
+import com.leanwo.activiti.util.SpringUtil;
+
+/**
+ * 登录的时候填充资产管理员
+ * @author YangZhiJie
+ * @date 2022/07/21
+ */
+public class FillAssetManagerLoginDelegate implements JavaDelegate{
+    
+    private static Logger logger = LoggerFactory.getLogger(FillAssetManagerLoginDelegate.class);
+    
+    /* (non-Javadoc)
+     * @see org.activiti.engine.delegate.JavaDelegate#execute(org.activiti.engine.delegate.DelegateExecution)
+     */
+    @Override
+    public void execute(DelegateExecution delegateExecution) {
+        String tenantId = delegateExecution.getTenantId();
+        Long accountId = (Long) delegateExecution.getVariable(UserPreference.ACCOUNT_ID);
+        
+        Connection connection = null;
+        PreparedStatement preparedStatement = null;
+        PreparedStatement preparedStatement1 = null;
+        ResultSet resultSet = null;
+        try {
+            DataSource dataSource = SpringUtil.getBean("dataSource" + accountId);
+            connection = dataSource.getConnection();
+            String sql = "SELECT TOP 1 coru.id AS id, deptManager.id AS userId, deptManager.name as deptManagerName, deptManager.email AS deptManagerEmail, "
+            		+ "client.name AS clientName, organization.name AS organizationName, room.name as roomName FROM Ass_ClientOrganizationRoomUser AS coru "
+            		+ "LEFT JOIN Base_User AS deptManager on deptManager.id = coru.userId "
+            		+ "LEFT JOIN Base_Client AS client on client.id = coru.clientId "
+            		+ "LEFT JOIN Base_Organization AS organization on organization.id = coru.organizationId "
+            		+ "LEFT JOIN Ass_Room AS room on room.id = coru.roomId "
+            		+ "WHERE coru.assetManagerId is null AND deptManager.id is not null AND deptManager.email is not null "
+            		+ "AND coru.processInstanceId IS NULL order by coru.id asc";
+            preparedStatement = connection.prepareStatement(sql);
+            resultSet = preparedStatement.executeQuery();
+            Long id = null, userId = null;
+            String userName = null, email = null, clientName = null, organizationName = null, roomName = null;
+            while(resultSet.next()){
+            	id = resultSet.getLong("id");
+                userId = resultSet.getLong("userId");
+                if(resultSet.wasNull()) {
+                	userId = null;
+                }
+                userName = resultSet.getString("deptManagerName");
+                email = resultSet.getString("deptManagerEmail");
+                clientName = resultSet.getString("clientName");
+                organizationName = resultSet.getString("organizationName");
+                roomName = resultSet.getString("roomName");
+            }
+
+            if(userId != null) {
+                delegateExecution.setVariable("userId", userId);
+                delegateExecution.setVariable("userName", userName);
+                delegateExecution.setVariable("to", email);
+                
+                EmailConfiguration emailConfiguration = (EmailConfiguration) SpringUtil.getBean("emailConfiguration");
+                delegateExecution.setVariable("from", emailConfiguration.getMailServerDefaultFrom());
+                
+                delegateExecution.setVariable("subject", "固定资产管理系统需要您分配营业场所资产管理员,请登录系统完成资产管理员的分配操作。");
+                String content = String.format("尊敬的%s您好,\r\n固定资产管理系统需要您给公司:%s,部门:%s,营业场所:%s,分配资产管理员,请登录系统完成分配操作。", 
+                		userName,
+                		clientName,
+                		organizationName,
+                		roomName);
+                		
+                delegateExecution.setVariable("content", content);
+                
+                delegateExecution.setVariable(UserPreference.APPROVE_TITLE, "分配营业场所资产管理员");
+                delegateExecution.setVariable(UserPreference.APPROVE_CONTENT, content);
+            }
+            
+            if(userId != null) {
+                sql = "update Ass_ClientOrganizationRoomUser set processInstanceId = ? where userId = ?";
+                preparedStatement1 = connection.prepareStatement(sql);
+                preparedStatement1.setString(1, delegateExecution.getProcessDefinitionId());
+                preparedStatement1.setLong(2, userId);
+                int count = preparedStatement1.executeUpdate();
+                if(count < 1) {
+                    throw new ServerException("更新Ass_ClientOrganizationRoomUser(userId = " + userId + ")的processInstanceId属性失败。");
+                }
+            }
+            
+            connection.commit();
+        } catch (SQLException e) {
+            logger.error("", e);
+        }finally{
+            CloseableUtil.close(resultSet, preparedStatement, preparedStatement1, connection);
+        }
+    }
+}

+ 19 - 0
src/main/java/com/leanwo/activiti/dto/BaseObjectResponse.java

@@ -0,0 +1,19 @@
+package com.leanwo.activiti.dto;
+
+/**
+ * HTTP 集合响应基类.
+ *
+ * @author YangZhiJie 2021-09-09
+ */
+public class BaseObjectResponse<T> extends BaseResponse{
+	
+	private T data;
+
+	public T getData() {
+		return data;
+	}
+
+	public void setData(T data) {
+		this.data = data;
+	}
+}

+ 114 - 0
src/main/java/com/leanwo/activiti/dto/BaseRangeResponse.java

@@ -0,0 +1,114 @@
+package com.leanwo.activiti.dto;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 如果输出的是分页集合类型,那么使用BaseRangeResponse<XXXResponse>.
+ *
+ * @author YangZhiJie 2022-04-08
+ * @param <T> the generic type
+ */
+public class BaseRangeResponse<T> extends BaseResponse {
+
+    /** The datas. */
+    private List<T> datas;
+
+    /** 查询开始的行数. */
+    private int start;
+    
+    /** 查询多少条数据. */
+    private int length;
+
+    /** 查询结果的总行数. */
+    private int total;
+    
+    
+
+    /**
+     * Gets the datas.
+     *
+     * @return the datas
+     */
+    public List<T> getDatas() {
+        return datas;
+    }
+
+    /**
+     * Sets the datas.
+     *
+     * @param datas the new datas
+     */
+    public void setDatas(List<T> datas) {
+        this.datas = datas;
+    }
+
+    /**
+     * Adds the data.
+     *
+     * @param t the t
+     */
+    public void addData(T t) {
+        if (datas == null) {
+            datas = new ArrayList<T>();
+        }
+        datas.add(t);
+    }
+
+    /**
+     * Gets the 查询开始的行数.
+     *
+     * @return the 查询开始的行数
+     */
+    public int getStart() {
+        return start;
+    }
+
+    /**
+     * Sets the 查询开始的行数.
+     *
+     * @param start the new 查询开始的行数
+     */
+    public void setStart(int start) {
+        this.start = start;
+    }
+
+    /**
+     * Gets the 查询结果的总行数.
+     *
+     * @return the 查询结果的总行数
+     */
+    public int getTotal() {
+        return total;
+    }
+
+    /**
+     * Sets the 查询结果的总行数.
+     *
+     * @param total the new 查询结果的总行数
+     */
+    public void setTotal(int total) {
+        this.total = total;
+    }
+
+    
+	/**
+	 * Gets the 查询多少条数据.
+	 *
+	 * @return the 查询多少条数据
+	 */
+	public int getLength() {
+		return length;
+	}
+
+	/**
+	 * Sets the 查询多少条数据.
+	 *
+	 * @param length the new 查询多少条数据
+	 */
+	public void setLength(int length) {
+		this.length = length;
+	}
+    
+    
+}

+ 41 - 0
src/main/java/com/leanwo/activiti/dto/BaseResponse.java

@@ -0,0 +1,41 @@
+package com.leanwo.activiti.dto;
+
+/**
+ * 基础响应
+ * @author YangZhiJie
+ *
+ */
+public class BaseResponse {
+	
+	/** 错误代码 */
+	private Integer errorCode;
+
+	/** 错误消息 */
+	private String errorMessage;
+	
+
+    public BaseResponse() {
+        
+    }
+    
+    public BaseResponse(int errorCode, String errorMessage) {
+        this.errorCode = errorCode;
+        this.errorMessage = errorMessage;
+    }
+    
+	public Integer getErrorCode() {
+		return errorCode;
+	}
+
+	public void setErrorCode(Integer errorCode) {
+		this.errorCode = errorCode;
+	}
+
+	public String getErrorMessage() {
+		return errorMessage;
+	}
+
+	public void setErrorMessage(String errorMessage) {
+		this.errorMessage = errorMessage;
+	}
+}

+ 50 - 0
src/main/java/com/leanwo/activiti/dto/ProcessReportResultResponse.java

@@ -0,0 +1,50 @@
+package com.leanwo.activiti.dto;
+
+import java.io.Serializable;
+
+/**
+ * 流程/报表结果 ProcessReportResult
+ * @author Jack
+ *
+ */
+public class ProcessReportResultResponse implements Serializable {
+	
+	/** 流程报表 No*/
+	private String processReportNo;
+	/** 流程报表名称*/
+	private String processReportName;
+	/** 流程 执行结果*/
+	private ProcessResult processResult;
+
+	public String getProcessReportNo() {
+		return processReportNo;
+	}
+
+	public void setProcessReportNo(String processReportNo) {
+		this.processReportNo = processReportNo;
+	}
+
+	/**
+	 * 获取流程执行结果
+	 * @return
+	 */
+	public ProcessResult getProcessResult() {
+		return processResult;
+	}
+	
+	/**
+	 * 设置流程执行结果
+	 * @param processResults
+	 */
+	public void setProcessResult(ProcessResult processResult) {
+		this.processResult = processResult;
+	}
+	public String getProcessReportName() {
+		return processReportName;
+	}
+
+	public void setProcessReportName(String processReportName) {
+		this.processReportName = processReportName;
+	}
+
+}

+ 146 - 0
src/main/java/com/leanwo/activiti/dto/ProcessResult.java

@@ -0,0 +1,146 @@
+package com.leanwo.activiti.dto;
+
+import java.io.Serializable;
+
+import com.leanwo.activiti.dto.base.ModelData;
+
+/**
+ * 流程执行结果.
+ *
+ * @author YangZhiJie
+ */
+public class ProcessResult implements Serializable {
+
+	/** 流程名称. */
+	private String processName;
+
+	/** 是否执行成功. */
+	private Boolean success;
+
+	/**  */
+	/** 流程执行结果(标题,用于流程报表定时执行) */
+	private String title;
+
+	/** 流程执行结果. */
+	private String result;
+
+	/** 数据. */
+	private ModelData modelData;
+
+	/** 是否可以运行报表. */
+	private Boolean canRunReport;
+
+	/**
+	 * Gets the 流程执行结果.
+	 *
+	 * @return the 流程执行结果
+	 */
+	public String getResult() {
+		return result;
+	}
+
+	/**
+	 * Sets the 流程执行结果.
+	 *
+	 * @param result
+	 *            the new 流程执行结果
+	 */
+	public void setResult(String result) {
+		this.result = result;
+	}
+
+	/**
+	 * Gets the 流程名称.
+	 *
+	 * @return the 流程名称
+	 */
+	public String getProcessName() {
+		return processName;
+	}
+
+	/**
+	 * Sets the 流程名称.
+	 *
+	 * @param processName
+	 *            the new 流程名称
+	 */
+	public void setProcessName(String processName) {
+		this.processName = processName;
+	}
+
+	/**
+	 * Gets the 数据.
+	 *
+	 * @return the 数据
+	 */
+	public ModelData getModelData() {
+		return modelData;
+	}
+
+	/**
+	 * Sets the 数据.
+	 *
+	 * @param modelData
+	 *            the new 数据
+	 */
+	public void setModelData(ModelData modelData) {
+		this.modelData = modelData;
+	}
+
+	/**
+	 * 
+	 *
+	 * @return
+	 */
+	public String getTitle() {
+		return title;
+	}
+
+	/**
+	 * 
+	 *
+	 * @param title
+	 */
+	public void setTitle(String title) {
+		this.title = title;
+	}
+
+	/**
+	 * Gets the 是否执行成功.
+	 *
+	 * @return the 是否执行成功
+	 */
+	public Boolean getSuccess() {
+		return success;
+	}
+
+	/**
+	 * Sets the 是否执行成功.
+	 *
+	 * @param success
+	 *            the new 是否执行成功
+	 */
+	public void setSuccess(Boolean success) {
+		this.success = success;
+	}
+
+	/**
+	 * Gets the 是否可以运行报表.
+	 *
+	 * @return the 是否可以运行报表
+	 */
+	public Boolean getCanRunReport() {
+		return canRunReport;
+	}
+
+	/**
+	 * Sets the 是否可以运行报表.
+	 *
+	 * @param canRunReport
+	 *            the new 是否可以运行报表
+	 */
+	public void setCanRunReport(Boolean canRunReport) {
+		this.canRunReport = canRunReport;
+	}
+
+}

+ 30 - 0
src/main/java/com/leanwo/activiti/dto/RangeRequest.java

@@ -0,0 +1,30 @@
+package com.leanwo.activiti.dto;
+
+/**
+ * 分页查询请求
+ * @author YangZhiJie
+ *
+ */
+public class RangeRequest {
+	/** 查询开始的行数 */
+	private int start;
+	
+	/** 查询的长度 */
+	private int length;
+
+	public int getStart() {
+		return start;
+	}
+
+	public void setStart(int start) {
+		this.start = start;
+	}
+
+	public int getLength() {
+		return length;
+	}
+
+	public void setLength(int length) {
+		this.length = length;
+	}
+}

+ 26 - 0
src/main/java/com/leanwo/activiti/dto/RangeResponse.java

@@ -0,0 +1,26 @@
+package com.leanwo.activiti.dto;
+
+public class RangeResponse extends BaseResponse{
+	
+	/** 查询开始的行数 */
+	private int start;
+	
+	/** 查询结果的总行数 */
+	private int total;
+
+	public int getStart() {
+		return start;
+	}
+
+	public void setStart(int start) {
+		this.start = start;
+	}
+
+	public int getTotal() {
+		return total;
+	}
+
+	public void setTotal(int total) {
+		this.total = total;
+	}
+}

+ 6 - 0
src/main/java/com/leanwo/activiti/dto/SortDirection.java

@@ -0,0 +1,6 @@
+package com.leanwo.activiti.dto;
+
+public enum SortDirection {
+	ASC,
+	DESC
+}

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů