[jbpm-commits] JBoss JBPM SVN: r6238 - in jbpm3/branches/jbpm-3.2-soa/modules: core/src/test/resources and 14 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Mar 30 03:26:16 EDT 2010
Author: alex.guizar at jboss.com
Date: 2010-03-30 03:26:14 -0400 (Tue, 30 Mar 2010)
New Revision: 6238
Added:
jbpm3/branches/jbpm-3.2-soa/modules/distribution/src/main/resources/examples/
jbpm3/branches/jbpm-3.2-soa/modules/distribution/src/main/resources/examples/config/
jbpm3/branches/jbpm-3.2-soa/modules/distribution/src/main/resources/examples/config/log4j.xml
jbpm3/branches/jbpm-3.2-soa/modules/distribution/src/main/resources/examples/module/
jbpm3/branches/jbpm-3.2-soa/modules/distribution/src/main/resources/examples/module/pom.xml
jbpm3/branches/jbpm-3.2-soa/modules/distribution/src/main/resources/examples/pom.xml
Modified:
jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/perf/SimplePerformanceTest.java
jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/log4j.xml
jbpm3/branches/jbpm-3.2-soa/modules/distribution/scripts/antrun-installer.xml
jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentHandler.java
jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentTest.java
jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/businesstrip/BusinessTripRequestTest.java
jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/raise/RaiseRequestTest.java
jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/rulesaction/RulesActionTest.java
jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/taskinstance/CustomTaskInstanceTest.java
jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/websale/WebsaleTest.java
jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/resources/log4j.xml
jbpm3/branches/jbpm-3.2-soa/modules/identity/src/main/java/org/jbpm/identity/assignment/ExpressionAssignmentHandler.java
jbpm3/branches/jbpm-3.2-soa/modules/identity/src/main/java/org/jbpm/identity/hibernate/IdentitySessionFactory.java
Log:
SOA-1072: distribute pom files to package and test examples
Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/perf/SimplePerformanceTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/perf/SimplePerformanceTest.java 2010-03-28 00:04:36 UTC (rev 6237)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/perf/SimplePerformanceTest.java 2010-03-30 07:26:14 UTC (rev 6238)
@@ -79,6 +79,7 @@
for (int i = 0; i < count; i++) {
ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate("jbpm2043");
processInstance.signal();
+ newTransaction();
}
}
}
Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/log4j.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/log4j.xml 2010-03-28 00:04:36 UTC (rev 6237)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/resources/log4j.xml 2010-03-30 07:26:14 UTC (rev 6238)
@@ -32,19 +32,32 @@
<!-- Limit categories -->
<!-- ================ -->
+ <category name="org.jbpm">
+ <priority value="DEBUG" />
+ </category>
+
<category name="org.hibernate">
<priority value="INFO" />
</category>
+ <!-- proxy narrowing warnings -->
<category name="org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog">
<priority value="ERROR" />
</category>
- <!--
+ <!-- optimistic locking failures
+ <category name="org.hibernate.event.def.AbstractFlushingEventListener">
+ <priority value="FATAL" />
+ </category>
+ -->
+
+ <!-- SQL DML statements
<category name="org.hibernate.SQL">
<priority value="DEBUG" />
</category>
+ -->
+ <!-- JDBC parameters
<category name="org.hibernate.type">
<priority value="TRACE" />
</category>
Modified: jbpm3/branches/jbpm-3.2-soa/modules/distribution/scripts/antrun-installer.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/distribution/scripts/antrun-installer.xml 2010-03-28 00:04:36 UTC (rev 6237)
+++ jbpm3/branches/jbpm-3.2-soa/modules/distribution/scripts/antrun-installer.xml 2010-03-30 07:26:14 UTC (rev 6238)
@@ -37,26 +37,33 @@
<!-- Configuration -->
<!-- ================================================================== -->
<target name="reorganize-example">
- <basename file="${basedir}" property="example.dir" />
- <echo message="${example.dir}" />
- <!-- copy jpdl resources -->
- <mkdir dir="${project.build.assembly.resources}/jbpm-examples-dist/${example.dir}/src/main/jpdl" />
- <copy todir="${project.build.assembly.resources}/jbpm-examples-dist/${example.dir}/src/main/jpdl">
- <fileset dir="${project.build.assembly.resources}/jbpm-examples-dev/src/test/resources/${example.dir}" />
+ <basename file="${basedir}" property="example.name" />
+ <echo message="${example.name}" />
+ <!-- jpdl resources -->
+ <mkdir dir="${project.build.assembly.resources}/jbpm-examples-dist/${example.name}/src/main/jpdl" />
+ <copy todir="${project.build.assembly.resources}/jbpm-examples-dist/${example.name}/src/main/jpdl">
+ <fileset dir="${project.build.assembly.resources}/jbpm-examples-dev/src/test/resources/${example.name}" />
</copy>
- <!-- copy main java files -->
- <mkdir dir="${project.build.assembly.resources}/jbpm-examples-dist/${example.dir}/src/main/java" />
- <copy todir="${project.build.assembly.resources}/jbpm-examples-dist/${example.dir}/src/main/java">
- <fileset dir="${project.build.assembly.resources}/jbpm-examples-dev/src/test/java"
- includes="org/jbpm/examples/${example.dir}/**"
- excludes="org/jbpm/examples/${example.dir}/*Test.java" />
+ <!-- main sources -->
+ <mkdir dir="${project.build.assembly.resources}/jbpm-examples-dist/${example.name}/src/main/java" />
+ <copy todir="${project.build.assembly.resources}/jbpm-examples-dist/${example.name}/src/main">
+ <fileset dir="${project.build.assembly.resources}/jbpm-examples-dev/src/test"
+ includes="java/org/jbpm/examples/${example.name}/**"
+ excludes="**/*Test.java" />
</copy>
- <!-- copy test java files -->
- <mkdir dir="${project.build.assembly.resources}/jbpm-examples-dist/${example.dir}/src/test/java" />
- <copy todir="${project.build.assembly.resources}/jbpm-examples-dist/${example.dir}/src/test/java">
- <fileset dir="${project.build.assembly.resources}/jbpm-examples-dev/src/test/java"
- includes="org/jbpm/examples/${example.dir}/*Test.java" />
+ <!-- test sources -->
+ <mkdir dir="${project.build.assembly.resources}/jbpm-examples-dist/${example.name}/src/test/java" />
+ <copy todir="${project.build.assembly.resources}/jbpm-examples-dist/${example.name}">
+ <fileset dir="${project.build.assembly.resources}/jbpm-examples-dev"
+ includes="src/test/java/org/jbpm/examples/${example.name}/*Test.java" />
</copy>
+ <!-- project model -->
+ <copy todir="${project.build.assembly.resources}/jbpm-examples-dist/${example.name}"
+ file="${resources.dir}/examples/module/pom.xml">
+ <filterset>
+ <filter token="example.name" value="${example.name}" />
+ </filterset>
+ </copy>
</target>
<target name="configure">
@@ -107,6 +114,9 @@
<dirset dir="${project.build.assembly.resources}/jbpm-examples-dev/src/test/resources"
includes="*" />
</subant>
+ <copy todir="${project.build.assembly.resources}/jbpm-examples-dist">
+ <fileset dir="${resources.dir}/examples" excludes="module/**" />
+ </copy>
</target>
<!-- ================================================================== -->
Added: jbpm3/branches/jbpm-3.2-soa/modules/distribution/src/main/resources/examples/config/log4j.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/distribution/src/main/resources/examples/config/log4j.xml (rev 0)
+++ jbpm3/branches/jbpm-3.2-soa/modules/distribution/src/main/resources/examples/config/log4j.xml 2010-03-30 07:26:14 UTC (rev 6238)
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+ <!-- ================================= -->
+ <!-- Preserve messages in a local file -->
+ <!-- ================================= -->
+
+ <appender name="FILE" class="org.apache.log4j.FileAppender">
+ <param name="File" value="${log4j.output.dir}/test.log" />
+ <param name="Append" value="false" />
+ <layout class="org.apache.log4j.PatternLayout">
+ <!-- The default pattern: Date Priority [Category] Message\n -->
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c] %m%n" />
+ </layout>
+ </appender>
+
+ <!-- ============================== -->
+ <!-- Append messages to the console -->
+ <!-- ============================== -->
+
+ <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+ <param name="Target" value="System.out" />
+ <param name="Threshold" value="INFO" />
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n" />
+ </layout>
+ </appender>
+
+ <!-- ================ -->
+ <!-- Limit categories -->
+ <!-- ================ -->
+
+ <category name="org.jbpm">
+ <priority value="DEBUG" />
+ </category>
+
+ <category name="org.hibernate">
+ <priority value="INFO" />
+ </category>
+
+ <!-- proxy narrowing warnings -->
+ <category name="org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog">
+ <priority value="ERROR" />
+ </category>
+
+ <!-- optimistic locking failures
+ <category name="org.hibernate.event.def.AbstractFlushingEventListener">
+ <priority value="FATAL" />
+ </category>
+ -->
+
+ <!-- SQL DML statements
+ <category name="org.hibernate.SQL">
+ <priority value="DEBUG" />
+ </category>
+ -->
+
+ <!-- JDBC parameters
+ <category name="org.hibernate.type">
+ <priority value="TRACE" />
+ </category>
+ -->
+
+ <!-- ======================= -->
+ <!-- Setup the Root category -->
+ <!-- ======================= -->
+
+ <root>
+ <!--appender-ref ref="CONSOLE"/-->
+ <appender-ref ref="FILE" />
+ </root>
+
+</log4j:configuration>
Property changes on: jbpm3/branches/jbpm-3.2-soa/modules/distribution/src/main/resources/examples/config/log4j.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Added: jbpm3/branches/jbpm-3.2-soa/modules/distribution/src/main/resources/examples/module/pom.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/distribution/src/main/resources/examples/module/pom.xml (rev 0)
+++ jbpm3/branches/jbpm-3.2-soa/modules/distribution/src/main/resources/examples/module/pom.xml 2010-03-30 07:26:14 UTC (rev 6238)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!-- ====================================================================== -->
+<!-- jBPM: Workflow in Java -->
+<!-- -->
+<!-- Distributable under LGPL license. -->
+<!-- See terms of license at http://www.gnu.org. -->
+<!-- ====================================================================== -->
+
+<!-- $Id$ -->
+
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_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>
+ <name>JBoss jBPM3 - Example: @example.name@</name>
+ <groupId>org.jbpm.jbpm3</groupId>
+ <artifactId>jbpm-example- at example.name@</artifactId>
+ <packaging>jar</packaging>
+
+ <parent>
+ <artifactId>jbpm-examples-dist</artifactId>
+ <groupId>org.jbpm.jbpm3</groupId>
+ <version>3.2.9</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>src/main/jpdl</directory>
+ <targetPath>${project.build.outputDirectory}/@example.name@</targetPath>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>../config</directory>
+ </testResource>
+ </testResources>
+ </build>
+</project>
\ No newline at end of file
Property changes on: jbpm3/branches/jbpm-3.2-soa/modules/distribution/src/main/resources/examples/module/pom.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Added: jbpm3/branches/jbpm-3.2-soa/modules/distribution/src/main/resources/examples/pom.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/distribution/src/main/resources/examples/pom.xml (rev 0)
+++ jbpm3/branches/jbpm-3.2-soa/modules/distribution/src/main/resources/examples/pom.xml 2010-03-30 07:26:14 UTC (rev 6238)
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ====================================================================== -->
+<!-- jBPM: Workflow in Java -->
+<!-- -->
+<!-- Distributable under LGPL license. -->
+<!-- See terms of license at http://www.gnu.org. -->
+<!-- ====================================================================== -->
+
+<!-- $Id$ -->
+
+<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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <name>JBoss jBPM3 - Distribution Examples</name>
+ <groupId>org.jbpm.jbpm3</groupId>
+ <artifactId>jbpm-examples-dist</artifactId>
+ <packaging>pom</packaging>
+
+ <!-- Parent -->
+ <parent>
+ <groupId>org.jbpm.jbpm3</groupId>
+ <artifactId>jbpm</artifactId>
+ <version>3.2.9</version>
+ </parent>
+
+ <modules>
+ <module>assignment</module>
+ <module>businesstrip</module>
+ <module>door</module>
+ <module>mail</module>
+ <module>raise</module>
+ <module>rulesaction</module>
+ <module>simple</module>
+ <module>taskinstance</module>
+ <module>websale</module>
+ </modules>
+
+ <!-- Dependencies -->
+ <dependencies>
+ <!-- jBPM Dependencies -->
+ <dependency>
+ <groupId>org.jbpm.jbpm3</groupId>
+ <artifactId>jbpm-identity</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jbpm.jbpm3</groupId>
+ <artifactId>jbpm-jpdl</artifactId>
+ <classifier>config</classifier>
+ <version>${project.version}</version>
+ </dependency>
+
+ <!-- Provided Dependencies -->
+ <dependency>
+ <groupId>javax.mail</groupId>
+ <artifactId>mail</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-compiler</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>dumbster</groupId>
+ <artifactId>dumbster</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <!--
+ Repositories
+ [JBPM-2050] jBPM examples cannot be compiled
+ -->
+ <repositories>
+ <repository>
+ <id>repository.jboss.org</id>
+ <url>http://repository.jboss.org/maven2</url>
+ </repository>
+ </repositories>
+
+</project>
Property changes on: jbpm3/branches/jbpm-3.2-soa/modules/distribution/src/main/resources/examples/pom.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Modified: jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentHandler.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentHandler.java 2010-03-28 00:04:36 UTC (rev 6237)
+++ jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentHandler.java 2010-03-30 07:26:14 UTC (rev 6238)
@@ -30,13 +30,15 @@
private static Log log = LogFactory.getLog(RulesAssignmentHandler.class);
public void assign(Assignable assignable, ExecutionContext executionContext) throws Exception {
- // load up the rulebase
+ // load up the rule base
RuleBase ruleBase = readRule(ruleFile);
WorkingMemory workingMemory = ruleBase.newStatefulSession();
// load identity data
- IdentitySession identitySession = new IdentitySession(executionContext.getJbpmContext()
- .getSession());
+ IdentitySession identitySession = (IdentitySession) executionContext.getJbpmContext()
+ .getServices()
+ .getPersistenceService()
+ .getCustomSession(IdentitySession.class);
// users
for (Iterator iter = identitySession.getUsers().iterator(); iter.hasNext();) {
User user = (User) iter.next();
@@ -77,8 +79,9 @@
*/
private static RuleBase readRule(String ruleFileName) throws Exception {
InputStream resStream = RulesAssignmentHandler.class.getResourceAsStream(ruleFileName);
- if (resStream == null)
+ if (resStream == null) {
throw new IllegalStateException("Cannot obtain rules from: " + ruleFileName);
+ }
PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl(new InputStreamReader(resStream));
Modified: jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentTest.java 2010-03-28 00:04:36 UTC (rev 6237)
+++ jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentTest.java 2010-03-30 07:26:14 UTC (rev 6238)
@@ -38,54 +38,47 @@
*/
public class RulesAssignmentTest extends AbstractDbTestCase {
- private long processDefinitionId;
private Entity[] entities;
protected void setUp() throws Exception {
super.setUp();
- loadIdentities();
deployProcess();
+ loadIdentities();
}
protected void tearDown() throws Exception {
- newTransaction();
- graphSession.deleteProcessDefinition(processDefinitionId);
deleteIdentities();
super.tearDown();
}
- protected String getJbpmTestConfig() {
- return null; // use default configuration
- }
-
void deployProcess() {
ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("assignment/processdefinition.xml");
- jbpmContext.deployProcessDefinition(processDefinition);
- processDefinitionId = processDefinition.getId();
+ deployProcessDefinition(processDefinition);
}
void loadIdentities() {
- IdentitySession identitySession = new IdentitySession(jbpmContext.getSession());
+ IdentitySession identitySession = (IdentitySession) jbpmContext.getServices()
+ .getPersistenceService()
+ .getCustomSession(IdentitySession.class);
entities = IdentityXmlParser.parseEntitiesResource("assignment/identity.db.xml");
for (int i = 0; i < entities.length; i++) {
Entity entity = entities[i];
- if (entity instanceof Membership) continue;
- identitySession.saveEntity(entity);
+ if (!(entity instanceof Membership)) identitySession.saveEntity(entity);
}
}
void deleteIdentities() {
- IdentitySession identitySession = new IdentitySession(jbpmContext.getSession());
+ IdentitySession identitySession = (IdentitySession) jbpmContext.getServices()
+ .getPersistenceService()
+ .getCustomSession(IdentitySession.class);
for (int i = 0; i < entities.length; i++) {
Entity entity = entities[i];
- if (entity instanceof Membership) continue;
- identitySession.deleteEntity(entity);
+ if (!(entity instanceof Membership)) identitySession.deleteEntity(entity);
}
}
public void testRulesAssignment() {
// start process
- newTransaction();
long processInstanceId = createNewProcessInstance();
assertFalse("ProcessInstanceId is 0", processInstanceId == 0);
Modified: jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/businesstrip/BusinessTripRequestTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/businesstrip/BusinessTripRequestTest.java 2010-03-28 00:04:36 UTC (rev 6237)
+++ jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/businesstrip/BusinessTripRequestTest.java 2010-03-30 07:26:14 UTC (rev 6238)
@@ -13,26 +13,14 @@
public class BusinessTripRequestTest extends AbstractDbTestCase {
- private long processDefinitionId;
-
protected void setUp() throws Exception {
super.setUp();
deployProcess();
}
- protected void tearDown() throws Exception {
- graphSession.deleteProcessDefinition(processDefinitionId);
- super.tearDown();
- }
-
- protected String getJbpmTestConfig() {
- return null; // use default configuration
- }
-
void deployProcess() {
ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("businesstrip/processdefinition.xml");
- jbpmContext.deployProcessDefinition(processDefinition);
- processDefinitionId = processDefinition.getId();
+ deployProcessDefinition(processDefinition);
}
TaskInstance createNewProcessInstance() {
Modified: jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/raise/RaiseRequestTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/raise/RaiseRequestTest.java 2010-03-28 00:04:36 UTC (rev 6237)
+++ jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/raise/RaiseRequestTest.java 2010-03-30 07:26:14 UTC (rev 6238)
@@ -13,26 +13,14 @@
public class RaiseRequestTest extends AbstractDbTestCase {
- private long processDefinitionId;
-
protected void setUp() throws Exception {
super.setUp();
deployProcess();
}
- protected void tearDown() throws Exception {
- graphSession.deleteProcessDefinition(processDefinitionId);
- super.tearDown();
- }
-
- protected String getJbpmTestConfig() {
- return null; // use default configuration
- }
-
void deployProcess() {
ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("raise/processdefinition.xml");
- jbpmContext.deployProcessDefinition(processDefinition);
- processDefinitionId = processDefinition.getId();
+ deployProcessDefinition(processDefinition);
}
TaskInstance createNewProcessInstance() {
@@ -61,7 +49,7 @@
newTransaction();
ProcessInstance processInstance = jbpmContext.loadProcessInstance(taskInstance.getProcessInstance()
- .getId());
+ .getId());
ContextInstance contextInstance = processInstance.getContextInstance();
assertEquals("I need to buy a jet", contextInstance.getVariable("reason"));
assertEquals("600", contextInstance.getVariable("amount"));
Modified: jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/rulesaction/RulesActionTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/rulesaction/RulesActionTest.java 2010-03-28 00:04:36 UTC (rev 6237)
+++ jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/rulesaction/RulesActionTest.java 2010-03-30 07:26:14 UTC (rev 6238)
@@ -31,32 +31,18 @@
*/
public class RulesActionTest extends AbstractDbTestCase {
- private long processDefinitionId;
-
protected void setUp() throws Exception {
super.setUp();
deployProcess();
}
- protected void tearDown() throws Exception {
- newTransaction();
- graphSession.deleteProcessDefinition(processDefinitionId);
- super.tearDown();
- }
-
- protected String getJbpmTestConfig() {
- return null; // use default configuration
- }
-
void deployProcess() {
ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("rulesaction/processdefinition.xml");
- jbpmContext.deployProcessDefinition(processDefinition);
- processDefinitionId = processDefinition.getId();
+ deployProcessDefinition(processDefinition);
}
public void testRulesAssignment() {
// start process
- newTransaction();
long processInstanceId = createNewProcessInstance();
assertFalse("ProcessInstanceId is 0", processInstanceId == 0);
Modified: jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/taskinstance/CustomTaskInstanceTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/taskinstance/CustomTaskInstanceTest.java 2010-03-28 00:04:36 UTC (rev 6237)
+++ jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/taskinstance/CustomTaskInstanceTest.java 2010-03-30 07:26:14 UTC (rev 6238)
@@ -37,19 +37,17 @@
import org.jbpm.taskmgmt.exe.TaskInstance;
/**
- * This example shows how to extend the TaskInstance by adding a custom property.
+ * This example shows how to extend the TaskInstance by adding a custom
+ * property.
*/
public class CustomTaskInstanceTest extends AbstractDbTestCase {
- private long processDefinitionId;
-
protected void setUp() throws Exception {
super.setUp();
deployProcess();
}
protected void tearDown() throws Exception {
- graphSession.deleteProcessDefinition(processDefinitionId);
super.tearDown();
jbpmConfiguration.close();
}
@@ -59,8 +57,7 @@
// the jbpm.cfg.xml file is modified to add the CustomTaskInstanceFactory
// so we will read in the file from the config directory of this example
jbpmConfiguration = JbpmConfiguration.parseResource("taskinstance/jbpm.cfg.xml");
- DbPersistenceServiceFactory factory = (DbPersistenceServiceFactory) jbpmConfiguration
- .getServiceFactory(Services.SERVICENAME_PERSISTENCE);
+ DbPersistenceServiceFactory factory = (DbPersistenceServiceFactory) jbpmConfiguration.getServiceFactory(Services.SERVICENAME_PERSISTENCE);
Configuration configuration = factory.getConfiguration();
configuration.addResource("taskinstance/CustomTaskInstance.hbm.xml");
@@ -72,10 +69,8 @@
}
void deployProcess() {
- ProcessDefinition processDefinition = ProcessDefinition
- .parseXmlResource("taskinstance/processdefinition.xml");
- jbpmContext.deployProcessDefinition(processDefinition);
- processDefinitionId = processDefinition.getId();
+ ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("taskinstance/processdefinition.xml");
+ deployProcessDefinition(processDefinition);
}
public void testCustomTaskInstance() {
@@ -104,8 +99,7 @@
long createNewProcessInstance() {
String processDefinitionName = "CustomTaskInstance";
- ProcessInstance processInstance = jbpmContext
- .newProcessInstanceForUpdate(processDefinitionName);
+ ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate(processDefinitionName);
ContextInstance contextInstance = processInstance.getContextInstance();
contextInstance.setVariable("processDefinitionName", processDefinitionName);
@@ -130,23 +124,21 @@
}
void completeTask(long taskInstanceId) {
- CustomTaskInstance taskInstance = (CustomTaskInstance) jbpmContext
- .getSession()
- .load(CustomTaskInstance.class, new Long(taskInstanceId));
+ CustomTaskInstance taskInstance = (CustomTaskInstance) jbpmContext.getSession()
+ .load(CustomTaskInstance.class, new Long(taskInstanceId));
taskInstance.end();
}
List findPooledTaskListByCustomId(String actorId, String customId) {
- return jbpmContext
- .getSession()
- .createCriteria(CustomTaskInstance.class)
- .add(Restrictions.isNull("actorId"))
- .add(Restrictions.isNull("end"))
- .add(Restrictions.eq("isCancelled", Boolean.FALSE))
- .add(Restrictions.eq("customId", customId))
- .createCriteria("pooledActors")
- .add(Restrictions.eq("actorId", actorId))
- .list();
+ return jbpmContext.getSession()
+ .createCriteria(CustomTaskInstance.class)
+ .add(Restrictions.isNull("actorId"))
+ .add(Restrictions.isNull("end"))
+ .add(Restrictions.eq("isCancelled", Boolean.FALSE))
+ .add(Restrictions.eq("customId", customId))
+ .createCriteria("pooledActors")
+ .add(Restrictions.eq("actorId", actorId))
+ .list();
}
}
Modified: jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/websale/WebsaleTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/websale/WebsaleTest.java 2010-03-28 00:04:36 UTC (rev 6237)
+++ jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/java/org/jbpm/examples/websale/WebsaleTest.java 2010-03-30 07:26:14 UTC (rev 6238)
@@ -34,27 +34,14 @@
public class WebsaleTest extends AbstractDbTestCase {
- private long processDefinitionId;
-
protected void setUp() throws Exception {
super.setUp();
deployProcess();
}
- protected void tearDown() throws Exception {
- newTransaction();
- graphSession.deleteProcessDefinition(processDefinitionId);
- super.tearDown();
- }
-
- protected String getJbpmTestConfig() {
- return null; // use default configuration
- }
-
void deployProcess() {
- ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("websale/jpdl/processdefinition.xml");
- jbpmContext.deployProcessDefinition(processDefinition);
- processDefinitionId = processDefinition.getId();
+ ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("websale/processdefinition.xml");
+ deployProcessDefinition(processDefinition);
}
TaskInstance createNewProcessInstance() {
@@ -83,7 +70,7 @@
newTransaction();
ProcessInstance processInstance = jbpmContext.loadProcessInstance(taskInstance.getProcessInstance()
- .getId());
+ .getId());
ContextInstance contextInstance = processInstance.getContextInstance();
assertEquals("cookies", contextInstance.getVariable("item"));
assertEquals("lots of them", contextInstance.getVariable("quantity"));
@@ -119,7 +106,8 @@
taskInstance.end();
newTransaction();
- TaskInstance evaluateTaskInstance = (TaskInstance) jbpmContext.getTaskList("manager").get(0);
+ TaskInstance evaluateTaskInstance = (TaskInstance) jbpmContext.getTaskList("manager")
+ .get(0);
evaluateTaskInstance.end("OK");
newTransaction();
@@ -145,7 +133,7 @@
newTransaction();
ProcessInstance processInstance = jbpmContext.getGraphSession()
- .loadProcessInstance(evaluateTaskInstance.getProcessInstance().getId());
+ .loadProcessInstance(evaluateTaskInstance.getProcessInstance().getId());
ContextInstance contextInstance = processInstance.getContextInstance();
// so the cookies should still be in the item process variable.
assertEquals("cookies", contextInstance.getVariable("item"));
@@ -177,7 +165,8 @@
taskInstance.end();
newTransaction();
- TaskInstance evaluateTaskInstance = (TaskInstance) jbpmContext.getTaskList("manager").get(0);
+ TaskInstance evaluateTaskInstance = (TaskInstance) jbpmContext.getTaskList("manager")
+ .get(0);
evaluateTaskInstance.end("More info needed");
jbpmContext.save(evaluateTaskInstance);
Modified: jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/resources/log4j.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/resources/log4j.xml 2010-03-28 00:04:36 UTC (rev 6237)
+++ jbpm3/branches/jbpm-3.2-soa/modules/examples/src/test/resources/log4j.xml 2010-03-30 07:26:14 UTC (rev 6238)
@@ -8,14 +8,14 @@
<!-- ================================= -->
<appender name="FILE" class="org.apache.log4j.FileAppender">
- <param name="File" value="${log4j.output.dir}/test.log"/>
- <param name="Append" value="false"/>
+ <param name="File" value="${log4j.output.dir}/test.log" />
+ <param name="Append" value="false" />
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n -->
- <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c] %m%n" />
</layout>
</appender>
-
+
<!-- ============================== -->
<!-- Append messages to the console -->
<!-- ============================== -->
@@ -24,7 +24,7 @@
<param name="Target" value="System.out" />
<param name="Threshold" value="INFO" />
<layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{1}] %m%n" />
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n" />
</layout>
</appender>
@@ -40,23 +40,24 @@
<priority value="INFO" />
</category>
- <!-- hide optimistic locking failures
+ <!-- proxy narrowing warnings -->
+ <category name="org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog">
+ <priority value="ERROR" />
+ </category>
+
+ <!-- optimistic locking failures
<category name="org.hibernate.event.def.AbstractFlushingEventListener">
<priority value="FATAL" />
</category>
-->
- <!-- hide proxy narrowing warns -->
- <category name="org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog">
- <priority value="ERROR" />
- </category>
-
- <!-- show SQL DML statements as they are executed -->
+ <!-- SQL DML statements
<category name="org.hibernate.SQL">
<priority value="DEBUG" />
</category>
+ -->
- <!-- show JDBC parameters
+ <!-- JDBC parameters
<category name="org.hibernate.type">
<priority value="TRACE" />
</category>
@@ -68,7 +69,7 @@
<root>
<!--appender-ref ref="CONSOLE"/-->
- <appender-ref ref="FILE"/>
+ <appender-ref ref="FILE" />
</root>
</log4j:configuration>
Modified: jbpm3/branches/jbpm-3.2-soa/modules/identity/src/main/java/org/jbpm/identity/assignment/ExpressionAssignmentHandler.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/identity/src/main/java/org/jbpm/identity/assignment/ExpressionAssignmentHandler.java 2010-03-28 00:04:36 UTC (rev 6237)
+++ jbpm3/branches/jbpm-3.2-soa/modules/identity/src/main/java/org/jbpm/identity/assignment/ExpressionAssignmentHandler.java 2010-03-30 07:26:14 UTC (rev 6238)
@@ -38,10 +38,11 @@
import org.jbpm.taskmgmt.exe.SwimlaneInstance;
/**
- * implements an expression language for assigning actors to tasks based
- * on this identity component.
+ * implements an expression language for assigning actors to tasks based on this
+ * identity component.
*
- * <pre>syntax : first-term --> next-term --> next-term --> ... --> next-term
+ * <pre>
+ * syntax : first-term --> next-term --> next-term --> ... --> next-term
*
* first-term ::= previous |
* swimlane(swimlane-name) |
@@ -51,140 +52,128 @@
*
* next-term ::= group(group-type) |
* member(role-name)
- * </pre>
+ * </pre>
*/
public class ExpressionAssignmentHandler implements AssignmentHandler {
private static final long serialVersionUID = 1L;
-
+
protected String expression;
- protected ExecutionContext executionContext = null;
- protected ExpressionSession expressionSession = null;
+ protected ExecutionContext executionContext;
+ protected ExpressionSession expressionSession;
protected TermTokenizer tokenizer;
- protected Entity entity = null;
+ protected Entity entity;
public void assign(Assignable assignable, ExecutionContext executionContext) {
-
- try {
- expressionSession = getExpressionSession();
- if (expressionSession==null) {
- throw new NullPointerException("getIdentitySession returned null");
- }
- this.tokenizer = new TermTokenizer(expression);
- this.executionContext = executionContext;
- entity = resolveFirstTerm(tokenizer.nextTerm());
- while( tokenizer.hasMoreTerms()
- && (entity!=null) ) {
- entity = resolveNextTerm(tokenizer.nextTerm());
- }
- // if the expression did not resolve to an actor
- if (entity==null) {
- // throw an exception
- throw new RuntimeException("couldn't resolve assignment expression '"+expression+"'");
-
- // else if the expression evaluated to a user
- } else if (entity instanceof User) {
- // do direct assignment
- assignable.setActorId(entity.getName());
-
- // else if the expression evaluated to a group
- } else if (entity instanceof Group) {
- // put the group in the pool
- assignable.setPooledActors(new String []{entity.getName()});
- }
-
- } catch (RuntimeException e) {
- throw new ExpressionAssignmentException("couldn't resolve assignment expression '"+expression+"'", e);
+ expressionSession = getExpressionSession();
+ if (expressionSession == null) {
+ throw new ExpressionAssignmentException("no expression session");
}
+ this.tokenizer = new TermTokenizer(expression);
+ this.executionContext = executionContext;
+ entity = resolveFirstTerm(tokenizer.nextTerm());
+ while (tokenizer.hasMoreTerms() && entity != null) {
+ entity = resolveNextTerm(tokenizer.nextTerm());
+ }
+ // if the expression did not resolve to an actor
+ if (entity == null) {
+ // complain!
+ throw new ExpressionAssignmentException("could not resolve assignment expression: "
+ + expression);
+ }
+ // else if the expression evaluated to a user
+ else if (entity instanceof User) {
+ // do direct assignment
+ assignable.setActorId(entity.getName());
+ }
+ // else if the expression evaluated to a group
+ else if (entity instanceof Group) {
+ // put the group in the pool
+ assignable.setPooledActors(new String[] { entity.getName() });
+ }
}
/**
* serves as a hook for customizing the way the identity session is retrieved.
- * overload this method to reuse this expression assignment handler for your
+ * overload this method to reuse this expression assignment handler for your
* user data store.
*/
protected ExpressionSession getExpressionSession() {
JbpmContext jbpmContext = JbpmContext.getCurrentJbpmContext();
- if (jbpmContext==null) {
- throw new RuntimeException("no active JbpmContext for resolving assignment expression'"+expression+"'");
+ if (jbpmContext == null) {
+ throw new ExpressionAssignmentException("no current jbpm context");
}
- return new IdentitySession(jbpmContext.getSession());
+ return (IdentitySession) jbpmContext.getServices()
+ .getPersistenceService()
+ .getCustomSession(IdentitySession.class);
}
protected Entity resolveFirstTerm(String term) {
- Entity entity = null;
-
- log.debug("resolving first term '"+term+"'");
-
+ Entity entity;
+ log.debug("resolving first term: '" + term);
+
if (term.equalsIgnoreCase("previous")) {
- String userName = SecurityHelper.getAuthenticatedActorId();
- entity = getUserByName(userName);
-
- } else if ( (term.startsWith("swimlane("))
- && (term.endsWith(")")) ) {
- String swimlaneName = term.substring(9,term.length()-1).trim();
+ String userName = SecurityHelper.getAuthenticatedActorId();
+ entity = getUserByName(userName);
+ }
+ else if (term.startsWith("swimlane(") && term.endsWith(")")) {
+ String swimlaneName = term.substring(9, term.length() - 1).trim();
String userName = getSwimlaneActorId(swimlaneName);
entity = getUserByName(userName);
-
- } else if ( (term.startsWith("variable("))
- && (term.endsWith(")")) ) {
- String variableName = term.substring(9,term.length()-1).trim();
+ }
+ else if (term.startsWith("variable(") && term.endsWith(")")) {
+ String variableName = term.substring(9, term.length() - 1).trim();
Object value = getVariable(variableName);
-
- if (value==null) {
- throw new ExpressionAssignmentException("variable '"+variableName+"' is null");
-
- } else if (value instanceof String) {
+
+ if (value instanceof String) {
entity = getUserByName((String) value);
-
- } else if (value instanceof Entity) {
+ }
+ else if (value instanceof Entity) {
entity = (Entity) value;
}
-
- } else if ( (term.startsWith("user("))
- && (term.endsWith(")")) ) {
- String userName = term.substring(5,term.length()-1).trim();
+ else {
+ throw new ExpressionAssignmentException(value + " is neither user name nor entity");
+ }
+ }
+ else if (term.startsWith("user(") && term.endsWith(")")) {
+ String userName = term.substring(5, term.length() - 1).trim();
entity = getUserByName(userName);
-
- } else if ( (term.startsWith("group("))
- && (term.endsWith(")")) ) {
- String groupName = term.substring(6,term.length()-1).trim();
+ }
+ else if (term.startsWith("group(") && term.endsWith(")")) {
+ String groupName = term.substring(6, term.length() - 1).trim();
entity = getGroupByName(groupName);
-
- } else {
- throw new ExpressionAssignmentException("couldn't interpret first term in expression '"+expression+"'");
}
+ else {
+ throw new ExpressionAssignmentException("could not interpret first term: " + term);
+ }
return entity;
}
protected Entity resolveNextTerm(String term) {
+ log.debug("resolving term: " + term);
- log.debug("resolving next term '"+term+"'");
-
- if ( (term.startsWith("group("))
- && (term.endsWith(")")) ) {
- String groupType = term.substring(6,term.length()-1).trim();
+ if (term.startsWith("group(") && term.endsWith(")")) {
+ String groupType = term.substring(6, term.length() - 1).trim();
User user = (User) entity;
Set groups = user.getGroupsForGroupType(groupType);
- if (groups.size()==0) {
- throw new ExpressionAssignmentException("no groups for group-type '"+groupType+"'");
+ if (groups.isEmpty()) {
+ throw new ExpressionAssignmentException("no groups for type: " + groupType);
}
entity = (Entity) groups.iterator().next();
-
- } else if ( (term.startsWith("member("))
- && (term.endsWith(")")) ) {
- String role = term.substring(7,term.length()-1).trim();
+ }
+ else if (term.startsWith("member(") && term.endsWith(")")) {
+ String role = term.substring(7, term.length() - 1).trim();
Group group = (Group) entity;
entity = expressionSession.getUserByGroupAndRole(group.getName(), role);
- if (entity==null) {
- throw new ExpressionAssignmentException("no users in role '"+role+"'");
+ if (entity == null) {
+ throw new ExpressionAssignmentException("no users in role: " + role);
}
-
- } else {
- throw new ExpressionAssignmentException("couldn't interpret term '"+term+"' in expression '"+expression+"'");
}
-
+ else {
+ throw new ExpressionAssignmentException("could not interpret term: " + term);
+ }
+
return entity;
}
@@ -194,32 +183,29 @@
}
protected Entity getGroupByName(String groupName) {
- Group group = null;
- group = expressionSession.getGroupByName(groupName);
- if (group==null) {
- throw new ExpressionAssignmentException("group '"+groupName+"' couldn't be fetched from the user db");
+ Group group = expressionSession.getGroupByName(groupName);
+ if (group == null) {
+ throw new ExpressionAssignmentException("no such group: " + groupName);
}
return group;
}
protected Entity getUserByName(String userName) {
- User user = null;
- user = expressionSession.getUserByName(userName);
- if (user==null) {
- throw new ExpressionAssignmentException("user '"+userName+"' couldn't be fetched from the user db");
+ User user = expressionSession.getUserByName(userName);
+ if (user == null) {
+ throw new ExpressionAssignmentException("no such user: " + user);
}
return user;
}
protected String getSwimlaneActorId(String swimlaneName) {
- SwimlaneInstance swimlaneInstance = executionContext
- .getTaskMgmtInstance()
- .getSwimlaneInstance(swimlaneName);
- if (swimlaneInstance==null) {
- throw new ExpressionAssignmentException("no swimlane instance '"+swimlaneName+"'");
+ SwimlaneInstance swimlaneInstance = executionContext.getTaskMgmtInstance()
+ .getSwimlaneInstance(swimlaneName);
+ if (swimlaneInstance == null) {
+ throw new ExpressionAssignmentException("no such swimlane: " + swimlaneName);
}
return swimlaneInstance.getActorId();
}
-
+
private static final Log log = LogFactory.getLog(ExpressionAssignmentHandler.class);
}
Modified: jbpm3/branches/jbpm-3.2-soa/modules/identity/src/main/java/org/jbpm/identity/hibernate/IdentitySessionFactory.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/identity/src/main/java/org/jbpm/identity/hibernate/IdentitySessionFactory.java 2010-03-28 00:04:36 UTC (rev 6237)
+++ jbpm3/branches/jbpm-3.2-soa/modules/identity/src/main/java/org/jbpm/identity/hibernate/IdentitySessionFactory.java 2010-03-30 07:26:14 UTC (rev 6238)
@@ -21,17 +21,21 @@
*/
package org.jbpm.identity.hibernate;
-import java.sql.*;
+import java.sql.Connection;
-import org.apache.commons.logging.*;
-import org.hibernate.*;
-import org.hibernate.cfg.*;
-import org.jbpm.identity.*;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.hibernate.SessionFactory;
+import org.hibernate.cfg.Configuration;
+import org.jbpm.identity.Group;
+import org.jbpm.identity.Membership;
+import org.jbpm.identity.User;
+
public class IdentitySessionFactory {
- protected Configuration configuration = null;
- protected SessionFactory sessionFactory = null;
+ protected Configuration configuration;
+ protected SessionFactory sessionFactory;
public IdentitySessionFactory() {
this(createConfiguration());
More information about the jbpm-commits
mailing list