JBoss JBPM SVN: r2274 - jbpm3/trunk/modules/distribution/src/main/resources/installer.
by do-not-reply@jboss.org
Author: koen.aers(a)jboss.com
Date: 2008-09-17 10:10:01 -0400 (Wed, 17 Sep 2008)
New Revision: 2274
Modified:
jbpm3/trunk/modules/distribution/src/main/resources/installer/install-definition.xml
Log:
JBPM-1420: fix the location of version.info.xml and include the simple example in the distribution
Modified: jbpm3/trunk/modules/distribution/src/main/resources/installer/install-definition.xml
===================================================================
--- jbpm3/trunk/modules/distribution/src/main/resources/installer/install-definition.xml 2008-09-17 14:08:59 UTC (rev 2273)
+++ jbpm3/trunk/modules/distribution/src/main/resources/installer/install-definition.xml 2008-09-17 14:10:01 UTC (rev 2274)
@@ -106,6 +106,9 @@
<fileset dir="@{deploy.artifacts.dir}/lib" targetdir="$INSTALL_PATH/jbpm3/designer" override="true">
<include name="jbpm-jpdl-designer.zip" />
</fileset>
+ <file src="@{deploy.artifacts.dir}/etc/version.info.xml" targetdir="$INSTALL_PATH/jbpm3/src/resources/gpd"
+ override="true" />
+ <fileset dir="@{deploy.artifacts.dir}/examples" targetdir="$INSTALL_PATH/jbpm3/examples" override="true"/>
<!-- jbpm3/lib -->
<fileset dir="@{deploy.artifacts.dir}/lib" targetdir="$INSTALL_PATH/jbpm3/lib" override="true">
17 years, 7 months
JBoss JBPM SVN: r2273 - jbpm3/trunk/modules/distribution.
by do-not-reply@jboss.org
Author: koen.aers(a)jboss.com
Date: 2008-09-17 10:08:59 -0400 (Wed, 17 Sep 2008)
New Revision: 2273
Modified:
jbpm3/trunk/modules/distribution/pom.xml
Log:
JBPM-1420: add the dependency on the jbpm-examples module
Modified: jbpm3/trunk/modules/distribution/pom.xml
===================================================================
--- jbpm3/trunk/modules/distribution/pom.xml 2008-09-17 14:07:43 UTC (rev 2272)
+++ jbpm3/trunk/modules/distribution/pom.xml 2008-09-17 14:08:59 UTC (rev 2273)
@@ -70,6 +70,12 @@
</dependency>
<dependency>
<groupId>org.jbpm.jbpm3</groupId>
+ <artifactId>jbpm-examples</artifactId>
+ <classifier>examples</classifier>
+ <version>${version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jbpm.jbpm3</groupId>
<artifactId>jbpm-identity</artifactId>
<classifier>service</classifier>
<version>${version}</version>
17 years, 7 months
JBoss JBPM SVN: r2272 - jbpm3/trunk/modules/distribution/scripts.
by do-not-reply@jboss.org
Author: koen.aers(a)jboss.com
Date: 2008-09-17 10:07:43 -0400 (Wed, 17 Sep 2008)
New Revision: 2272
Modified:
jbpm3/trunk/modules/distribution/scripts/assembly-deploy-artifacts.xml
Log:
JBPM-1420: include the simple example file in the deploy artifacts directory
Modified: jbpm3/trunk/modules/distribution/scripts/assembly-deploy-artifacts.xml
===================================================================
--- jbpm3/trunk/modules/distribution/scripts/assembly-deploy-artifacts.xml 2008-09-17 14:06:05 UTC (rev 2271)
+++ jbpm3/trunk/modules/distribution/scripts/assembly-deploy-artifacts.xml 2008-09-17 14:07:43 UTC (rev 2272)
@@ -51,6 +51,16 @@
<unpack>true</unpack>
</dependencySet>
+ <!-- examples -->
+ <dependencySet>
+ <outputDirectory>examples</outputDirectory>
+ <useStrictFiltering>true</useStrictFiltering>
+ <includes>
+ <include>*:jbpm-examples:jar:examples</include>
+ </includes>
+ <unpack>true</unpack>
+ </dependencySet>
+
<!-- src -->
<dependencySet>
<outputDirectory>src</outputDirectory>
17 years, 7 months
JBoss JBPM SVN: r2271 - jbpm3/trunk/modules/examples.
by do-not-reply@jboss.org
Author: koen.aers(a)jboss.com
Date: 2008-09-17 10:06:05 -0400 (Wed, 17 Sep 2008)
New Revision: 2271
Modified:
jbpm3/trunk/modules/examples/pom.xml
Log:
JBPM-1420: create an jar file containing the simple example
Modified: jbpm3/trunk/modules/examples/pom.xml
===================================================================
--- jbpm3/trunk/modules/examples/pom.xml 2008-09-17 14:05:38 UTC (rev 2270)
+++ jbpm3/trunk/modules/examples/pom.xml 2008-09-17 14:06:05 UTC (rev 2271)
@@ -69,6 +69,24 @@
<build>
<plugins>
<plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <finalName>${project.build.finalName}</finalName>
+ <appendAssemblyId>true</appendAssemblyId>
+ <descriptors>
+ <descriptor>scripts/assembly-examples.xml</descriptor>
+ </descriptors>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<!-- [JBPM-1290] Integrate example tests in automated testrun -->
17 years, 7 months
JBoss JBPM SVN: r2270 - in jbpm3/trunk/modules/examples: scripts and 1 other directory.
by do-not-reply@jboss.org
Author: koen.aers(a)jboss.com
Date: 2008-09-17 10:05:38 -0400 (Wed, 17 Sep 2008)
New Revision: 2270
Added:
jbpm3/trunk/modules/examples/scripts/
jbpm3/trunk/modules/examples/scripts/assembly-examples.xml
Log:
JBPM-1420: create an jar file containing the simple example
Added: jbpm3/trunk/modules/examples/scripts/assembly-examples.xml
===================================================================
--- jbpm3/trunk/modules/examples/scripts/assembly-examples.xml (rev 0)
+++ jbpm3/trunk/modules/examples/scripts/assembly-examples.xml 2008-09-17 14:05:38 UTC (rev 2270)
@@ -0,0 +1,19 @@
+<assembly 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/assembly-1.1.0-SNAPSHOT.xsd">
+ <id>examples</id>
+ <formats>
+ <format>jar</format>
+ </formats>
+ <includeBaseDirectory>false</includeBaseDirectory>
+ <fileSets>
+ <fileSet>
+ <directory>src/test/resources/simple</directory>
+ <outputDirectory>/simple/src/main/jpdl</outputDirectory>
+ <includes>
+ <include>gpd.xml</include>
+ <include>processdefinition.xml</include>
+ <include>processimage.jpg</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+</assembly>
\ No newline at end of file
17 years, 7 months
JBoss JBPM SVN: r2269 - in projects/jbpm-spec/trunk/modules/ri: src/main/java/org/jboss/bpm/ri/client and 5 other directories.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-09-17 09:23:25 -0400 (Wed, 17 Sep 2008)
New Revision: 2269
Added:
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/HibernatePersistenceService.java
projects/jbpm-spec/trunk/modules/ri/src/main/resources/hibernate.cfg.mysql.xml
projects/jbpm-spec/trunk/modules/ri/src/test/java/org/jboss/bpm/client/
projects/jbpm-spec/trunk/modules/ri/src/test/java/org/jboss/bpm/client/PersistenceServiceTest.java
Modified:
projects/jbpm-spec/trunk/modules/ri/pom.xml
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ExecutionManagerImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ProcessManagerImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/AbstractElementImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ProcessImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/StartEventImpl.java
projects/jbpm-spec/trunk/modules/ri/src/test/resources/jbpm-beans.xml
Log:
Persistence simple save,load,delete
Modified: projects/jbpm-spec/trunk/modules/ri/pom.xml
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/pom.xml 2008-09-17 08:08:02 UTC (rev 2268)
+++ projects/jbpm-spec/trunk/modules/ri/pom.xml 2008-09-17 13:23:25 UTC (rev 2269)
@@ -1,17 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- ====================================================================== -->
-<!-- -->
-<!-- JBoss, the OpenSource J2EE webOS -->
-<!-- -->
-<!-- Distributable under LGPL license. -->
-<!-- See terms of license at http://www.gnu.org. -->
-<!-- -->
-<!-- ====================================================================== -->
+ <!-- ====================================================================== -->
+ <!-- -->
+ <!-- JBoss, the OpenSource J2EE webOS -->
+ <!-- -->
+ <!-- Distributable under LGPL license. -->
+ <!-- See terms of license at http://www.gnu.org. -->
+ <!-- -->
+ <!-- ====================================================================== -->
-<!-- $Id$
+ <!-- $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">
+<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>jBPM Spec - RI</name>
<groupId>org.jbpm.spec</groupId>
@@ -26,6 +27,48 @@
<relativePath>../../pom.xml</relativePath>
</parent>
+ <!-- Properties -->
+ <properties>
+ <hibernate.version>3.2.6.ga</hibernate.version>
+ <hibernate.annotations.version>3.3.1.GA</hibernate.annotations.version>
+ <hibernate.validator.version>3.0.0.ga</hibernate.validator.version>
+ <hsqldb.version>1.8.0.7</hsqldb.version>
+ <mysql.connector.version>5.1.6</mysql.connector.version>
+ </properties>
+
+ <!-- DependencyManagement -->
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <version>${hsqldb.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ <version>${hibernate.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-annotations</artifactId>
+ <version>${hibernate.annotations.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-validator</artifactId>
+ <version>${hibernate.validator.version}</version>
+ </dependency>
+
+ <!-- Database Driver Versions -->
+ <dependency>
+ <groupId>mysql</groupId>
+ <artifactId>mysql-connector-java</artifactId>
+ <version>${mysql.connector.version}</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
<!-- Dependencies -->
<dependencies>
<dependency>
@@ -38,5 +81,87 @@
<groupId>org.mvel</groupId>
<artifactId>mvel</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-annotations</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-validator</artifactId>
+ </dependency>
</dependencies>
+
+ <!-- Profiles -->
+ <profiles>
+
+ <!--
+ Name: no-database
+ Descr: Setup the default database
+ -->
+ <profile>
+ <id>no-database</id>
+ <activation>
+ <property>
+ <name>!database</name>
+ </property>
+ </activation>
+ <properties>
+ <database>hsqldb</database>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ </profile>
+
+ <!--
+ Name: hsqldb
+ Descr: Hypersonic Database Setup
+ -->
+ <profile>
+ <id>hsqldb</id>
+ <activation>
+ <property>
+ <name>database</name>
+ <value>hsqldb</value>
+ </property>
+ </activation>
+ <dependencies>
+ <dependency>
+ <groupId>hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ </profile>
+
+ <!--
+ Name: mysql
+ Descr: MySQL Database Setup
+ -->
+ <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>
+
+ </profiles>
</project>
\ No newline at end of file
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ExecutionManagerImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ExecutionManagerImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ExecutionManagerImpl.java 2008-09-17 13:23:25 UTC (rev 2269)
@@ -24,6 +24,7 @@
// $Id$
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import javax.management.ObjectName;
@@ -258,7 +259,12 @@
private StartEvent getNoneStartEvent(Process proc)
{
StartEvent start = null;
- for (StartEvent aux : proc.getFlowObjects(StartEvent.class))
+
+ List<StartEvent> startEvents = proc.getFlowObjects(StartEvent.class);
+ if (startEvents.size() == 0)
+ throw new InvalidProcessException("Process does not have a start event");
+
+ for (StartEvent aux : startEvents)
{
if (aux.getTrigger().size() == 0)
{
Added: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/HibernatePersistenceService.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/HibernatePersistenceService.java (rev 0)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/HibernatePersistenceService.java 2008-09-17 13:23:25 UTC (rev 2269)
@@ -0,0 +1,124 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.ri.client;
+
+// $Id$
+
+import javax.management.ObjectName;
+
+import org.hibernate.Hibernate;
+import org.hibernate.ObjectNotFoundException;
+import org.hibernate.SessionFactory;
+import org.hibernate.Transaction;
+import org.hibernate.cfg.AnnotationConfiguration;
+import org.hibernate.classic.Session;
+import org.jboss.bpm.ProcessNotFoundException;
+import org.jboss.bpm.client.PersistenceService;
+import org.jboss.bpm.model.Process;
+import org.jboss.bpm.ri.model.impl.AbstractElementImpl;
+import org.jboss.bpm.ri.model.impl.ProcessImpl;
+import org.jboss.bpm.ri.model.impl.SupportingElementImpl;
+
+/**
+ * A Hibernate based persistence service for a process.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 17-Sep-2008
+ */
+public class HibernatePersistenceService implements PersistenceService
+{
+ private String hibernateConfig;
+ private SessionFactory sessionFactory;
+
+ public void setHibernateConfig(String hibernateConfig)
+ {
+ this.hibernateConfig = hibernateConfig;
+ }
+
+ public void saveProcess(Process proc)
+ {
+ Session session = getSessionFactory().openSession();
+ Transaction tx = session.beginTransaction();
+ try
+ {
+ session.saveOrUpdate(proc);
+ tx.commit();
+ }
+ finally
+ {
+ session.close();
+ }
+ }
+
+ public Process loadProcess(ObjectName procID)
+ {
+ Process proc = null;
+ Session session = getSessionFactory().openSession();
+ try
+ {
+ String key = procID.getKeyProperty("id");
+ proc = (Process)session.load(ProcessImpl.class, key);
+ Hibernate.initialize(proc);
+ }
+ catch (ObjectNotFoundException ex)
+ {
+ throw new ProcessNotFoundException("Cannot find process: " + procID);
+ }
+ finally
+ {
+ session.close();
+ }
+ return proc;
+ }
+
+ public void deleteProcess(Process proc)
+ {
+ Session session = getSessionFactory().openSession();
+ Transaction tx = session.beginTransaction();
+ try
+ {
+ session.delete(proc);
+ tx.commit();
+ }
+ finally
+ {
+ session.close();
+ }
+ }
+
+ private SessionFactory getSessionFactory()
+ {
+ if (sessionFactory == null)
+ {
+ AnnotationConfiguration anConfig = new AnnotationConfiguration();
+ for(Class clazz : ProcessImpl.class.getClasses())
+ {
+ System.out.println(clazz);
+ }
+ anConfig.addAnnotatedClass(ProcessImpl.class);
+ anConfig.addAnnotatedClass(SupportingElementImpl.class);
+ anConfig.addAnnotatedClass(AbstractElementImpl.class);
+ sessionFactory = anConfig.configure(hibernateConfig).buildSessionFactory();
+ }
+ return sessionFactory;
+ }
+}
Property changes on: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/HibernatePersistenceService.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ProcessManagerImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ProcessManagerImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ProcessManagerImpl.java 2008-09-17 13:23:25 UTC (rev 2269)
@@ -25,11 +25,15 @@
import java.util.Map;
+import javax.management.ObjectName;
+
import org.jboss.bpm.InvalidProcessException;
import org.jboss.bpm.client.DialectHandler;
import org.jboss.bpm.client.DialectRegistry;
+import org.jboss.bpm.client.PersistenceService;
import org.jboss.bpm.client.ProcessManager;
import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.Process.ProcessStatus;
import org.jboss.bpm.ri.model.impl.ProcessImpl;
/**
@@ -40,6 +44,9 @@
*/
public class ProcessManagerImpl extends ProcessManager
{
+ // The persistence service
+ protected PersistenceService persistenceService;
+
public void setDialectHandlers(Map<String, DialectHandler> dialectHandlers)
{
this.dialectHandlers = dialectHandlers;
@@ -50,6 +57,11 @@
this.dialectRegistry = dialectRegistry;
}
+ public void setPersistenceService(PersistenceService persistenceService)
+ {
+ this.persistenceService = persistenceService;
+ }
+
@Override
public Process registerProcess(Process proc)
{
@@ -80,4 +92,35 @@
procImpl.unregister(procImpl);
super.unregisterProcess(procImpl.getID());
}
+
+ public void saveProcess(Process proc)
+ {
+ assertPersistenceService();
+ persistenceService.saveProcess(proc);
+ }
+
+ public Process loadProcess(ObjectName procID)
+ {
+ assertPersistenceService();
+ return persistenceService.loadProcess(procID);
+ }
+
+ public void deleteProcess(Process proc)
+ {
+ assertPersistenceService();
+
+ ProcessStatus state = proc.getProcessStatus();
+ if (state == ProcessStatus.Active || state == ProcessStatus.Completing)
+ throw new IllegalStateException("Cannot a process that in state: " + state);
+
+ unregisterProcess(proc.getID());
+
+ persistenceService.deleteProcess(proc);
+ }
+
+ private void assertPersistenceService()
+ {
+ if (persistenceService == null)
+ throw new IllegalStateException("No persistence service registered");
+ }
}
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/AbstractElementImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/AbstractElementImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/AbstractElementImpl.java 2008-09-17 13:23:25 UTC (rev 2269)
@@ -24,9 +24,12 @@
//$Id$
import javax.management.ObjectName;
+import javax.persistence.Column;
+import javax.persistence.Id;
import org.jboss.bpm.model.AbstractElement;
import org.jboss.bpm.model.Process;
+import org.jboss.util.id.UID;
/**
* The parrent of all Elements
@@ -41,7 +44,26 @@
// The cached ID
protected transient ObjectName id;
+ // The persistent key
+ private transient String key;
+ public AbstractElementImpl()
+ {
+ this.key = new UID().toString();
+ }
+
+ @Id
+ @Column(name = "id")
+ public String getKey()
+ {
+ return key;
+ }
+
+ public void setKey(String key)
+ {
+ this.key = key;
+ }
+
/**
* Get the ID of this element
*/
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ProcessImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ProcessImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ProcessImpl.java 2008-09-17 13:23:25 UTC (rev 2269)
@@ -32,6 +32,12 @@
import java.util.List;
import javax.management.ObjectName;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Inheritance;
+import javax.persistence.Table;
+import javax.persistence.Transient;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -52,7 +58,6 @@
import org.jboss.bpm.model.Property;
import org.jboss.bpm.model.StartEvent;
import org.jboss.bpm.runtime.Attachments;
-import org.jboss.util.id.UID;
/**
* A Process is any Activity performed within a company or organization.
@@ -60,6 +65,8 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
+@Entity
+@Table(name = "JBPM_PROCESS")
public class ProcessImpl extends SupportingElementImpl implements Process, MutablePropertySupport
{
// provide logging
@@ -80,30 +87,50 @@
// the status of the process
private ProcessStatus status = ProcessStatus.None;
// The possible exception that caused the process to abort
- private RuntimeException runtimeException;
+ private transient RuntimeException runtimeException;
+ public ProcessImpl(String name)
+ {
+ this.name = name;
+ }
+
+ // Persistence ctor
+ protected ProcessImpl()
+ {
+ }
+
+ @Id
+ @Column(name = "id")
@Override
+ public String getKey()
+ {
+ return super.getKey();
+ }
+
+ @Override
+ @Transient
public ObjectName getID()
{
if (id == null)
{
StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
- str.append("type=Process,name=" + getName() + ",id=" + new UID());
+ str.append("type=Process,name=" + getName() + ",id=" + getKey());
id = ObjectNameFactory.create(str.toString());
}
return id;
}
-
- public ProcessImpl(String name)
- {
- this.name = name;
- }
public String getName()
{
return name;
}
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ @Transient
public List<Assignment> getAssignments()
{
return Collections.unmodifiableList(assignments);
@@ -114,22 +141,26 @@
this.assignments.add(assignment);
}
+ @Transient
public List<InputSet> getInputSets()
{
throw new NotImplementedException("JBPM-1644", "Process InputSets");
}
+ @Transient
public List<OutputSet> getOutputSets()
{
throw new NotImplementedException("JBPM-1645", "Process OutputSets");
}
+ @Transient
public List<String> getPerformers()
{
throw new NotImplementedException("JBPM-1646", "Process Performers");
}
- public Process.ProcessType getProcessType()
+ @Transient
+ public ProcessType getProcessType()
{
throw new NotImplementedException("JBPM-1647", "Process Type");
}
@@ -156,11 +187,13 @@
return prop != null ? prop.getValue(clazz) : null;
}
+ @Transient
public List<Property> getProperties()
{
return Collections.unmodifiableList(props);
}
+ @Transient
public List<String> getPropertyNames()
{
List<String> names = new ArrayList<String>();
@@ -181,6 +214,7 @@
flowObjects.add(flowObject);
}
+ @Transient
public RuntimeException getRuntimeException()
{
return runtimeException;
@@ -192,14 +226,6 @@
setProcessStatus(ProcessStatus.Aborted);
}
- public List<FlowObject> getFlowObjects()
- {
- if (status == ProcessStatus.None)
- return flowObjects;
-
- return Collections.unmodifiableList(flowObjects);
- }
-
public ObjectName startProcess()
{
return startProcessInternal(null);
@@ -216,7 +242,7 @@
em.startProcess(this, att);
return getID();
}
-
+
public void resetProcess()
{
log.debug("Reset process: " + this);
@@ -250,6 +276,15 @@
return em.waitForEnd(this, timeout);
}
+ @Transient
+ public List<FlowObject> getFlowObjects()
+ {
+ if (status == ProcessStatus.None)
+ return flowObjects;
+
+ return Collections.unmodifiableList(flowObjects);
+ }
+
public FlowObject getFlowObject(String name)
{
if (name == null)
@@ -289,6 +324,7 @@
this.status = status;
}
+ @Transient
public List<Message> getMessages()
{
return Collections.unmodifiableList(messages);
@@ -311,7 +347,7 @@
}
return null;
}
-
+
public ProcessImpl makeDeepCopy() throws Exception
{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -387,7 +423,7 @@
}
super.destroy(proc);
}
-
+
protected void initializeMessageRef(Message msgRef)
{
String msgName = msgRef.getName();
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/StartEventImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/StartEventImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/StartEventImpl.java 2008-09-17 13:23:25 UTC (rev 2269)
@@ -28,6 +28,8 @@
import java.util.List;
import javax.management.ObjectName;
+import javax.persistence.Entity;
+import javax.persistence.Table;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -57,6 +59,8 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
+@Entity
+@Table(name = "JBPM_START_EVENT")
public class StartEventImpl extends EventImpl implements StartEvent, SingleOutFlowSetterSupport
{
// provide logging
Added: projects/jbpm-spec/trunk/modules/ri/src/main/resources/hibernate.cfg.mysql.xml
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/resources/hibernate.cfg.mysql.xml (rev 0)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/resources/hibernate.cfg.mysql.xml 2008-09-17 13:23:25 UTC (rev 2269)
@@ -0,0 +1,33 @@
+<?xml version='1.0' encoding='utf-8'?>
+
+<!DOCTYPE hibernate-configuration PUBLIC
+"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+<hibernate-configuration>
+ <session-factory>
+
+ <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
+
+ <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
+ <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpmspec</property>
+ <property name="hibernate.connection.username">jbpmspec</property>
+ <property name="hibernate.connection.password"></property>
+ <property name="hibernate.query.substitutions">true 1, false 0</property>
+
+ <!-- ################################### -->
+ <!-- # common settings # -->
+ <!-- ################################### -->
+
+ <!-- Automatic schema creation -->
+ <property name="hibernate.hbm2ddl.auto">create-drop</property>
+
+ <!-- Simple memory-only cache -->
+ <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
+
+ <!-- logging properties -->
+ <property name="hibernate.format_sql">true</property>
+ <property name="hibernate.use_sql_comments">true</property>
+
+ </session-factory>
+</hibernate-configuration>
Property changes on: projects/jbpm-spec/trunk/modules/ri/src/main/resources/hibernate.cfg.mysql.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: projects/jbpm-spec/trunk/modules/ri/src/test/java/org/jboss/bpm/client/PersistenceServiceTest.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/test/java/org/jboss/bpm/client/PersistenceServiceTest.java (rev 0)
+++ projects/jbpm-spec/trunk/modules/ri/src/test/java/org/jboss/bpm/client/PersistenceServiceTest.java 2008-09-17 13:23:25 UTC (rev 2269)
@@ -0,0 +1,104 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.client;
+
+// $Id$
+
+import javax.management.ObjectName;
+
+import org.jboss.bpm.ProcessNotFoundException;
+import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.ProcessBuilder;
+import org.jboss.bpm.model.ProcessBuilderFactory;
+import org.jboss.bpm.test.DefaultEngineTestCase;
+
+/**
+ * Test the ExecutionManager
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public class PersistenceServiceTest extends DefaultEngineTestCase
+{
+ /**
+ * Test save, load, delete of a trivial process
+ */
+ public void testSaveLoadDelete() throws Exception
+ {
+ ProcessManager pm = ProcessManager.locateProcessManager();
+
+ // Save the process
+ Process proc = getProcess();
+ pm.saveProcess(proc);
+
+ // Load the process
+ ObjectName procID = proc.getID();
+ Process procLoad = pm.loadProcess(procID);
+ assertEquals("Loaded process name equals", proc.getName(), procLoad.getName());
+
+ // Delete the process
+ pm.deleteProcess(proc);
+ try
+ {
+ pm.loadProcess(procID);
+ fail("ProcessNotFoundException expected");
+ }
+ catch (ProcessNotFoundException ex)
+ {
+ // expected
+ }
+ }
+
+ /**
+ * Test execution of a loaded process
+ */
+ public void _testStartLoaded() throws Exception
+ {
+ ProcessManager pm = ProcessManager.locateProcessManager();
+
+ // Save the process
+ Process proc = getProcess();
+ pm.saveProcess(proc);
+ try
+ {
+ // Load the process
+ proc = pm.loadProcess(proc.getID());
+
+ // Start the process
+ proc.startProcess();
+ proc.waitForEnd();
+ }
+ finally
+ {
+ // Delete the process
+ pm.deleteProcess(proc);
+ }
+ }
+
+ private Process getProcess()
+ {
+ ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
+ procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("Task");
+ procBuilder.addTask("Task").addSequenceFlow("End").addEndEvent("End");
+ return procBuilder.getProcess();
+ }
+}
Property changes on: projects/jbpm-spec/trunk/modules/ri/src/test/java/org/jboss/bpm/client/PersistenceServiceTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: projects/jbpm-spec/trunk/modules/ri/src/test/resources/jbpm-beans.xml
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/test/resources/jbpm-beans.xml 2008-09-17 08:08:02 UTC (rev 2268)
+++ projects/jbpm-spec/trunk/modules/ri/src/test/resources/jbpm-beans.xml 2008-09-17 13:23:25 UTC (rev 2269)
@@ -23,6 +23,7 @@
<!-- The ProcessManager -->
<bean name="jBPMProcessManager" class="org.jboss.bpm.ri.client.ProcessManagerImpl">
<property name="dialectRegistry"><inject bean="jBPMDialectRegistry"/></property>
+ <property name="persistenceService"><inject bean="jBPMPersistenceService"/></property>
<property name="dialectHandlers">
<map keyClass="java.lang.String" valueClass="org.jboss.bpm.client.DialectHandler">
</map>
@@ -41,4 +42,9 @@
</property>
</bean>
+ <!-- The PersistenceService -->
+ <bean name="jBPMPersistenceService" class="org.jboss.bpm.ri.client.HibernatePersistenceService">
+ <property name="hibernateConfig">hibernate.cfg.mysql.xml</property>
+ </bean>
+
</deployment>
17 years, 7 months
JBoss JBPM SVN: r2268 - in projects/jbpm-spec/trunk/modules: api/src/main/java/org/jboss/bpm/test and 6 other directories.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-09-17 04:08:02 -0400 (Wed, 17 Sep 2008)
New Revision: 2268
Added:
projects/jbpm-spec/trunk/modules/cts/src/test/resources/cts/processmanager/
projects/jbpm-spec/trunk/modules/cts/src/test/resources/cts/processmanager/processmanager-api10.xml
Modified:
projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java
projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.java
projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/processmanager/ProcessManagerTest.java
projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/task/ReceiveTaskTest.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ExecutionManagerImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ProcessManagerImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/AbstractElementImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ActivityImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/AssignmentImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ComplexGatewayImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EndEventImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EntityImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EventDetailImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EventImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ExclusiveGatewayDataBasedImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ExclusiveGatewayImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ExpressionImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowObjectImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GateImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GatewayImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GraphicalElementImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/HandlerImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/InclusiveGatewayImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/InputSetImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/IntermediateEventImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageEventDetailImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageFlowImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/NoneTaskImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/OutputSetImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ParallelGatewayImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ParticipantImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ProcessImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/PropertyImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ReceiveTaskImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/RoleImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SendTaskImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SequenceFlowImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SignalEventDetailImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/StartEventImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SubProcessImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SupportingElementImpl.java
projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/TaskImpl.java
Log:
Explicitly registered processes
Modified: projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java
===================================================================
--- projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -79,7 +79,8 @@
}
/**
- * Create a Process from a XML string in one of the supported formats
+ * Create a Process from a XML string in one of the supported formats.
+ * Note, the Process is not automatically registered.
*/
public final Process createProcess(String pXML)
{
@@ -89,7 +90,8 @@
}
/**
- * Create a Process from an URL to a XML descritor in one of the supported formats
+ * Create a Process from an URL to a XML descritor in one of the supported formats.
+ * Note, the Process is not automatically registered.
*/
public final Process createProcess(URL pURL) throws IOException
{
@@ -108,7 +110,9 @@
}
/**
- * Find the set of Processes for a given name
+ * Get a set of Processes for a given name and status.
+ * <p/>
+ * If the given status is null, all processes with the given name are included.
*
* @param name The process name
* @param status The optional process status
@@ -138,24 +142,32 @@
}
/**
- * Register a Process.
+ * Register a Process explicitly.
+ * <p/>
+ * A Process that is registered explicitly, can be started by name.
+ * <p/>
+ * An implementation may replace the given process with a copy of itself. The copy
+ * can then be started without effecting the just registered process.
+ * <p/>
+ *
*/
- public void registerProcess(Process proc)
+ public Process registerProcess(Process proc)
{
if (ProcessEngine.locateProcessEngine().isPrepareForShutdown())
throw new EngineShutdownException("Cannot register a process while engine is shutting down");
log.debug("registerProcess: " + proc);
procs.put(proc.getID(), proc);
+ return proc;
}
/**
* Unregister a Process.
*/
- public void unregisterProcess(Process proc)
+ public Process unregisterProcess(ObjectName procID)
{
- log.debug("unregisterProcess: " + proc);
- procs.remove(proc.getID());
+ log.debug("unregisterProcess: " + procID);
+ return procs.remove(procID);
}
private URI getNamespaceURI(InputStream inStream)
Modified: projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.java
===================================================================
--- projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -97,26 +97,6 @@
msgManager.addMessageListener(getMessageListener());
}
- private void clearAllSignalListeners()
- {
- SignalManager sigManager = SignalManager.locateSignalManager();
- Set<SignalListener> sigListeners = sigManager.getSignalListeners();
- for (SignalListener sigListener : sigListeners)
- {
- sigManager.removeSignalListener(sigListener);
- }
- }
-
- private void clearAllMessageListeners()
- {
- MessageManager msgManager = MessageManager.locateMessageManager();
- Set<MessageListener> msgListeners = msgManager.getMessageListeners();
- for (MessageListener msgListener : msgListeners)
- {
- msgManager.removeMessageListener(msgListener.getID());
- }
- }
-
@Override
protected void tearDown() throws Exception
{
@@ -135,32 +115,49 @@
Set<Process> procs = procManager.getProcesses();
if (procs.size() > 0)
{
- String logMsg = "Registered processes on tear down of " + getName() + ": " + procs;
- System.out.println(logMsg);
- log.warn(logMsg);
+ System.out.println("FIXME: Registered processes on tear down of " + getName() + ": " + procs);
+ System.exit(1);
}
// Check that there are no registered signal listeners left
Set<SignalListener> sigListeners = signalManager.getSignalListeners();
if (sigListeners.size() > 0)
{
- String logMsg = "Registered signal listeners on tear down of " + getName() + ": " + sigListeners;
- System.out.println(logMsg);
- log.warn(logMsg);
+ System.out.println("FIXME: Registered signal listeners on tear down of " + getName() + ": " + sigListeners);
+ System.exit(1);
}
// Check that there are no registered signal listeners left
Set<MessageListener> msgListeners = messageManager.getMessageListeners();
if (msgListeners.size() > 0)
{
- String logMsg = "Registered message listeners on tear down of " + getName() + ": " + msgListeners;
- System.out.println(logMsg);
- log.warn(logMsg);
+ System.out.println("FIXME: Registered message listeners on tear down of " + getName() + ": " + msgListeners);
+ System.exit(1);
}
super.tearDown();
}
+ private void clearAllSignalListeners()
+ {
+ SignalManager sigManager = SignalManager.locateSignalManager();
+ Set<SignalListener> sigListeners = sigManager.getSignalListeners();
+ for (SignalListener sigListener : sigListeners)
+ {
+ sigManager.removeSignalListener(sigListener);
+ }
+ }
+
+ private void clearAllMessageListeners()
+ {
+ MessageManager msgManager = MessageManager.locateMessageManager();
+ Set<MessageListener> msgListeners = msgManager.getMessageListeners();
+ for (MessageListener msgListener : msgListeners)
+ {
+ msgManager.removeMessageListener(msgListener.getID());
+ }
+ }
+
// Deploy a beans config
protected void deployBeans(String resourceName)
{
Modified: projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/processmanager/ProcessManagerTest.java
===================================================================
--- projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/processmanager/ProcessManagerTest.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/processmanager/ProcessManagerTest.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -23,6 +23,11 @@
// $Id$
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.util.Set;
+
import javax.management.ObjectName;
import org.jboss.bpm.client.ProcessManager;
@@ -32,6 +37,7 @@
import org.jboss.bpm.model.ProcessBuilder;
import org.jboss.bpm.model.ProcessBuilderFactory;
import org.jboss.bpm.model.Signal;
+import org.jboss.bpm.model.Process.ProcessStatus;
import org.jboss.bpm.model.Signal.SignalType;
import org.jboss.bpm.test.DefaultEngineTestCase;
@@ -43,32 +49,80 @@
*/
public class ProcessManagerTest extends DefaultEngineTestCase
{
+ /**
+ * Test process create from XML string.
+ *
+ * Verify, that the process is not automatically registered.
+ */
+ public void testCreateProcessXML() throws Exception
+ {
+ StringBuilder procXML = new StringBuilder();
+ URL procURL = getResourceURL("cts/processmanager/processmanager-" + getDialect() + ".xml");
+ BufferedReader br = new BufferedReader(new InputStreamReader(procURL.openStream()));
+ String line = br.readLine();
+ while (line != null)
+ {
+ procXML.append(line);
+ line = br.readLine();
+ }
+ assertTrue("Process XML expected", procXML.length() > 0);
+
+ ProcessManager pm = ProcessManager.locateProcessManager();
+ Process proc = pm.createProcess(procXML.toString());
+ assertNotNull("Process expected", proc);
+ assertNotNull("Process ID expected", proc.getID());
+
+ assertNull("A process is not registered automatically", pm.getProcessByID(proc.getID()));
+
+ assertEquals("Process is initially in status Ready", ProcessStatus.Ready, proc.getProcessStatus());
+ }
+
+ /**
+ * Test process create from XML string.
+ *
+ * Verify, that the process is not automatically registered.
+ */
+ public void testCreateProcessURL() throws Exception
+ {
+ URL procURL = getResourceURL("cts/processmanager/processmanager-" + getDialect() + ".xml");
+
+ ProcessManager pm = ProcessManager.locateProcessManager();
+ Process proc = pm.createProcess(procURL);
+ assertNotNull("Process expected", proc);
+ assertNotNull("Process ID expected", proc.getID());
+
+ assertNull("A process is not registered automatically", pm.getProcessByID(proc.getID()));
+
+ assertEquals("Process is initially in status Ready", ProcessStatus.Ready, proc.getProcessStatus());
+ }
+
+ /**
+ * Verify, that a process created by the ProcessBuilder is not automatically registered.
+ *
+ * Starting the Process registers it automatically.
+ *
+ * A terminated Process is automatically removed.
+ */
public void testStartProcess() throws Exception
{
- final Process proc = getProcess();
- final ObjectName procID = proc.getID();
+ Process proc = getProcess();
+ ObjectName procID = proc.getID();
- final ProcessManager pm = ProcessManager.locateProcessManager();
- assertNull("A process created through the builder is not registered automatically", pm.getProcessByID(procID));
+ assertNotNull("Process ID expected", procID);
- SignalListener sigListener = new SignalListener()
- {
- public boolean acceptSignal(Signal signal)
- {
- return signal.getSignalType() == SignalType.SYSTEM_TASK_ENTER;
- }
+ ProcessManager pm = ProcessManager.locateProcessManager();
+ assertNull("A process is not registered automatically", pm.getProcessByID(procID));
- public void catchSignal(Signal signal)
- {
- assertNotNull(pm.getProcessByID(procID));
- }
- };
+ assertEquals("Process is initially in status Ready", ProcessStatus.Ready, proc.getProcessStatus());
+
+ TestSignalListener sigListener = new TestSignalListener(proc.getName());
SignalManager sigManager = SignalManager.locateSignalManager();
sigManager.addSignalListener(sigListener);
try
{
// Start the process, which automatically adds it to the registery
+ // The SignalListener should be able to access the registered process
assertEquals(procID, proc.startProcess());
proc.waitForEnd();
}
@@ -77,9 +131,54 @@
sigManager.removeSignalListener(sigListener);
}
- assertNull("A terminated process is removed from the registry", pm.getProcessByID(procID));
+ // Verify the the signal lister has seen the registered process
+ assertSame("Registered process expected", proc, sigListener.procActive);
+
+ assertNull("A terminated process is unregistered", pm.getProcessByID(procID));
}
+ /**
+ * Test that an explicitly registered process is copied and stays registered
+ */
+ public void testRegisterExplicitly() throws Exception
+ {
+ Process procOrg = getProcess();
+
+ ProcessManager pm = ProcessManager.locateProcessManager();
+ Process proc = pm.registerProcess(procOrg);
+
+ assertSame("Process is registered", procOrg, pm.getProcessByID(procOrg.getID()));
+
+ TestSignalListener sigListener = new TestSignalListener(proc.getName());
+ SignalManager sigManager = SignalManager.locateSignalManager();
+ sigManager.addSignalListener(sigListener);
+
+ try
+ {
+ // Start the process, which automatically adds it to the registery
+ // The SignalListener should be able to access the registered process
+ assertEquals(proc.getID(), proc.startProcess());
+ proc.waitForEnd();
+ }
+ finally
+ {
+ sigManager.removeSignalListener(sigListener);
+ }
+
+ // Verify the the signal lister has seen the registered process
+ assertSame("Registered process expected", proc, sigListener.procActive);
+ assertNull("A terminated process is unregistered", pm.getProcessByID(proc.getID()));
+
+ Process procReady = sigListener.procReady;
+ assertNotNull("Process copy not null", procReady);
+ assertSame("Process copy same", procOrg, procReady);
+ assertSame("Registered process expected", procReady, pm.getProcessByID(procReady.getID()));
+
+ // Unregister the original
+ pm.unregisterProcess(procOrg.getID());
+ assertEquals("Process is unregistered", 0, pm.getProcesses().size());
+ }
+
private Process getProcess()
{
ProcessBuilder builder = ProcessBuilderFactory.newInstance().newProcessBuilder();
@@ -87,4 +186,34 @@
Process proc = builder.addTask("taskA").addSequenceFlow("end").addEndEvent("end").getProcess();
return proc;
}
+
+ static class TestSignalListener implements SignalListener
+ {
+ String procName;
+ Process procActive;
+ Process procReady;
+
+ public TestSignalListener(String procName)
+ {
+ this.procName = procName;
+ }
+
+ public boolean acceptSignal(Signal signal)
+ {
+ return signal.getSignalType() == SignalType.SYSTEM_TASK_ENTER;
+ }
+
+ public void catchSignal(Signal signal)
+ {
+ ProcessManager pm = ProcessManager.locateProcessManager();
+
+ Set<Process> procs = pm.getProcesses(procName, ProcessStatus.Active);
+ if (procs.size() > 0)
+ procActive = procs.iterator().next();
+
+ procs = pm.getProcesses(procName, ProcessStatus.Ready);
+ if (procs.size() > 0)
+ procReady = procs.iterator().next();
+ }
+ }
}
Modified: projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/task/ReceiveTaskTest.java
===================================================================
--- projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/task/ReceiveTaskTest.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/task/ReceiveTaskTest.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -86,19 +86,25 @@
public void testSuspendedMessage() throws Exception
{
Process proc = getProcess();
- ProcessManager procManager = ProcessManager.locateProcessManager();
- procManager.registerProcess(proc);
+ ProcessManager pm = ProcessManager.locateProcessManager();
+ pm.registerProcess(proc);
+ try
+ {
+ // Send the message before the process is started
+ MessageManager msgManager = MessageManager.locateMessageManager();
+ msgManager.sendMessage(proc.getID(), "TaskA", getMessage());
- // Send the message before the process is started
- MessageManager msgManager = MessageManager.locateMessageManager();
- msgManager.sendMessage(proc.getID(), "TaskA", getMessage());
+ proc.startProcess();
+ proc.waitForEnd();
- proc.startProcess();
- proc.waitForEnd();
-
- Message endMsg = getMessages().get(0);
- assertNotNull("End message expected", endMsg);
- assertEquals("bar", endMsg.getPropertyValue("foo"));
+ Message endMsg = getMessages().get(0);
+ assertNotNull("End message expected", endMsg);
+ assertEquals("bar", endMsg.getPropertyValue("foo"));
+ }
+ finally
+ {
+ pm.unregisterProcess(proc.getID());
+ }
}
public void testSuspendedToken() throws Exception
Added: projects/jbpm-spec/trunk/modules/cts/src/test/resources/cts/processmanager/processmanager-api10.xml
===================================================================
--- projects/jbpm-spec/trunk/modules/cts/src/test/resources/cts/processmanager/processmanager-api10.xml (rev 0)
+++ projects/jbpm-spec/trunk/modules/cts/src/test/resources/cts/processmanager/processmanager-api10.xml 2008-09-17 08:08:02 UTC (rev 2268)
@@ -0,0 +1,6 @@
+<ns2:process name="ProcessManager" xmlns:ns2="urn:bpm.jboss:pdl-0.1">
+ <start name="Start">
+ <seqflow to="End" />
+ </start>
+ <end name="End"/>
+</ns2:process>
\ No newline at end of file
Property changes on: projects/jbpm-spec/trunk/modules/cts/src/test/resources/cts/processmanager/processmanager-api10.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ExecutionManagerImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ExecutionManagerImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ExecutionManagerImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -76,14 +76,14 @@
{
// Prepare the process for start
startProcessPrepare(proc);
-
+
// Get the None Start Event if there is one and start the initial flow
StartEvent start = getNoneStartEvent(proc);
if (start != null)
{
if (proc.getProcessStatus() == ProcessStatus.Active)
throw new IllegalStateException("Cannot start an already active process");
-
+
startProcessInternal(start, att);
}
}
@@ -93,36 +93,37 @@
{
// Prepare the process for start
startProcessPrepare(start.getProcess());
-
+
startProcessInternal(start, att);
}
private synchronized void startProcessInternal(StartEvent start, Attachments att)
{
- @SuppressWarnings("serial")
class InitialFlow extends SequenceFlowImpl
{
+ private static final long serialVersionUID = 1L;
+
InitialFlow(StartEvent start)
{
super(start.getName());
setTargetRef(start);
}
}
-
+
Process proc = start.getProcess();
RuntimeProcess rtProc = getRuntimeProcess(proc, false);
- boolean startProcessThread = (rtProc == null);
+ boolean startProcessThread = (rtProc == null);
// Create initial Token
TokenImpl initialToken = new TokenImpl(att);
InitialFlow initialFlow = new InitialFlow(start);
initialToken.setFlow(initialFlow);
-
- // Register the initial Token
+
+ // Register the initial Token
rtProc = getRuntimeProcess(proc, true);
TokenExecutor tokenExecutor = rtProc.getTokenExecutor();
tokenExecutor.create(initialToken, initialFlow);
-
+
// Start a new process thread
if (startProcessThread)
{
@@ -143,10 +144,10 @@
}
}
}
-
+
// Do the start time assignments
startTimeAssignments(proc, initialToken);
-
+
// Start the initial token
tokenExecutor.start(initialToken);
}
@@ -157,15 +158,15 @@
ProcessImpl procImpl = (ProcessImpl)proc;
if (isProcessTerminated(proc))
procImpl.resetProcess();
-
+
ProcessStatus procStatus = proc.getProcessStatus();
if (procStatus != ProcessStatus.Ready && procStatus != ProcessStatus.Active)
throw new IllegalStateException("Cannot start process in state: " + procStatus);
// Register the process if needed
- ProcessManager pm = ProcessManager.locateProcessManager();
+ ProcessManagerImpl pm = (ProcessManagerImpl)ProcessManager.locateProcessManager();
if (pm.getProcessByID(proc.getID()) == null)
- pm.registerProcess(proc);
+ pm.registerProcessInternal(procImpl);
}
public ProcessStatus waitForEnd(Process proc)
@@ -186,7 +187,7 @@
private ProcessStatus waitForEndInternal(Process proc, long timeout)
{
ProcessImpl procImpl = (ProcessImpl)proc;
-
+
ProcessStatus status = proc.getProcessStatus();
if (status == ProcessStatus.None)
throw new IllegalStateException("Cannot wait for process in state: " + status);
@@ -212,18 +213,19 @@
break;
}
}
-
+
// Start waiting to get notified
long waitTimeout = forever ? 0 : until - now;
proc.wait(waitTimeout);
}
now = System.currentTimeMillis();
}
-
+
// Throw timeout exception if it took too long
if (isProcessTerminated(proc) == false)
{
- RuntimeException rte = new ProcessTimeoutException("Process timeout after " + timeout + "ms for: " + proc.getID());
+ RuntimeException rte = new ProcessTimeoutException("Process timeout after " + timeout + "ms for: "
+ + proc.getID());
procImpl.setRuntimeException(rte);
log.error(rte);
throw rte;
@@ -238,22 +240,21 @@
// Unregister the process if not done already
// this could happen when the Process never received a start signal
// and then we get here because of a ProcessTimeoutException
- ProcessManager procManager = ProcessManager.locateProcessManager();
+ ProcessManagerImpl procManager = (ProcessManagerImpl)ProcessManager.locateProcessManager();
if (procManager.getProcessByID(proc.getID()) != null)
- procManager.unregisterProcess(proc);
+ procManager.unregisterProcessInternal(procImpl);
}
-
status = proc.getProcessStatus();
return status;
}
-
+
private boolean isProcessTerminated(Process proc)
{
ProcessStatus status = proc.getProcessStatus();
return status == ProcessStatus.Cancelled || status == ProcessStatus.Completed || status == ProcessStatus.Aborted;
}
-
+
private StartEvent getNoneStartEvent(Process proc)
{
StartEvent start = null;
@@ -321,7 +322,7 @@
Process proc = rtProc.getProcess();
SignalManager signalManager = SignalManager.locateSignalManager();
-
+
ObjectName procID = proc.getID();
String procName = proc.getName();
try
@@ -334,7 +335,7 @@
// Notify that the process is now Active
proc.notifyAll();
}
-
+
synchronized (rtProc)
{
// Wait until there are no more runnable tokens
@@ -349,9 +350,9 @@
log.error(ex);
}
}
-
+
log.debug("End execution thread [proc=" + procName + ",status=" + proc.getProcessStatus() + "]");
-
+
if (proc.getProcessStatus() == ProcessStatus.Active)
procImpl.setProcessStatus(ProcessStatus.Completed);
}
@@ -362,10 +363,10 @@
synchronized (proc)
{
- ProcessManager procManager = ProcessManager.locateProcessManager();
- procManager.unregisterProcess(proc);
+ ProcessManagerImpl pm = (ProcessManagerImpl)ProcessManager.locateProcessManager();
+ pm.unregisterProcessInternal(procImpl);
runtimeProcesses.remove(procID);
-
+
// Notify that the process has now ended
proc.notifyAll();
}
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ProcessManagerImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ProcessManagerImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ProcessManagerImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -25,11 +25,13 @@
import java.util.Map;
+import org.jboss.bpm.InvalidProcessException;
import org.jboss.bpm.client.DialectHandler;
import org.jboss.bpm.client.DialectRegistry;
import org.jboss.bpm.client.ProcessManager;
import org.jboss.bpm.model.Process;
import org.jboss.bpm.ri.model.impl.ProcessImpl;
+
/**
* The process manager is the entry point to create, find and otherwise manage processes.
*
@@ -49,18 +51,33 @@
}
@Override
- public void registerProcess(Process proc)
+ public Process registerProcess(Process proc)
{
super.registerProcess(proc);
- ProcessImpl procImpl = (ProcessImpl)proc;
- procImpl.register(proc);
+
+ // An explicitly registered Process is replaced by a copy of itself
+ ProcessImpl procCopy;
+ try
+ {
+ ProcessImpl procImpl = (ProcessImpl)proc;
+ procCopy = procImpl.makeDeepCopy();
+ }
+ catch (Exception ex)
+ {
+ throw new InvalidProcessException("Cannot copy process", ex);
+ }
+ return procCopy;
}
- @Override
- public void unregisterProcess(Process proc)
+ void registerProcessInternal(ProcessImpl procImpl)
{
- ProcessImpl procImpl = (ProcessImpl)proc;
- procImpl.unregister(proc);
- super.unregisterProcess(proc);
+ super.registerProcess(procImpl);
+ procImpl.register(procImpl);
}
+
+ void unregisterProcessInternal(ProcessImpl procImpl)
+ {
+ procImpl.unregister(procImpl);
+ super.unregisterProcess(procImpl.getID());
+ }
}
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/AbstractElementImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/AbstractElementImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/AbstractElementImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -34,11 +34,13 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public abstract class AbstractElementImpl implements AbstractElement
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
// The cached ID
- protected ObjectName id;
+ protected transient ObjectName id;
/**
* Get the ID of this element
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ActivityImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ActivityImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ActivityImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -53,12 +53,13 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public abstract class ActivityImpl extends FlowObjectImpl implements Activity, MutablePropertySupport,
SingleInFlowSetterSupport, SingleOutFlowSetterSupport
{
// provide logging
private static final Log log = LogFactory.getLog(ActivityImpl.class);
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
private List<InputSet> inputSets = new ArrayList<InputSet>();
private List<OutputSet> outputSets = new ArrayList<OutputSet>();
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/AssignmentImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/AssignmentImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/AssignmentImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -33,9 +33,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class AssignmentImpl extends SupportingElementImpl implements Assignment
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
private AssignTime assignTime;
private Expression from;
private Property to;
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ComplexGatewayImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ComplexGatewayImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ComplexGatewayImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -37,9 +37,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class ComplexGatewayImpl extends GatewayImpl implements ComplexGateway
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
public ComplexGatewayImpl(String name)
{
super(name);
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EndEventImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EndEventImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EndEventImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -56,11 +56,12 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class EndEventImpl extends EventImpl implements EndEvent, SingleInFlowSetterSupport
{
// provide logging
private static final Log log = LogFactory.getLog(EndEventImpl.class);
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
private List<EventDetail> resultSet = new ArrayList<EventDetail>();
private SequenceFlow inFlow;
@@ -136,6 +137,8 @@
{
handler = new SignalHandler()
{
+ private static final long serialVersionUID = 1L;
+
SignalManager signalManager = SignalManager.locateSignalManager();
public void throwEnterSignal(Token token)
{
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EntityImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EntityImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EntityImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -34,9 +34,10 @@
* @author thomas.diesler(a)jboss.com
* @since 21-Jul-2008
*/
-@SuppressWarnings("serial")
public class EntityImpl extends ParticipantImpl implements Entity
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
public EntityImpl(ObjectName name)
{
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EventDetailImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EventDetailImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EventDetailImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -32,9 +32,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public abstract class EventDetailImpl extends SupportingElementImpl implements EventDetail
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
protected void initialize(Event event)
{
// nothing to do
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EventImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EventImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EventImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -32,9 +32,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public abstract class EventImpl extends FlowObjectImpl implements Event
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
public EventImpl(String name)
{
super(name);
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ExclusiveGatewayDataBasedImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ExclusiveGatewayDataBasedImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ExclusiveGatewayDataBasedImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -31,9 +31,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class ExclusiveGatewayDataBasedImpl extends ExclusiveGatewayImpl implements ExclusiveGatewayDataBased
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
public ExclusiveGatewayDataBasedImpl(String name)
{
super(name);
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ExclusiveGatewayImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ExclusiveGatewayImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ExclusiveGatewayImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -45,11 +45,12 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public abstract class ExclusiveGatewayImpl extends GatewayImpl implements ExclusiveGateway
{
// provide logging
private static final Log log = LogFactory.getLog(ExclusiveGatewayImpl.class);
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
// Sync management
private Set<ConnectingObject> outstandingFlows;
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ExpressionImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ExpressionImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ExpressionImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -32,9 +32,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class ExpressionImpl extends SupportingElementImpl implements Expression
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
private Object body;
private ExpressionLanguage lang;
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -33,9 +33,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public abstract class FlowImpl extends SupportingElementImpl implements ConnectingObject
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
private String name;
private String targetName;
private FlowObject source;
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowObjectImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowObjectImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowObjectImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -52,9 +52,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public abstract class FlowObjectImpl extends GraphicalElementImpl implements FlowObject, HandlerSetterSupport
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
private String name;
private Process proc;
private FlowHandler flowHandler;
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GateImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GateImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GateImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -39,9 +39,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class GateImpl extends SupportingElementImpl implements Gate
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
private SequenceFlow seqFlow;
public GateImpl(String targetName)
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GatewayImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GatewayImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GatewayImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -52,9 +52,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public abstract class GatewayImpl extends FlowObjectImpl implements Gateway, MultipleInFlowSetterSupport
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
// The list of incomming flows
protected List<ConnectingObject> inFlows = new ArrayList<ConnectingObject>();
// The list of outgoing gates
@@ -165,6 +167,8 @@
{
handler = new SignalHandler()
{
+ private static final long serialVersionUID = 1L;
+
SignalManager signalManager = SignalManager.locateSignalManager();
public void throwEnterSignal(Token token)
{
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GraphicalElementImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GraphicalElementImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GraphicalElementImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -31,7 +31,8 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public abstract class GraphicalElementImpl extends AbstractElementImpl implements GraphicalElement
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
}
\ No newline at end of file
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/HandlerImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/HandlerImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/HandlerImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -32,9 +32,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public abstract class HandlerImpl implements Handler
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
private String className;
private String beanRef;
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/InclusiveGatewayImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/InclusiveGatewayImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/InclusiveGatewayImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -51,9 +51,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class InclusiveGatewayImpl extends GatewayImpl implements InclusiveGateway
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
// provide logging
private static final Log log = LogFactory.getLog(InclusiveGatewayImpl.class);
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/InputSetImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/InputSetImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/InputSetImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -40,9 +40,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class InputSetImpl extends SupportingElementImpl implements InputSet, MutablePropertySupport
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
private List<ArtifactInput> artInputs = new ArrayList<ArtifactInput>();
private Map<String,Property> props = new LinkedHashMap<String,Property>();
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/IntermediateEventImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/IntermediateEventImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/IntermediateEventImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -50,9 +50,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class IntermediateEventImpl extends EventImpl implements IntermediateEvent, SingleInFlowSetterSupport, SingleOutFlowSetterSupport
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
private SequenceFlow inFlow;
private SequenceFlow outFlow;
private List<EventDetail> triggers = new ArrayList<EventDetail>();
@@ -117,6 +119,8 @@
{
handler = new SignalHandler()
{
+ private static final long serialVersionUID = 1L;
+
SignalManager signalManager = SignalManager.locateSignalManager();
public void throwEnterSignal(Token token)
{
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageEventDetailImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageEventDetailImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageEventDetailImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -33,9 +33,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class MessageEventDetailImpl extends EventDetailImpl implements MessageEventDetail
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
private Message messageRef;
public EventDetailType getEventDetailType()
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageFlowImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageFlowImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageFlowImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -34,9 +34,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class MessageFlowImpl extends FlowImpl implements MessageFlow
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
public MessageFlowImpl(String targetName)
{
super(targetName);
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -40,9 +40,11 @@
* @author thomas.diesler(a)jboss.com
* @since 21-Jul-2008
*/
-@SuppressWarnings("serial")
public class MessageImpl extends SupportingElementImpl implements Message, MutablePropertySupport
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
private String name;
private Participant fromRef;
private Participant toRef;
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/NoneTaskImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/NoneTaskImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/NoneTaskImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -31,9 +31,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class NoneTaskImpl extends TaskImpl
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
public NoneTaskImpl(String name)
{
super(name);
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/OutputSetImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/OutputSetImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/OutputSetImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -40,9 +40,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class OutputSetImpl extends SupportingElementImpl implements OutputSet, MutablePropertySupport
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
private List<ArtifactOutput> artOutputs = new ArrayList<ArtifactOutput>();
private Map<String,Property> props = new LinkedHashMap<String,Property>();
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ParallelGatewayImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ParallelGatewayImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ParallelGatewayImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -44,11 +44,12 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class ParallelGatewayImpl extends GatewayImpl implements ParallelGateway
{
// provide logging
private static final Log log = LogFactory.getLog(ParallelGatewayImpl.class);
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
// Sync management
private Set<ConnectingObject> outstandingFlows;
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ParticipantImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ParticipantImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ParticipantImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -34,9 +34,11 @@
* @author thomas.diesler(a)jboss.com
* @since 21-Jul-2008
*/
-@SuppressWarnings("serial")
public abstract class ParticipantImpl extends SupportingElementImpl implements Participant
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
protected ObjectName name;
public ParticipantImpl(ObjectName name)
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ProcessImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ProcessImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ProcessImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -23,6 +23,10 @@
//$Id$
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -56,11 +60,12 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class ProcessImpl extends SupportingElementImpl implements Process, MutablePropertySupport
{
// provide logging
private static final Log log = LogFactory.getLog(ProcessImpl.class);
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
// The required process name
private String name;
@@ -306,6 +311,17 @@
}
return null;
}
+
+ public ProcessImpl makeDeepCopy() throws Exception
+ {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ ObjectOutputStream oos = new ObjectOutputStream(baos);
+ oos.writeObject(this);
+ ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+ ObjectInputStream ois = new ObjectInputStream(bais);
+ ProcessImpl procCopy = (ProcessImpl)ois.readObject();
+ return procCopy;
+ }
@Override
public void create(Process proc)
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/PropertyImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/PropertyImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/PropertyImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -32,9 +32,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class PropertyImpl extends SupportingElementImpl implements Property
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
private String name;
private Expression expression;
private boolean isCorrelation;
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ReceiveTaskImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ReceiveTaskImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ReceiveTaskImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -46,11 +46,12 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class ReceiveTaskImpl extends TaskImpl implements ReceiveTask, MessageListener
{
// provide logging
private static final Log log = LogFactory.getLog(ReceiveTaskImpl.class);
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
// A Web service is the default technology
private Implementation implementation = Implementation.WebService;
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/RoleImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/RoleImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/RoleImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -35,9 +35,11 @@
* @author thomas.diesler(a)jboss.com
* @since 21-Jul-2008
*/
-@SuppressWarnings("serial")
public class RoleImpl extends ParticipantImpl implements Role
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
public RoleImpl(ObjectName name)
{
super(name);
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SendTaskImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SendTaskImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SendTaskImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -37,9 +37,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class SendTaskImpl extends TaskImpl implements SendTask
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
// A Web service is the default technology
private Implementation implementation = Implementation.WebService;
private Message messageRef;
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SequenceFlowImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SequenceFlowImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SequenceFlowImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -34,9 +34,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class SequenceFlowImpl extends FlowImpl implements SequenceFlow
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
private ConditionType conditionType = ConditionType.None;
private Expression conditionExpression;
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SignalEventDetailImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SignalEventDetailImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SignalEventDetailImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -32,9 +32,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class SignalEventDetailImpl extends EventDetailImpl implements SignalEventDetail
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
private Signal signalRef;
public EventDetailType getEventDetailType()
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/StartEventImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/StartEventImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/StartEventImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -57,15 +57,16 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class StartEventImpl extends EventImpl implements StartEvent, SingleOutFlowSetterSupport
{
// provide logging
private static final Log log = LogFactory.getLog(StartEventImpl.class);
-
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
private SequenceFlow outFlow;
private List<EventDetail> triggers = new ArrayList<EventDetail>();
- private SignalListener startListener;
+ private transient SignalListener startListener;
public StartEventImpl(String name)
{
@@ -117,6 +118,8 @@
{
handler = new SignalHandler()
{
+ private static final long serialVersionUID = 1L;
+
SignalManager signalManager = SignalManager.locateSignalManager();
public void throwEnterSignal(Token token)
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SubProcessImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SubProcessImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SubProcessImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -40,9 +40,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public class SubProcessImpl extends ActivityImpl implements SubProcess, SingleInFlowSetterSupport, SingleOutFlowSetterSupport
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
public SubProcessImpl(String name)
{
super(name);
@@ -72,6 +74,8 @@
{
handler = new SignalHandler()
{
+ private static final long serialVersionUID = 1L;
+
SignalManager signalManager = SignalManager.locateSignalManager();
public void throwEnterSignal(Token token)
{
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SupportingElementImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SupportingElementImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SupportingElementImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -36,9 +36,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public abstract class SupportingElementImpl extends AbstractElementImpl implements SupportingElement
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
@Override
public ObjectName getID()
{
Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/TaskImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/TaskImpl.java 2008-09-16 15:41:56 UTC (rev 2267)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/TaskImpl.java 2008-09-17 08:08:02 UTC (rev 2268)
@@ -43,9 +43,11 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@SuppressWarnings("serial")
public abstract class TaskImpl extends ActivityImpl implements Task
{
+ // provide serial version UID
+ private static final long serialVersionUID = 1L;
+
public TaskImpl(String name)
{
super(name);
@@ -77,6 +79,8 @@
{
handler = new SignalHandler()
{
+ private static final long serialVersionUID = 1L;
+
SignalManager signalManager = SignalManager.locateSignalManager();
public void throwEnterSignal(Token token)
17 years, 7 months
JBoss JBPM SVN: r2267 - in jbpm4/pvm/trunk/modules/manual/src/main: docbook/en/images and 1 other directories.
by do-not-reply@jboss.org
Author: tom.baeyens(a)jboss.com
Date: 2008-09-16 11:41:56 -0400 (Tue, 16 Sep 2008)
New Revision: 2267
Modified:
jbpm4/pvm/trunk/modules/manual/src/main/diagrams/images.ppt
jbpm4/pvm/trunk/modules/manual/src/main/docbook/en/images/apis.png
jbpm4/pvm/trunk/modules/manual/src/main/docbook/en/modules/ch03-Architecture.xml
Log:
docs
Modified: jbpm4/pvm/trunk/modules/manual/src/main/diagrams/images.ppt
===================================================================
(Binary files differ)
Modified: jbpm4/pvm/trunk/modules/manual/src/main/docbook/en/images/apis.png
===================================================================
(Binary files differ)
Modified: jbpm4/pvm/trunk/modules/manual/src/main/docbook/en/modules/ch03-Architecture.xml
===================================================================
--- jbpm4/pvm/trunk/modules/manual/src/main/docbook/en/modules/ch03-Architecture.xml 2008-09-16 15:30:25 UTC (rev 2266)
+++ jbpm4/pvm/trunk/modules/manual/src/main/docbook/en/modules/ch03-Architecture.xml 2008-09-16 15:41:56 UTC (rev 2267)
@@ -44,15 +44,9 @@
<programlisting>public interface ActivityExecution extends OpenExecution {
void waitForSignal();
- void takeDefaultTransition();
void take(String transitionName);
void execute(String nodeName);
- Execution createExecution();
- void removeExecution(Execution child);
-
- ClientProcessInstance createSubProcessInstance(ClientProcessDefinition processDefinition);
-
...
}</programlisting>
17 years, 7 months
JBoss JBPM SVN: r2266 - jbpm4/docbook-style.
by do-not-reply@jboss.org
Author: tom.baeyens(a)jboss.com
Date: 2008-09-16 11:30:25 -0400 (Tue, 16 Sep 2008)
New Revision: 2266
Modified:
jbpm4/docbook-style/pom.xml
Log:
updated group id to org.jbpm.jbpm4
Modified: jbpm4/docbook-style/pom.xml
===================================================================
--- jbpm4/docbook-style/pom.xml 2008-09-16 14:57:48 UTC (rev 2265)
+++ jbpm4/docbook-style/pom.xml 2008-09-16 15:30:25 UTC (rev 2266)
@@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
- <groupId>org.jbpm</groupId>
+ <groupId>org.jbpm.jbpm4</groupId>
<artifactId>docbook-style</artifactId>
<packaging>jdocbook-style</packaging>
<version>1.0.0</version>
17 years, 7 months