JBoss JBPM SVN: r2520 - projects/spec/trunk.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-10-10 04:06:33 -0400 (Fri, 10 Oct 2008)
New Revision: 2520
Modified:
projects/spec/trunk/pom.xml
Log:
Use parent 1.0.1-SNAPSHOT
Modified: projects/spec/trunk/pom.xml
===================================================================
--- projects/spec/trunk/pom.xml 2008-10-10 08:05:08 UTC (rev 2519)
+++ projects/spec/trunk/pom.xml 2008-10-10 08:06:33 UTC (rev 2520)
@@ -28,7 +28,7 @@
<parent>
<groupId>org.jbpm</groupId>
<artifactId>jbpm-parent</artifactId>
- <version>1.0.0.GA</version>
+ <version>1.0.1-SNAPSHOT</version>
</parent>
<!-- Modules -->
17 years, 6 months
JBoss JBPM SVN: r2519 - projects/parent/trunk.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-10-10 04:05:08 -0400 (Fri, 10 Oct 2008)
New Revision: 2519
Modified:
projects/parent/trunk/pom.xml
Log:
Restore default compiler plugin version
Modified: projects/parent/trunk/pom.xml
===================================================================
--- projects/parent/trunk/pom.xml 2008-10-10 07:55:40 UTC (rev 2518)
+++ projects/parent/trunk/pom.xml 2008-10-10 08:05:08 UTC (rev 2519)
@@ -119,11 +119,6 @@
</dependencies>
</plugin>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>2.0.2.SP1</version>
- </plugin>
- <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.1</version>
17 years, 6 months
JBoss JBPM SVN: r2518 - in jbpm3/trunk: modules/enterprise/jar and 4 other directories.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-10-10 03:55:40 -0400 (Fri, 10 Oct 2008)
New Revision: 2518
Modified:
jbpm3/trunk/modules/enterprise/jar/pom.xml
jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/enterprise/AppServerConfigurationsTest.java
jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/enterprise/ContainerProvidedJarsTest.java
jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/msg/jms/JmsMessageTest.java
jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/persistence/jta/JtaDbPersistenceTest.java
jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/scheduler/ejbtimer/EjbSchedulerTest.java
jbpm3/trunk/pom.xml
Log:
Fix dependency on jbpm-spec-api
Modified: jbpm3/trunk/modules/enterprise/jar/pom.xml
===================================================================
--- jbpm3/trunk/modules/enterprise/jar/pom.xml 2008-10-10 07:54:54 UTC (rev 2517)
+++ jbpm3/trunk/modules/enterprise/jar/pom.xml 2008-10-10 07:55:40 UTC (rev 2518)
@@ -87,10 +87,14 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.jbpm.spec</groupId>
+ <groupId>org.jbpm.jbpm4</groupId>
<artifactId>jbpm-spec-api</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ </dependency>
</dependencies>
<!-- Plugins -->
Modified: jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/enterprise/AppServerConfigurationsTest.java
===================================================================
--- jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/enterprise/AppServerConfigurationsTest.java 2008-10-10 07:54:54 UTC (rev 2517)
+++ jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/enterprise/AppServerConfigurationsTest.java 2008-10-10 07:55:40 UTC (rev 2518)
@@ -24,8 +24,8 @@
import junit.framework.Test;
import org.apache.cactus.ServletTestCase;
-import org.jboss.bpm.test.IntegrationTestSetup;
import org.jbpm.JbpmConfiguration;
+import org.jbpm.api.test.IntegrationTestSetup;
import org.jbpm.msg.jms.JmsMessageServiceFactoryImpl;
import org.jbpm.persistence.jta.JtaDbPersistenceServiceFactory;
import org.jbpm.scheduler.ejbtimer.EntitySchedulerServiceFactory;
Modified: jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/enterprise/ContainerProvidedJarsTest.java
===================================================================
--- jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/enterprise/ContainerProvidedJarsTest.java 2008-10-10 07:54:54 UTC (rev 2517)
+++ jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/enterprise/ContainerProvidedJarsTest.java 2008-10-10 07:55:40 UTC (rev 2518)
@@ -29,41 +29,45 @@
import javax.management.ObjectName;
-import org.jboss.bpm.model.ObjectNameFactory;
-import org.jboss.bpm.test.IntegrationTestCase;
+import junit.framework.TestCase;
+import org.jbpm.api.model.builder.ObjectNameFactory;
+import org.jbpm.api.test.IntegrationTestHelper;
+
/**
* Test that there are jars deployed which should in fact be provided by the container
*
* @author thomas.diesler(a)jboss.com
* @since 23-Sep-2008
*/
-public class ContainerProvidedJarsTest extends IntegrationTestCase
+public class ContainerProvidedJarsTest extends TestCase
{
+ IntegrationTestHelper delegate = new IntegrationTestHelper();
+
public void testDependencies() throws Exception
{
String targetContainer = null;
- if (isTargetJBoss422())
+ if (delegate.isTargetJBoss422())
{
targetContainer = "jboss422";
}
- else if (isTargetJBoss423())
+ else if (delegate.isTargetJBoss423())
{
targetContainer = "jboss423";
}
- else if (isTargetJBoss500())
+ else if (delegate.isTargetJBoss500())
{
targetContainer = "jboss500";
}
assertNotNull("System property 'target.container' not null", targetContainer);
assertTrue("Supported target.container: " + targetContainer, "jboss422,jboss423,jboss500".indexOf(targetContainer) >= 0);
- File jbossJars = getResourceFile(targetContainer + "-dependencies.txt");
+ File jbossJars = delegate.getResourceFile(targetContainer + "-dependencies.txt");
assertTrue("JBoss jar fixture exists: " + jbossJars, jbossJars.exists());
// Read the JBoss ServerHomeDir
ObjectName oname = ObjectNameFactory.create("jboss.system:type=ServerConfig");
- File serverHomeDir = (File)getServer().getAttribute(oname, "ServerHomeDir");
+ File serverHomeDir = (File)delegate.getServer().getAttribute(oname, "ServerHomeDir");
if (serverHomeDir == null)
throw new IllegalStateException("Cannot obtain jboss home dir");
Modified: jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/msg/jms/JmsMessageTest.java
===================================================================
--- jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/msg/jms/JmsMessageTest.java 2008-10-10 07:54:54 UTC (rev 2517)
+++ jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/msg/jms/JmsMessageTest.java 2008-10-10 07:55:40 UTC (rev 2518)
@@ -31,10 +31,9 @@
import org.apache.cactus.ServletTestCase;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-
-import org.jboss.bpm.test.IntegrationTestSetup;
import org.jbpm.EventCallback;
import org.jbpm.JbpmContext;
+import org.jbpm.api.test.IntegrationTestSetup;
import org.jbpm.command.Command;
import org.jbpm.command.DeployProcessCommand;
import org.jbpm.command.StartProcessInstanceCommand;
Modified: jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/persistence/jta/JtaDbPersistenceTest.java
===================================================================
--- jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/persistence/jta/JtaDbPersistenceTest.java 2008-10-10 07:54:54 UTC (rev 2517)
+++ jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/persistence/jta/JtaDbPersistenceTest.java 2008-10-10 07:55:40 UTC (rev 2518)
@@ -29,13 +29,14 @@
import junit.framework.Test;
import org.apache.cactus.ServletTestCase;
-import org.jboss.bpm.test.IntegrationTestSetup;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
+import org.jbpm.api.test.IntegrationTestSetup;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
-public class JtaDbPersistenceTest extends ServletTestCase {
+public class JtaDbPersistenceTest extends ServletTestCase
+{
private JbpmConfiguration jbpmConfiguration;
private UserTransaction tx;
@@ -43,32 +44,38 @@
private static long definitionId;
- public static Test suite() throws Exception {
- return new IntegrationTestSetup(JtaDbPersistenceTest.class, "enterprise-test.war");
+ public static Test suite() throws Exception
+ {
+ return new IntegrationTestSetup(JtaDbPersistenceTest.class, "enterprise-test.war");
}
-
- protected void setUp() throws Exception {
+
+ protected void setUp() throws Exception
+ {
jbpmConfiguration = JbpmConfiguration.getInstance();
}
- public void testUserTx() throws Exception {
+ public void testUserTx() throws Exception
+ {
tx = getUserTransaction();
testServiceTx();
}
- public void testUserTxRollback() throws Exception {
+ public void testUserTxRollback() throws Exception
+ {
tx = getUserTransaction();
testServiceTxRollback();
}
- public void testServiceTx() throws Exception {
+ public void testServiceTx() throws Exception
+ {
long definitionId = deployProcess();
long instanceId = launchProcess(definitionId);
signal(instanceId);
assertTrue(hasEnded(instanceId));
}
- public void testServiceTxRollback() throws Exception {
+ public void testServiceTxRollback() throws Exception
+ {
rollback = true;
long definitionId = deployProcess();
long instanceId = launchProcess(definitionId);
@@ -76,134 +83,170 @@
assertFalse(hasEnded(instanceId));
}
- private long deployProcess() throws Exception {
- if (definitionId == 0) {
- try {
- if (tx != null) tx.begin();
+ private long deployProcess() throws Exception
+ {
+ if (definitionId == 0)
+ {
+ try
+ {
+ if (tx != null)
+ tx.begin();
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- try {
+ try
+ {
assertEquals(tx == null, isTxCreatedByService(jbpmContext));
- ProcessDefinition definition = ProcessDefinition.parseXmlString("<process-definition name='tx'>"
- + " <start-state name='start'>"
- + " <transition to='midway' />"
- + " </start-state>"
- + " <state name='midway'>"
- + " <transition to='end' />"
- + " </state>"
- + " <end-state name='end' />"
- + "</process-definition>");
+ ProcessDefinition definition = ProcessDefinition.parseXmlString("<process-definition name='tx'>" + " <start-state name='start'>"
+ + " <transition to='midway' />" + " </start-state>" + " <state name='midway'>" + " <transition to='end' />" + " </state>"
+ + " <end-state name='end' />" + "</process-definition>");
jbpmContext.deployProcessDefinition(definition);
definitionId = definition.getId();
}
- catch (RuntimeException e) {
- if (tx == null) jbpmContext.setRollbackOnly();
+ catch (RuntimeException e)
+ {
+ if (tx == null)
+ jbpmContext.setRollbackOnly();
throw e;
}
- finally {
+ finally
+ {
jbpmContext.close();
}
- if (tx != null) tx.commit();
+ if (tx != null)
+ tx.commit();
}
- catch (Exception e) {
- if (tx != null) tx.rollback();
+ catch (Exception e)
+ {
+ if (tx != null)
+ tx.rollback();
throw e;
}
}
return definitionId;
}
- private long launchProcess(long definitionId) throws Exception {
- try {
- if (tx != null) tx.begin();
+ private long launchProcess(long definitionId) throws Exception
+ {
+ try
+ {
+ if (tx != null)
+ tx.begin();
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
ProcessInstance instance;
- try {
+ try
+ {
assertEquals(tx == null, isTxCreatedByService(jbpmContext));
- ProcessDefinition definition = jbpmContext.getGraphSession().loadProcessDefinition(
- definitionId);
+ ProcessDefinition definition = jbpmContext.getGraphSession().loadProcessDefinition(definitionId);
instance = new ProcessInstance(definition);
instance.signal();
jbpmContext.save(instance);
}
- catch (RuntimeException e) {
- if (tx == null) jbpmContext.setRollbackOnly();
+ catch (RuntimeException e)
+ {
+ if (tx == null)
+ jbpmContext.setRollbackOnly();
throw e;
}
- finally {
+ finally
+ {
jbpmContext.close();
}
- if (tx != null) tx.commit();
+ if (tx != null)
+ tx.commit();
return instance.getId();
}
- catch (Exception e) {
- if (tx != null) tx.rollback();
+ catch (Exception e)
+ {
+ if (tx != null)
+ tx.rollback();
throw e;
}
}
- private void signal(long instanceId) throws Exception {
- try {
- if (tx != null) tx.begin();
+ private void signal(long instanceId) throws Exception
+ {
+ try
+ {
+ if (tx != null)
+ tx.begin();
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- try {
+ try
+ {
assertEquals(tx == null, isTxCreatedByService(jbpmContext));
ProcessInstance instance = jbpmContext.loadProcessInstanceForUpdate(instanceId);
instance.signal();
- if (rollback && tx == null) jbpmContext.setRollbackOnly();
+ if (rollback && tx == null)
+ jbpmContext.setRollbackOnly();
}
- catch (RuntimeException e) {
- if (tx == null) jbpmContext.setRollbackOnly();
+ catch (RuntimeException e)
+ {
+ if (tx == null)
+ jbpmContext.setRollbackOnly();
throw e;
}
- finally {
+ finally
+ {
jbpmContext.close();
}
- if (tx != null) {
- if (rollback)
+ if (tx != null)
+ {
+ if (rollback)
tx.rollback();
else
tx.commit();
}
}
- catch (Exception e) {
- if (tx != null) tx.rollback();
+ catch (Exception e)
+ {
+ if (tx != null)
+ tx.rollback();
throw e;
}
}
- private boolean hasEnded(long instanceId) throws Exception {
- try {
- if (tx != null) tx.begin();
+ private boolean hasEnded(long instanceId) throws Exception
+ {
+ try
+ {
+ if (tx != null)
+ tx.begin();
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
ProcessInstance instance;
- try {
+ try
+ {
assertEquals(tx == null, isTxCreatedByService(jbpmContext));
instance = jbpmContext.loadProcessInstanceForUpdate(instanceId);
}
- catch (RuntimeException e) {
- if (tx == null) jbpmContext.setRollbackOnly();
+ catch (RuntimeException e)
+ {
+ if (tx == null)
+ jbpmContext.setRollbackOnly();
throw e;
}
- finally {
+ finally
+ {
jbpmContext.close();
}
- if (tx != null) tx.commit();
+ if (tx != null)
+ tx.commit();
return instance.hasEnded();
}
- catch (Exception e) {
- if (tx != null) tx.rollback();
+ catch (Exception e)
+ {
+ if (tx != null)
+ tx.rollback();
throw e;
}
}
- private boolean isTxCreatedByService(JbpmContext jbpmContext) {
- JtaDbPersistenceService persistenceService = (JtaDbPersistenceService) jbpmContext.getServices()
- .getPersistenceService();
+ private boolean isTxCreatedByService(JbpmContext jbpmContext)
+ {
+ JtaDbPersistenceService persistenceService = (JtaDbPersistenceService)jbpmContext.getServices().getPersistenceService();
return persistenceService.isJtaTxCreated();
}
- private static UserTransaction getUserTransaction() throws NamingException {
+ private static UserTransaction getUserTransaction() throws NamingException
+ {
Context initial = new InitialContext();
- return (UserTransaction) initial.lookup("java:comp/UserTransaction");
+ return (UserTransaction)initial.lookup("java:comp/UserTransaction");
}
}
Modified: jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/scheduler/ejbtimer/EjbSchedulerTest.java
===================================================================
--- jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/scheduler/ejbtimer/EjbSchedulerTest.java 2008-10-10 07:54:54 UTC (rev 2517)
+++ jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/scheduler/ejbtimer/EjbSchedulerTest.java 2008-10-10 07:55:40 UTC (rev 2518)
@@ -31,10 +31,9 @@
import org.apache.cactus.ServletTestCase;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-
-import org.jboss.bpm.test.IntegrationTestSetup;
import org.jbpm.EventCallback;
import org.jbpm.JbpmContext;
+import org.jbpm.api.test.IntegrationTestSetup;
import org.jbpm.command.Command;
import org.jbpm.command.DeployProcessCommand;
import org.jbpm.command.StartProcessInstanceCommand;
@@ -47,9 +46,11 @@
/**
* Exercises for the {@linkplain EntitySchedulerService EJB scheduler service}.
+ *
* @author Alejandro Guizar
*/
-public class EjbSchedulerTest extends ServletTestCase {
+public class EjbSchedulerTest extends ServletTestCase
+{
private LocalCommandService commandService;
@@ -57,17 +58,22 @@
private static final Log log = LogFactory.getLog(EjbSchedulerTest.class);
- public static Test suite() throws Exception {
+ public static Test suite() throws Exception
+ {
return new IntegrationTestSetup(EjbSchedulerTest.class, "enterprise-test.war");
}
- protected void setUp() throws Exception {
- if (commandServiceHome == null) {
+ protected void setUp() throws Exception
+ {
+ if (commandServiceHome == null)
+ {
Context initialContext = new InitialContext();
- try {
- commandServiceHome = (LocalCommandServiceHome) initialContext.lookup("java:comp/env/ejb/CommandServiceBean");
+ try
+ {
+ commandServiceHome = (LocalCommandServiceHome)initialContext.lookup("java:comp/env/ejb/CommandServiceBean");
}
- finally {
+ finally
+ {
initialContext.close();
}
}
@@ -75,65 +81,42 @@
log.info("### " + getName() + " started ###");
}
- protected void tearDown() throws Exception {
+ protected void tearDown() throws Exception
+ {
log.info("### " + getName() + " done ###");
commandService = null;
}
- public void testScheduleFuture() throws Exception {
- deployProcess("<process-definition name='future'>"
- + " <event type='process-end'>"
- + " <action expression='#{eventCallback.processEnd}'/>"
- + " </event>"
- + " <start-state name='start'>"
- + " <transition to='a' />"
- + " </start-state>"
- + " <state name='a'>"
- + " <timer duedate='1 second' transition='timeout' />"
- + " <transition name='timeout' to='end' />"
- + " </state>"
- + " <end-state name='end' />"
+ public void testScheduleFuture() throws Exception
+ {
+ deployProcess("<process-definition name='future'>" + " <event type='process-end'>" + " <action expression='#{eventCallback.processEnd}'/>" + " </event>"
+ + " <start-state name='start'>" + " <transition to='a' />" + " </start-state>" + " <state name='a'>"
+ + " <timer duedate='1 second' transition='timeout' />" + " <transition name='timeout' to='end' />" + " </state>" + " <end-state name='end' />"
+ "</process-definition>");
long processId = launchProcess("future").getId();
EventCallback.waitForEvent(Event.EVENTTYPE_PROCESS_END);
assertTrue(isProcessFinished(processId));
}
- public void testSchedulePast() throws Exception {
- deployProcess("<process-definition name='past'>"
- + " <event type='process-end'>"
- + " <action expression='#{eventCallback.processEnd}'/>"
- + " </event>"
- + " <start-state name='start'>"
- + " <transition to='a' />"
- + " </start-state>"
- + " <state name='a'>"
- + " <timer duedate='-1 second' transition='timeout' />"
- + " <transition name='timeout' to='end' />"
- + " </state>"
- + " <end-state name='end' />"
+ public void testSchedulePast() throws Exception
+ {
+ deployProcess("<process-definition name='past'>" + " <event type='process-end'>" + " <action expression='#{eventCallback.processEnd}'/>" + " </event>"
+ + " <start-state name='start'>" + " <transition to='a' />" + " </start-state>" + " <state name='a'>"
+ + " <timer duedate='-1 second' transition='timeout' />" + " <transition name='timeout' to='end' />" + " </state>" + " <end-state name='end' />"
+ "</process-definition>");
long processId = launchProcess("past").getId();
EventCallback.waitForEvent(Event.EVENTTYPE_PROCESS_END);
assertTrue(isProcessFinished(processId));
}
- public void testScheduleRepeat() throws Exception {
- deployProcess("<process-definition name='repeat'>"
- + " <event type='timer'>"
- + " <action expression='#{eventCallback.timer}'/>"
- + " </event>"
- + " <start-state name='start'>"
- + " <transition to='a' />"
- + " </start-state>"
- + " <state name='a'>"
- + " <timer duedate='1 second' repeat='1 second' />"
- + " <transition to='end' />"
- + " </state>"
- + " <end-state name='end' />"
- + "</process-definition>");
+ public void testScheduleRepeat() throws Exception
+ {
+ deployProcess("<process-definition name='repeat'>" + " <event type='timer'>" + " <action expression='#{eventCallback.timer}'/>" + " </event>"
+ + " <start-state name='start'>" + " <transition to='a' />" + " </start-state>" + " <state name='a'>"
+ + " <timer duedate='1 second' repeat='1 second' />" + " <transition to='end' />" + " </state>" + " <end-state name='end' />" + "</process-definition>");
long processId = launchProcess("repeat").getId();
- for (int i = 0; i < 3; i++) {
+ for (int i = 0; i < 3; i++)
+ {
EventCallback.waitForEvent(Event.EVENTTYPE_TIMER);
assertEquals("a", getProcessState(processId));
}
@@ -141,20 +124,11 @@
assertTrue(isProcessFinished(processId));
}
- public void testCancel() throws Exception {
- deployProcess("<process-definition name='cancel'>"
- + " <event type='timer'>"
- + " <action expression='#{eventCallback.timer}'/>"
- + " </event>"
- + " <start-state name='start'>"
- + " <transition to='a' />"
- + " </start-state>"
- + " <state name='a'>"
- + " <timer duedate='1 second' repeat='1 second' />"
- + " <transition to='end' />"
- + " </state>"
- + " <end-state name='end' />"
- + "</process-definition>");
+ public void testCancel() throws Exception
+ {
+ deployProcess("<process-definition name='cancel'>" + " <event type='timer'>" + " <action expression='#{eventCallback.timer}'/>" + " </event>"
+ + " <start-state name='start'>" + " <transition to='a' />" + " </start-state>" + " <state name='a'>"
+ + " <timer duedate='1 second' repeat='1 second' />" + " <transition to='end' />" + " </state>" + " <end-state name='end' />" + "</process-definition>");
ProcessInstance process = launchProcess("cancel");
long processId = process.getId();
// first expiration
@@ -170,42 +144,20 @@
assertTrue(isProcessFinished(processId));
}
- public void testScheduleSequence() throws Exception {
- deployProcess("<process-definition name='sequence'>"
- + " <event type='process-end'>"
- + " <action expression='#{eventCallback.processEnd}'/>"
- + " </event>"
- + " <event type='timer'>"
- + " <action expression='#{eventCallback.timer}'/>"
- + " </event>"
- + " <start-state>"
- + " <transition to='a' />"
- + " </start-state>"
- + " <state name='a'>"
- + " <timer duedate='500 milliseconds' transition='timeout' />"
- + " <transition name='timeout' to='b' />"
- + " </state>"
- + " <state name='b'>"
- + " <timer duedate='500 milliseconds' transition='timeout' />"
- + " <transition name='timeout' to='c' />"
- + " </state>"
- + " <state name='c'>"
- + " <timer duedate='500 milliseconds' transition='timeout' />"
- + " <transition name='timeout' to='d' />"
- + " </state>"
- + " <state name='d'>"
- + " <timer duedate='500 milliseconds' transition='timeout' />"
- + " <transition name='timeout' to='e' />"
- + " </state>"
- + " <state name='e'>"
- + " <timer duedate='500 milliseconds' transition='timeout' />"
- + " <transition name='timeout' to='end' />"
- + " </state>"
- + " <end-state name='end' />"
- + "</process-definition>");
+ public void testScheduleSequence() throws Exception
+ {
+ deployProcess("<process-definition name='sequence'>" + " <event type='process-end'>" + " <action expression='#{eventCallback.processEnd}'/>" + " </event>"
+ + " <event type='timer'>" + " <action expression='#{eventCallback.timer}'/>" + " </event>" + " <start-state>" + " <transition to='a' />"
+ + " </start-state>" + " <state name='a'>" + " <timer duedate='500 milliseconds' transition='timeout' />" + " <transition name='timeout' to='b' />"
+ + " </state>" + " <state name='b'>" + " <timer duedate='500 milliseconds' transition='timeout' />" + " <transition name='timeout' to='c' />"
+ + " </state>" + " <state name='c'>" + " <timer duedate='500 milliseconds' transition='timeout' />" + " <transition name='timeout' to='d' />"
+ + " </state>" + " <state name='d'>" + " <timer duedate='500 milliseconds' transition='timeout' />" + " <transition name='timeout' to='e' />"
+ + " </state>" + " <state name='e'>" + " <timer duedate='500 milliseconds' transition='timeout' />" + " <transition name='timeout' to='end' />"
+ + " </state>" + " <end-state name='end' />" + "</process-definition>");
long processId = launchProcess("sequence").getId();
char state = 'b';
- for (int i = 0; i < 4; i++) {
+ for (int i = 0; i < 4; i++)
+ {
EventCallback.waitForEvent(Event.EVENTTYPE_TIMER);
assertEquals(Character.toString(state++), getProcessState(processId));
}
@@ -213,95 +165,84 @@
assertTrue(isProcessFinished(processId));
}
- public void testScheduleFork() throws InterruptedException {
- deployProcess("<process-definition name='fork'>"
- + " <event type='process-end'>"
- + " <action expression='#{eventCallback.processEnd}'/>"
- + " </event>"
- + " <start-state>"
- + " <transition to='f' />"
- + " </start-state>"
- + " <fork name='f'>"
- + " <transition name='a' to='a' />"
- + " <transition name='b' to='b' />"
- + " <transition name='c' to='c' />"
- + " <transition name='d' to='d' />"
- + " <transition name='e' to='e' />"
- + " </fork>"
- + " <state name='a'>"
- + " <timer duedate='0.25 seconds' transition='timeout' />"
- + " <transition name='timeout' to='j' />"
- + " </state>"
- + " <state name='b'>"
- + " <timer duedate='0.5 seconds' transition='timeout' />"
- + " <transition name='timeout' to='j' />"
- + " </state>"
- + " <state name='c'>"
- + " <timer duedate='0.75 seconds' transition='timeout' />"
- + " <transition name='timeout' to='j' />"
- + " </state>"
- + " <state name='d'>"
- + " <timer duedate='1 second' transition='timeout' />"
- + " <transition name='timeout' to='j' />"
- + " </state>"
- + " <state name='e'>"
- + " <timer duedate='1.25 second' transition='timeout' />"
- + " <transition name='timeout' to='j' />"
- + " </state>"
- + " <join name='j'>"
- + " <transition to='end' />"
- + " </join>"
- + " <end-state name='end' />"
- + "</process-definition>");
+ public void testScheduleFork() throws InterruptedException
+ {
+ deployProcess("<process-definition name='fork'>" + " <event type='process-end'>" + " <action expression='#{eventCallback.processEnd}'/>" + " </event>"
+ + " <start-state>" + " <transition to='f' />" + " </start-state>" + " <fork name='f'>" + " <transition name='a' to='a' />"
+ + " <transition name='b' to='b' />" + " <transition name='c' to='c' />" + " <transition name='d' to='d' />" + " <transition name='e' to='e' />"
+ + " </fork>" + " <state name='a'>" + " <timer duedate='0.25 seconds' transition='timeout' />" + " <transition name='timeout' to='j' />" + " </state>"
+ + " <state name='b'>" + " <timer duedate='0.5 seconds' transition='timeout' />" + " <transition name='timeout' to='j' />" + " </state>"
+ + " <state name='c'>" + " <timer duedate='0.75 seconds' transition='timeout' />" + " <transition name='timeout' to='j' />" + " </state>"
+ + " <state name='d'>" + " <timer duedate='1 second' transition='timeout' />" + " <transition name='timeout' to='j' />" + " </state>"
+ + " <state name='e'>" + " <timer duedate='1.25 second' transition='timeout' />" + " <transition name='timeout' to='j' />" + " </state>"
+ + " <join name='j'>" + " <transition to='end' />" + " </join>" + " <end-state name='end' />" + "</process-definition>");
long processId = launchProcess("fork").getId();
EventCallback.waitForEvent(Event.EVENTTYPE_PROCESS_END);
assertTrue(isProcessFinished(processId));
}
- private ProcessDefinition deployProcess(String xml) {
- return (ProcessDefinition) commandService.execute(new DeployProcessCommand(xml));
+ private ProcessDefinition deployProcess(String xml)
+ {
+ return (ProcessDefinition)commandService.execute(new DeployProcessCommand(xml));
}
- private ProcessInstance launchProcess(String processName) {
+ private ProcessInstance launchProcess(String processName)
+ {
StartProcessInstanceCommand command = new StartProcessInstanceCommand();
command.setProcessName(processName);
command.setVariables(Collections.singletonMap("eventCallback", new EventCallback()));
- return (ProcessInstance) commandService.execute(command);
+ return (ProcessInstance)commandService.execute(command);
}
- private void signalProcess(final long processId) {
- commandService.execute(new Command() {
+ private void signalProcess(final long processId)
+ {
+ commandService.execute(new Command()
+ {
private static final long serialVersionUID = 1L;
- public Object execute(JbpmContext jbpmContext) throws Exception {
+
+ public Object execute(JbpmContext jbpmContext) throws Exception
+ {
jbpmContext.loadProcessInstanceForUpdate(processId).signal();
return null;
}
});
}
- private String getProcessState(final long processId) {
- return (String) commandService.execute(new Command() {
+ private String getProcessState(final long processId)
+ {
+ return (String)commandService.execute(new Command()
+ {
private static final long serialVersionUID = 1L;
- public Object execute(JbpmContext jbpmContext) throws Exception {
+
+ public Object execute(JbpmContext jbpmContext) throws Exception
+ {
return jbpmContext.loadProcessInstance(processId).getRootToken().getNode().getName();
}
});
}
- private boolean isProcessFinished(final long processId) {
- Boolean isFinished = (Boolean) commandService.execute(new Command() {
+ private boolean isProcessFinished(final long processId)
+ {
+ Boolean isFinished = (Boolean)commandService.execute(new Command()
+ {
private static final long serialVersionUID = 1L;
- public Object execute(JbpmContext jbpmContext) throws Exception {
+
+ public Object execute(JbpmContext jbpmContext) throws Exception
+ {
return jbpmContext.loadProcessInstance(processId).hasEnded();
}
});
return isFinished.booleanValue();
}
- private void cancelTimer(final String timerName, final long tokenId) {
- commandService.execute(new Command() {
+ private void cancelTimer(final String timerName, final long tokenId)
+ {
+ commandService.execute(new Command()
+ {
private static final long serialVersionUID = 1L;
- public Object execute(JbpmContext jbpmContext) throws Exception {
+
+ public Object execute(JbpmContext jbpmContext) throws Exception
+ {
Token token = jbpmContext.loadToken(tokenId);
jbpmContext.getServices().getSchedulerService().deleteTimersByName(timerName, token);
return null;
Modified: jbpm3/trunk/pom.xml
===================================================================
--- jbpm3/trunk/pom.xml 2008-10-10 07:54:54 UTC (rev 2517)
+++ jbpm3/trunk/pom.xml 2008-10-10 07:55:40 UTC (rev 2518)
@@ -75,7 +75,7 @@
<oscache.version>2.4</oscache.version>
<poi.version>3.0.2-FINAL</poi.version>
<richfaces.ui.version>3.2.1.GA</richfaces.ui.version>
- <slf4j.version>1.5.2</slf4j.version>
+ <slf4j.version>1.5.3</slf4j.version>
<sun.facelets.version>1.1.14</sun.facelets.version>
<!-- Database Driver Versions -->
@@ -89,17 +89,11 @@
<dependencies>
<!-- jBPM Dependencies -->
<dependency>
- <groupId>org.jbpm.spec</groupId>
+ <groupId>org.jbpm.jbpm4</groupId>
<artifactId>jbpm-spec-api</artifactId>
<version>${jbpm.api.version}</version>
</dependency>
<dependency>
- <groupId>org.jbpm.spec</groupId>
- <artifactId>jbpm-spec-cts</artifactId>
- <version>${jbpm.api.version}</version>
- <type>zip</type>
- </dependency>
- <dependency>
<groupId>org.jbpm</groupId>
<artifactId>jbpm-jpdl-designer</artifactId>
<version>${jboss.jbpm.designer.version}</version>
17 years, 6 months
JBoss JBPM SVN: r2517 - projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-10-10 03:54:54 -0400 (Fri, 10 Oct 2008)
New Revision: 2517
Added:
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/IntegrationTestCase.java
Modified:
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/IntegrationTestHelper.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/IntegrationTestSetup.java
Log:
Add IntegrationTestCase
Added: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/IntegrationTestCase.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/IntegrationTestCase.java (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/IntegrationTestCase.java 2008-10-10 07:54:54 UTC (rev 2517)
@@ -0,0 +1,77 @@
+/*
+ * 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.jbpm.api.test;
+
+// $Id$
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import javax.management.MBeanServerConnection;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * An integration test case
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Sep-2008
+ */
+public class IntegrationTestCase extends CTSTestCase
+{
+ // Provide logging
+ final Logger log = LoggerFactory.getLogger(IntegrationTestCase.class);
+
+ private IntegrationTestHelper delegate = new IntegrationTestHelper();
+
+ public File getArchiveFile(String archive)
+ {
+ return delegate.getArchiveFile(archive);
+ }
+
+ public URL getArchiveURL(String archive) throws MalformedURLException
+ {
+ return delegate.getArchiveFile(archive).toURI().toURL();
+ }
+
+ public boolean isTargetJBoss500()
+ {
+ return delegate.isTargetJBoss500();
+ }
+
+ public boolean isTargetJBoss423()
+ {
+ return delegate.isTargetJBoss423();
+ }
+
+ public boolean isTargetJBoss422()
+ {
+ return delegate.isTargetJBoss422();
+ }
+
+ public MBeanServerConnection getServer()
+ {
+ return delegate.getServer();
+ }
+}
Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/IntegrationTestCase.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/IntegrationTestHelper.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/IntegrationTestHelper.java 2008-10-10 06:56:39 UTC (rev 2516)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/IntegrationTestHelper.java 2008-10-10 07:54:54 UTC (rev 2517)
@@ -27,109 +27,141 @@
import java.util.Hashtable;
import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
import javax.naming.InitialContext;
import javax.naming.NamingException;
+import org.jbpm.api.model.builder.ObjectNameFactory;
+
/**
* An integration test helper that deals with test deployment/undeployment, etc.
- *
+ *
* @author Thomas.Diesler(a)jboss.org
* @since 14-Oct-2004
*/
public class IntegrationTestHelper extends CTSTestHelper
{
- private static final String SYSPROP_TEST_ARCHIVE_DIRECTORY = "test.archive.directory";
+ private static final String SYSPROP_TEST_ARCHIVE_DIRECTORY = "test.archive.directory";
- private static MBeanServerConnection server;
- private static String testArchiveDir;
+ private static MBeanServerConnection server;
+ private static String testArchiveDir;
+ private String integrationTarget;
- /** Deploy the given archive
- */
- public void deploy(String archive) throws Exception
- {
- URL url = getArchiveFile(archive).toURI().toURL();
- getDeployer().deploy(url);
- }
+ /**
+ * Deploy the given archive
+ */
+ public void deploy(String archive) throws Exception
+ {
+ URL url = getArchiveFile(archive).toURI().toURL();
+ getDeployer().deploy(url);
+ }
- /** Undeploy the given archive
- */
- public void undeploy(String archive) throws Exception
- {
- URL url = getArchiveFile(archive).toURI().toURL();
- getDeployer().undeploy(url);
- }
+ /**
+ * Undeploy the given archive
+ */
+ public void undeploy(String archive) throws Exception
+ {
+ URL url = getArchiveFile(archive).toURI().toURL();
+ getDeployer().undeploy(url);
+ }
- @SuppressWarnings("unchecked")
- public MBeanServerConnection getServer()
- {
- if (server == null)
+ public boolean isTargetJBoss500()
+ {
+ String target = getIntegrationTarget();
+ return target.startsWith("jboss500");
+ }
+
+ public boolean isTargetJBoss423()
+ {
+ String target = getIntegrationTarget();
+ return target.startsWith("jboss423");
+ }
+
+ public boolean isTargetJBoss422()
+ {
+ String target = getIntegrationTarget();
+ return target.startsWith("jboss422");
+ }
+
+ private String getIntegrationTarget()
+ {
+ if (integrationTarget == null)
+ {
+ // Read the JBoss SpecificationVersion
+ String jbossVersion;
+ try
{
- Hashtable jndiEnv = null;
- try
- {
- InitialContext iniCtx = new InitialContext();
- jndiEnv = iniCtx.getEnvironment();
- server = (MBeanServerConnection)iniCtx.lookup("jmx/invoker/RMIAdaptor");
- }
- catch (NamingException ex)
- {
- throw new RuntimeException("Cannot obtain MBeanServerConnection using jndi props: " + jndiEnv, ex);
- }
+ ObjectName oname = ObjectNameFactory.create("jboss.system:type=ServerConfig");
+ jbossVersion = (String)getServer().getAttribute(oname, "SpecificationVersion");
}
- return server;
- }
+ catch (Exception ex)
+ {
+ throw new IllegalStateException("Cannot obtain jboss version", ex);
+ }
- private ArchiveDeployer getDeployer()
- {
- return new JBossArchiveDeployer(getServer());
- }
+ if (jbossVersion.startsWith("5.0.0"))
+ integrationTarget = "jboss500";
+ else if (jbossVersion.startsWith("4.2.3"))
+ integrationTarget = "jboss423";
+ else if (jbossVersion.startsWith("4.2.2"))
+ integrationTarget = "jboss422";
+ else
+ throw new IllegalStateException("Unsupported jboss version: " + jbossVersion);
+ }
+ return integrationTarget;
+ }
- /** Try to discover the URL for the deployment archive */
- public URL getArchiveURL(String archive) throws MalformedURLException
- {
- return getArchiveFile(archive).toURI().toURL();
- }
+ @SuppressWarnings("unchecked")
+ public MBeanServerConnection getServer()
+ {
+ if (server == null)
+ {
+ Hashtable jndiEnv = null;
+ try
+ {
+ InitialContext iniCtx = new InitialContext();
+ jndiEnv = iniCtx.getEnvironment();
+ server = (MBeanServerConnection)iniCtx.lookup("jmx/invoker/RMIAdaptor");
+ }
+ catch (NamingException ex)
+ {
+ throw new RuntimeException("Cannot obtain MBeanServerConnection using jndi props: " + jndiEnv, ex);
+ }
+ }
+ return server;
+ }
- /** Try to discover the File for the deployment archive */
- public File getArchiveFile(String archive)
- {
- File file = new File(archive);
- if (file.exists())
- return file;
+ private ArchiveDeployer getDeployer()
+ {
+ return new JBossArchiveDeployer(getServer());
+ }
- file = new File(getTestArchiveDir() + "/" + archive);
- if (file.exists())
- return file;
+ /** Try to discover the URL for the deployment archive */
+ public URL getArchiveURL(String archive) throws MalformedURLException
+ {
+ return getArchiveFile(archive).toURI().toURL();
+ }
- String notSet = (getTestArchiveDir() == null ? " System property '" + SYSPROP_TEST_ARCHIVE_DIRECTORY + "' not set." : "");
- throw new IllegalArgumentException("Cannot obtain '" + getTestArchiveDir() + "/" + archive + "'." + notSet);
- }
+ /** Try to discover the File for the deployment archive */
+ public File getArchiveFile(String archive)
+ {
+ File file = new File(archive);
+ if (file.exists())
+ return file;
- /** Try to discover the URL for the test resource */
- public URL getResourceURL(String resource) throws MalformedURLException
- {
- return getResourceFile(resource).toURI().toURL();
- }
+ file = new File(getTestArchiveDir() + "/" + archive);
+ if (file.exists())
+ return file;
- /** Try to discover the File for the test resource */
- public File getResourceFile(String resource)
- {
- File file = new File(resource);
- if (file.exists())
- return file;
+ String notSet = (getTestArchiveDir() == null ? " System property '" + SYSPROP_TEST_ARCHIVE_DIRECTORY + "' not set." : "");
+ throw new IllegalArgumentException("Cannot obtain '" + getTestArchiveDir() + "/" + archive + "'." + notSet);
+ }
- file = new File(getTestResourcesDir() + "/" + resource);
- if (file.exists())
- return file;
+ public String getTestArchiveDir()
+ {
+ if (testArchiveDir == null)
+ testArchiveDir = System.getProperty(SYSPROP_TEST_ARCHIVE_DIRECTORY, "target/test-libs");
- throw new IllegalArgumentException("Cannot obtain '" + getTestResourcesDir() + "/" + resource + "'");
- }
-
- public String getTestArchiveDir()
- {
- if (testArchiveDir == null)
- testArchiveDir = System.getProperty(SYSPROP_TEST_ARCHIVE_DIRECTORY, "target/test-libs");
-
- return testArchiveDir;
- }
+ return testArchiveDir;
+ }
}
Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/IntegrationTestSetup.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/IntegrationTestSetup.java 2008-10-10 06:56:39 UTC (rev 2516)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/IntegrationTestSetup.java 2008-10-10 07:54:54 UTC (rev 2517)
@@ -30,7 +30,6 @@
import java.util.StringTokenizer;
import javax.management.MBeanServerConnection;
-import javax.naming.NamingException;
/**
* A test setup that deploys/undeploys archives
@@ -60,16 +59,26 @@
return delegate.getArchiveFile(archive).toURI().toURL();
}
- public File getResourceFile(String resource)
+ public boolean isTargetJBoss500()
{
- return delegate.getResourceFile(resource);
+ return delegate.isTargetJBoss500();
}
-
- public URL getResourceURL(String resource) throws MalformedURLException
+
+ public boolean isTargetJBoss423()
{
- return delegate.getResourceFile(resource).toURI().toURL();
+ return delegate.isTargetJBoss423();
}
-
+
+ public boolean isTargetJBoss422()
+ {
+ return delegate.isTargetJBoss422();
+ }
+
+ public MBeanServerConnection getServer()
+ {
+ return delegate.getServer();
+ }
+
private void getArchiveArray(String archiveList)
{
if (archiveList != null)
@@ -141,9 +150,4 @@
}
super.tearDown();
}
-
- public MBeanServerConnection getServer() throws NamingException
- {
- return delegate.getServer();
- }
}
17 years, 6 months
JBoss JBPM SVN: r2516 - in projects/spec/trunk: modules/api/src/main/java/org/jbpm/api/model and 24 other directories.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-10-10 02:56:39 -0400 (Fri, 10 Oct 2008)
New Revision: 2516
Added:
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/SignalBuilder.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/SignalBuilderService.java
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/ProcessDefinitionPersistenceTest.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertySupportImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SignalImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/SignalBuilderImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/SignalBuilderServiceImpl.java
projects/spec/trunk/modules/ri/src/test/java/org/
projects/spec/trunk/modules/ri/src/test/java/org/jbpm/
projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/
projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/
projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/
projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/
projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/TaskPersistenceTest.java
Removed:
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/NodePersistenceTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/ProcesDefinitionPersistenceTest.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/StructureDelegateImpl.java
Modified:
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ProcessDefinition.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Signal.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Task.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/PropertySupport.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/PersistenceService.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/CTSTestCase.java
projects/spec/trunk/modules/cts/pom.xml
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/process/ProcessPropertyTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/process/ProcessDefinitionServiceTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/signal/SignalMultithreadTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/signal/SignalServiceTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/startevent/StartEventSignalTest.java
projects/spec/trunk/modules/ri/pom.xml
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AssignmentImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EndEventImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EventImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ExpressionImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/GatewayImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InputSetImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/MessageImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/OutputSetImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ParticipantImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessDefinitionImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertyImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SendTaskImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SequenceFlowImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/StartEventImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/TaskImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/UserTaskImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/EventBuilderImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/ProcessBuilderImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingExecutionContext.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/RuntimeProcess.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/ExecutionServiceImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/HibernatePersistenceServiceImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/InMemoryPersistenceServiceImpl.java
projects/spec/trunk/modules/ri/src/main/resources/jbpm-cfg-beans.xml
projects/spec/trunk/modules/ri/src/test/resources/log4j.xml
projects/spec/trunk/pom.xml
Log:
More on persistence handling
Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ProcessDefinition.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ProcessDefinition.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ProcessDefinition.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -21,10 +21,10 @@
*/
package org.jbpm.api.model;
+//$Id$
+
import org.jbpm.api.model.internal.ProcessStructure;
-//$Id$
-
/**
* A ProcessDefinition defines the structure of an activity performed within a company or organization.
*
Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Signal.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Signal.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Signal.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -21,26 +21,25 @@
*/
package org.jbpm.api.model;
+//$Id$
+
import java.io.Serializable;
import javax.management.ObjectName;
-// $Id$
-
/**
- * A Signal thrown by the ProcessEngine
- *
+ * A Signal is like an undirected flare shot up
+ * into the air.
+ *
* @author Thomas.Diesler(a)jboss.com
* @since 08-Jul-2008
*/
-public final class Signal implements Serializable
+public interface Signal extends Serializable
{
- private static final long serialVersionUID = 1L;
-
/**
* Defines the types of supported Signals
*/
- public enum SignalType
+ enum SignalType
{
SYSTEM_START_EVENT_ENTER, SYSTEM_START_EVENT_EXIT, SYSTEM_START_TRIGGER,
SYSTEM_EVENT_ENTER, SYSTEM_EVENT_EXIT, SYSTEM_EVENT_TRIGGER,
@@ -51,55 +50,18 @@
USER_SIGNAL
}
- private SignalType type;
- private String message;
- private ObjectName fromRef;
-
- /**
- * Create the signal for a given source and type
+ /**
+ * Get the signal type of this signal
*/
- public Signal(ObjectName fromRef, SignalType type)
- {
- this.fromRef = fromRef;
- this.type = type;
- if (fromRef == null)
- throw new IllegalArgumentException("Signal fromRef cannot be null");
- if (type == null)
- throw new IllegalArgumentException("SignalType cannot be null");
- }
+ SignalType getSignalType();
- /**
- * Create the signal for a given source, type and message
+ /**
+ * Get the sending participant for this signal
*/
- public Signal(ObjectName fromRef, SignalType type, String message)
- {
- this(fromRef, type);
- this.message = message;
- }
+ ObjectName getFromRef();
- public ObjectName getFromRef()
- {
- return fromRef;
- }
-
- public SignalType getSignalType()
- {
- return type;
- }
-
- public String getMessage()
- {
- return message;
- }
-
- public String toString()
- {
- StringBuilder string = new StringBuilder(type + "[" + fromRef);
- if (message != null)
- {
- string.append(":" + message);
- }
- string.append("]");
- return string.toString();
- }
+ /**
+ * Get the optional message associated with this signal
+ */
+ public String getMessage();
}
\ No newline at end of file
Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Task.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Task.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Task.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -57,6 +57,11 @@
TaskType getTaskType();
/**
+ * Get the incomming SequenceFlow
+ */
+ SequenceFlow getInFlow();
+
+ /**
* Get the outgoing SequenceFlow
*/
SequenceFlow getOutFlow();
Added: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/SignalBuilder.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/SignalBuilder.java (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/SignalBuilder.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -0,0 +1,44 @@
+/*
+ * 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.jbpm.api.model.builder;
+
+//$Id$
+
+import javax.management.ObjectName;
+
+import org.jbpm.api.model.Signal;
+import org.jbpm.api.model.Signal.SignalType;
+
+
+/**
+ * A SignalBuilder can be used to build a {@link Signal} dynamically.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface SignalBuilder
+{
+ /**
+ * Create a Signal
+ */
+ Signal newSignal(SignalType signalType, ObjectName fromRef, String message);
+}
\ No newline at end of file
Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/SignalBuilder.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/PropertySupport.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/PropertySupport.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/PropertySupport.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -47,13 +47,18 @@
void addProperty(Property prop);
/**
+ * Add a property
+ */
+ void addProperty(String name, Object value);
+
+ /**
* Remove a property
*/
- boolean removeProperty(String name);
+ Property removeProperty(String name);
/**
* Get the set of property names
*/
Set<String> getPropertyNames();
-
+
}
\ No newline at end of file
Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/PersistenceService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/PersistenceService.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/PersistenceService.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -91,5 +91,5 @@
/**
* Load the Node from persistent storage
*/
- public abstract Node loadNode(Session session, ObjectName nodeID);
+ public abstract <T extends Node> T loadNode(Session session, Class<T> clazz, ObjectName nodeID);
}
\ No newline at end of file
Added: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/SignalBuilderService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/SignalBuilderService.java (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/SignalBuilderService.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -0,0 +1,52 @@
+/*
+ * 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.jbpm.api.service;
+
+//$Id$
+
+import org.jbpm.api.client.ProcessEngine;
+import org.jbpm.api.model.Signal;
+import org.jbpm.api.model.builder.SignalBuilder;
+
+/**
+ * The SignalBuilder can be used to build a {@link Signal} dynamically.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public abstract class SignalBuilderService extends AbstractService
+{
+ /**
+ * Locate the default SignalBuilder
+ */
+ public static SignalBuilder locateSignalBuilder()
+ {
+ ProcessEngine engine = ProcessEngine.getProcessEngine();
+ SignalBuilderService builderService = engine.getService(SignalBuilderService.class);
+ return builderService.getSignalBuilder();
+ }
+
+ /**
+ * Get the SignalBuilder
+ */
+ public abstract SignalBuilder getSignalBuilder();
+}
\ No newline at end of file
Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/SignalBuilderService.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/CTSTestCase.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/CTSTestCase.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/test/CTSTestCase.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -40,9 +40,12 @@
import org.jbpm.api.model.Message;
import org.jbpm.api.model.ProcessDefinition;
import org.jbpm.api.model.Signal;
+import org.jbpm.api.model.Signal.SignalType;
import org.jbpm.api.model.builder.ObjectNameFactory;
+import org.jbpm.api.model.builder.SignalBuilder;
import org.jbpm.api.service.MessageService;
import org.jbpm.api.service.ProcessDefinitionService;
+import org.jbpm.api.service.SignalBuilderService;
import org.jbpm.api.service.SignalService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -202,6 +205,12 @@
}
}
+ protected Signal newSignal(ObjectName fromRef, SignalType signalType, String message)
+ {
+ SignalBuilder sigBuilder = getProcessEngine().getService(SignalBuilderService.class).getSignalBuilder();
+ return sigBuilder.newSignal(signalType, fromRef, message);
+ }
+
public List<Signal> getSignals(Signal.SignalType type)
{
synchronized (signals)
Modified: projects/spec/trunk/modules/cts/pom.xml
===================================================================
--- projects/spec/trunk/modules/cts/pom.xml 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/cts/pom.xml 2008-10-10 06:56:39 UTC (rev 2516)
@@ -28,7 +28,6 @@
<!-- Properties -->
<properties>
- <mysql.connector.version>5.1.6</mysql.connector.version>
</properties>
<!-- Dependencies -->
@@ -38,31 +37,25 @@
<artifactId>jbpm-spec-api</artifactId>
<version>${version}</version>
</dependency>
+
+ <!-- Test Dependencies -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
+ <scope>test</scope>
</dependency>
</dependencies>
- <!-- DependencyManagement -->
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>${mysql.connector.version}</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
<!-- Plugins -->
<build>
<plugins>
@@ -99,29 +92,6 @@
</dependencies>
</profile>
- <!--
- Name: no-database
- Descr: Setup the default database
- -->
- <profile>
- <id>no-database</id>
- <activation>
- <property>
- <name>!database</name>
- </property>
- </activation>
- <properties>
- <database>mysql</database>
- </properties>
- <dependencies>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
- </profile>
-
</profiles>
</project>
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/process/ProcessPropertyTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/process/ProcessPropertyTest.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/process/ProcessPropertyTest.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -72,7 +72,8 @@
ProcessBuilder procBuilder = ProcessBuilderService.locateProcessBuilder();
procBuilder.addProcess("ProcessProperties").addStartEvent("Start").addSequenceFlow("TaskA");
procBuilder.addProcessAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "ProcessProperties_foo", "propValue");
- procBuilder.addProcessProperty("foo", "bar").addTask("TaskA").addSequenceFlow("End");
+ procBuilder.addProcessProperty("foo", "bar");
+ procBuilder.addTask("TaskA").addSequenceFlow("End");
procBuilder.addEndEvent("End", EventDetailType.Message).addMessageRef("EndMessage");
MessageBuilder msgBuilder = procBuilder.addProcessMessage("EndMessage");
msgBuilder.addToRef(getTestID()).addProperty("propValue", null, true);
Deleted: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/NodePersistenceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/NodePersistenceTest.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/NodePersistenceTest.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -1,73 +0,0 @@
-/*
- * 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.jbpm.test.cts.service.persistence;
-
-// $Id$
-
-import javax.management.ObjectName;
-
-import org.hibernate.Session;
-import org.jbpm.api.model.Node;
-import org.jbpm.api.model.Process;
-import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.api.model.Task;
-import org.jbpm.api.service.PersistenceService;
-import org.jbpm.api.service.ProcessDefinitionService;
-import org.jbpm.api.service.ProcessService;
-import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.test.cts.service.process.ProcessCatalog;
-
-/**
- * Test the PersistenceService for Nodes
- *
- * @author thomas.diesler(a)jboss.com
- * @since 08-Jul-2008
- */
-public class NodePersistenceTest extends CTSTestCase
-{
- /**
- * Test save, load of a Node
- */
- public void testNode() throws Exception
- {
- ProcessService procService = ProcessService.locateProcessService();
- PersistenceService service = PersistenceService.locatePersistenceService();
-
- // Register (save) the process, which is not done implicitly
- ProcessDefinition procDef = unregisterOnTearDown(ProcessCatalog.getDefaultProcess());
- Process proc = procDef.newInstance();
- procService.registerProcess(proc);
-
- ObjectName taskID = proc.getNode(Task.class, "Task").getKey();
-
- Session session = service.createSession();
- try
- {
- Node task = service.loadNode(session, taskID);
- assertNotNull("Node not null", task);
- }
- finally
- {
- session.close();
- }
- }
-}
Deleted: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/ProcesDefinitionPersistenceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/ProcesDefinitionPersistenceTest.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/ProcesDefinitionPersistenceTest.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -1,81 +0,0 @@
-/*
- * 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.jbpm.test.cts.service.persistence;
-
-// $Id: PersistenceServiceTest.java 2419 2008-09-29 07:22:59Z thomas.diesler(a)jboss.com $
-
-import javax.management.ObjectName;
-
-import org.jbpm.api.ProcessNotFoundException;
-import org.jbpm.api.model.EndEvent;
-import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.api.model.StartEvent;
-import org.jbpm.api.model.Task;
-import org.jbpm.api.service.PersistenceService;
-import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.test.cts.service.process.ProcessCatalog;
-
-/**
- * Test the PersistenceService
- *
- * @author thomas.diesler(a)jboss.com
- * @since 08-Jul-2008
- */
-public class ProcesDefinitionPersistenceTest extends CTSTestCase
-{
- /**
- * Test save, load, delete of a trivial ProcessDefinition
- */
- public void testProcessDefinition() throws Exception
- {
- PersistenceService service = PersistenceService.locatePersistenceService();
-
- // Save the ProcessDefinition
- ProcessDefinition procDef = ProcessCatalog.getDefaultProcess();
- service.saveProcessDefinition(procDef);
-
- // Load the ProcessDefinition
- ObjectName procDefID = procDef.getKey();
- ProcessDefinition loadDef = service.loadProcessDefinition(procDefID);
- ProcessCatalog.validateDefaultProcess(loadDef);
-
- StartEvent start = loadDef.getNode(StartEvent.class, "Start");
- Task task = loadDef.getNode(Task.class, "Task");
- EndEvent end = loadDef.getNode(EndEvent.class, "End");
-
- assertSame(loadDef, start.getProcessDefinition());
- assertSame(loadDef, task.getProcessDefinition());
- assertSame(loadDef, end.getProcessDefinition());
-
- // Delete the ProcessDefinition
- service.deleteProcessDefinition(procDef);
- try
- {
- service.loadProcessDefinition(procDefID);
- fail("ProcessNotFoundException expected");
- }
- catch (ProcessNotFoundException ex)
- {
- // expected
- }
- }
-}
Copied: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/ProcessDefinitionPersistenceTest.java (from rev 2513, projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/ProcesDefinitionPersistenceTest.java)
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/ProcessDefinitionPersistenceTest.java (rev 0)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/ProcessDefinitionPersistenceTest.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -0,0 +1,81 @@
+/*
+ * 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.jbpm.test.cts.service.persistence;
+
+// $Id: PersistenceServiceTest.java 2419 2008-09-29 07:22:59Z thomas.diesler(a)jboss.com $
+
+import javax.management.ObjectName;
+
+import org.jbpm.api.ProcessNotFoundException;
+import org.jbpm.api.model.EndEvent;
+import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.StartEvent;
+import org.jbpm.api.model.Task;
+import org.jbpm.api.service.PersistenceService;
+import org.jbpm.api.test.CTSTestCase;
+import org.jbpm.test.cts.service.process.ProcessCatalog;
+
+/**
+ * Test the PersistenceService
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public class ProcessDefinitionPersistenceTest extends CTSTestCase
+{
+ /**
+ * Test save, load, delete of a trivial ProcessDefinition
+ */
+ public void testProcessDefinition() throws Exception
+ {
+ PersistenceService service = PersistenceService.locatePersistenceService();
+
+ // Save the ProcessDefinition
+ ProcessDefinition procDef = ProcessCatalog.getDefaultProcess();
+ service.saveProcessDefinition(procDef);
+
+ // Load the ProcessDefinition
+ ObjectName procDefID = procDef.getKey();
+ ProcessDefinition loadDef = service.loadProcessDefinition(procDefID);
+ ProcessCatalog.validateDefaultProcess(loadDef);
+
+ StartEvent start = loadDef.getNode(StartEvent.class, "Start");
+ Task task = loadDef.getNode(Task.class, "Task");
+ EndEvent end = loadDef.getNode(EndEvent.class, "End");
+
+ assertSame(loadDef, start.getProcessDefinition());
+ assertSame(loadDef, task.getProcessDefinition());
+ assertSame(loadDef, end.getProcessDefinition());
+
+ // Delete the ProcessDefinition
+ service.deleteProcessDefinition(procDef);
+ try
+ {
+ service.loadProcessDefinition(procDefID);
+ fail("ProcessNotFoundException expected");
+ }
+ catch (ProcessNotFoundException ex)
+ {
+ // expected
+ }
+ }
+}
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/process/ProcessDefinitionServiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/process/ProcessDefinitionServiceTest.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/process/ProcessDefinitionServiceTest.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -48,17 +48,41 @@
ProcessCatalog.validateDefaultProcess(procDef);
ProcessEngine engine = procDef.getProcessEngine();
- assertNotNull("Process engine not null", engine);
+ assertNotNull("ProcessEngine not null", engine);
ProcessDefinitionService procDefService = engine.getService(ProcessDefinitionService.class);
- ProcessService procService = engine.getService(ProcessService.class);
+ assertNotNull("ProcessDefinitionService not null", procDefService);
Set<ObjectName> procDefs = procDefService.getProcessDefinitions();
assertEquals("ProcessDefinition not automatically registered", 0, procDefs.size());
+ }
+ public void testNewInstance() throws Exception
+ {
+ ProcessDefinition procDef = ProcessCatalog.getDefaultProcess();
+
+ ProcessEngine engine = procDef.getProcessEngine();
+ ProcessDefinitionService procDefService = engine.getService(ProcessDefinitionService.class);
+ ProcessService procService = engine.getService(ProcessService.class);
+
Process proc = procDef.newInstance();
assertNotNull("Process not null", proc);
assertNull("Process not automatically registered", procService.getProcess(proc.getKey()));
assertNull("ProcessDefinition not automatically registered", procDefService.getProcessDefinition(procDef.getKey()));
}
+
+ public void testRegister() throws Exception
+ {
+ ProcessDefinition procDef = ProcessCatalog.getDefaultProcess();
+
+ ProcessEngine engine = procDef.getProcessEngine();
+ ProcessDefinitionService procDefService = engine.getService(ProcessDefinitionService.class);
+
+ ObjectName procDefID = procDefService.registerProcessDefinition(procDef);
+ assertSame(procDef, procDefService.getProcessDefinition(procDefID));
+ assertEquals(procDefID, procDef.getKey());
+
+ boolean success = procDefService.unregisterProcessDefinition(procDef.getKey());
+ assertTrue("ProcessDefinition unregistered", success);
+ }
}
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/signal/SignalMultithreadTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/signal/SignalMultithreadTest.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/signal/SignalMultithreadTest.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -38,8 +38,8 @@
public class SignalMultithreadTest extends CTSTestCase
{
final SignalService sigService = SignalService.locateSignalService();
- final Signal sigA = new Signal(getTestID(), SignalType.USER_SIGNAL, "A");
- final Signal sigB = new Signal(getTestID(), SignalType.USER_SIGNAL, "B");
+ final Signal sigA = newSignal(getTestID(), SignalType.USER_SIGNAL, "A");
+ final Signal sigB = newSignal(getTestID(), SignalType.USER_SIGNAL, "B");
private Signal gotA;
private Signal gotB;
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/signal/SignalServiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/signal/SignalServiceTest.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/signal/SignalServiceTest.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -44,7 +44,7 @@
public void testSignalListener() throws Exception
{
SignalService sigService = SignalService.locateSignalService();
- Signal signal = new Signal(getTestID(), SignalType.USER_SIGNAL, "HelloWorld");
+ Signal signal = newSignal(getTestID(), SignalType.USER_SIGNAL, "HelloWorld");
sigService.throwSignal(signal);
List<Signal> signals = getSignals();
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/startevent/StartEventSignalTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/startevent/StartEventSignalTest.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/startevent/StartEventSignalTest.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -76,7 +76,7 @@
// Send start trigger signal
SignalService sigService = SignalService.locateSignalService();
- sigService.throwSignal(new Signal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "A"));
+ sigService.throwSignal(newSignal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "A"));
// Get the just started process
ProcessService procService = ProcessService.locateProcessService();
Modified: projects/spec/trunk/modules/ri/pom.xml
===================================================================
--- projects/spec/trunk/modules/ri/pom.xml 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/pom.xml 2008-10-10 06:56:39 UTC (rev 2516)
@@ -85,6 +85,23 @@
<groupId>org.mvel</groupId>
<artifactId>mvel</artifactId>
</dependency>
+
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<!-- Profiles -->
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -28,7 +28,6 @@
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
-import javax.persistence.Transient;
import org.jbpm.api.InvalidProcessException;
import org.jbpm.api.client.ProcessEngine;
@@ -77,7 +76,6 @@
public abstract ObjectName getKey();
@Override
- @Transient
public ProcessEngine getProcessEngine()
{
return ProcessEngine.getProcessEngine(engineName);
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AssignmentImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AssignmentImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AssignmentImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -23,10 +23,13 @@
//$Id$
+import javax.persistence.Basic;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
import org.jbpm.api.model.Assignment;
import org.jbpm.api.model.Expression;
@@ -43,13 +46,21 @@
{
private static final long serialVersionUID = 1L;
+ @Id @GeneratedValue
+ protected Integer id;
+
@Enumerated(EnumType.STRING)
private AssignTime assignTime;
+
@Embedded
private ExpressionImpl from;
+
@Embedded
private PropertyImpl to;
+ @Basic
+ private int assignIndex;
+
public AssignmentImpl(AssignTime assignTime, ExpressionImpl from, PropertyImpl to)
{
this.assignTime = assignTime;
@@ -57,16 +68,34 @@
this.to = to;
}
+ // Persistence ctor
+ protected AssignmentImpl()
+ {
+ }
+
+ int getAssignIndex()
+ {
+ return assignIndex;
+ }
+
+ void setAssignIndex(int assignIndex)
+ {
+ this.assignIndex = assignIndex;
+ }
+
+ @Override
public AssignTime getAssignTime()
{
return assignTime;
}
+ @Override
public Expression getFrom()
{
return from;
}
+ @Override
public Property getTo()
{
return to;
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EndEventImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EndEventImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EndEventImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -25,7 +25,6 @@
import javax.management.ObjectName;
import javax.persistence.Entity;
-import javax.persistence.Transient;
import org.jbpm.api.Constants;
import org.jbpm.api.InvalidProcessException;
@@ -86,7 +85,6 @@
}
@Override
- @Transient
public ObjectName getKey()
{
StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
@@ -95,7 +93,7 @@
return oname;
}
- @Transient
+ @Override
public SequenceFlow getInFlow()
{
if (inFlows.size() != 1)
@@ -103,9 +101,11 @@
return inFlows.get(0);
}
+ @Override
public void setInFlow(SequenceFlowImpl inFlow)
{
- inFlow.setSourceIndex(inFlows.size());
+ inFlow.setTargetIndex(inFlows.size());
+ inFlow.setTargetRef(this);
inFlows.add(inFlow);
}
@@ -121,13 +121,13 @@
SignalService sigService = engine.getService(SignalService.class);
public void throwEnterSignal(Token token)
{
- Signal signal = new Signal(getKey(), Signal.SignalType.SYSTEM_END_EVENT_ENTER);
+ Signal signal = new SignalImpl(Signal.SignalType.SYSTEM_END_EVENT_ENTER, getKey());
sigService.throwSignal(signal);
}
public void throwExitSignal(Token token)
{
- Signal signal = new Signal(getKey(), Signal.SignalType.SYSTEM_END_EVENT_EXIT);
+ Signal signal = new SignalImpl(Signal.SignalType.SYSTEM_END_EVENT_EXIT, getKey());
sigService.throwSignal(signal);
// Destroy the token
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EventImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EventImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EventImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -24,10 +24,12 @@
//$Id$
import javax.management.ObjectName;
+import javax.persistence.CascadeType;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
+import javax.persistence.FetchType;
import javax.persistence.MappedSuperclass;
-import javax.persistence.Transient;
+import javax.persistence.OneToOne;
import org.jbpm.api.Constants;
import org.jbpm.api.InvalidProcessException;
@@ -64,11 +66,12 @@
@Enumerated(EnumType.STRING)
protected EventDetailType detailType = EventDetailType.None;
- @Transient
- private MessageImpl messageRef;
- @Transient
+ @OneToOne(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = MessageImpl.class)
+ private Message messageRef;
+
+ @OneToOne(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = SignalImpl.class)
private Signal signalRef;
-
+
public EventImpl(ProcessStructure procStruct, String name)
{
super(procStruct, name);
@@ -122,7 +125,7 @@
{
this.signalRef = signalRef;
}
-
+
@Override
protected ExecutionHandler getDefaultExecutionHandler()
{
@@ -133,7 +136,7 @@
public void execute(Token token)
{
- if (detailType == EventDetailType.Message && getMessageRef() != null)
+ if (detailType == EventDetailType.Message && getMessageRef() != null)
{
MessageSender messageSender = new MessageSender(thisNode, getMessageRef());
messageSender.sendMessage(token);
@@ -160,18 +163,19 @@
return new SignalHandler()
{
private static final long serialVersionUID = 1L;
-
+
ProcessEngine engine = getProcessDefinition().getProcessEngine();
SignalService sigService = engine.getService(SignalService.class);
+
public void throwEnterSignal(Token token)
{
- Signal signal = new Signal(getKey(), Signal.SignalType.SYSTEM_EVENT_ENTER);
+ Signal signal = new SignalImpl(Signal.SignalType.SYSTEM_EVENT_ENTER, getKey());
sigService.throwSignal(signal);
}
public void throwExitSignal(Token token)
{
- Signal signal = new Signal(getKey(), Signal.SignalType.SYSTEM_EVENT_EXIT);
+ Signal signal = new SignalImpl(Signal.SignalType.SYSTEM_EVENT_EXIT, getKey());
sigService.throwSignal(signal);
}
@@ -192,17 +196,17 @@
protected void create(ProcessDefinition procDef)
{
super.create(procDef);
-
+
if (detailType == EventDetailType.Signal && signalRef == null)
throw new InvalidProcessException("Event with detail type 'Signal' must have a signalRef");
if (detailType != EventDetailType.Signal && signalRef != null)
throw new InvalidProcessException("Event with detail type '" + detailType + "' cannot have a signalRef");
-
+
if (detailType == EventDetailType.Message && messageRef == null)
throw new InvalidProcessException("Event with detail type 'Message' must have a messageRef");
if (detailType != EventDetailType.Message && messageRef != null)
throw new InvalidProcessException("Event with detail type '" + detailType + "' cannot have a messageRef");
-
+
if (messageRef != null)
{
ProcessDefinitionImpl procDefImpl = (ProcessDefinitionImpl)procDef;
@@ -214,14 +218,14 @@
protected void create(Process proc)
{
super.create(proc);
-
+
if (messageRef != null)
{
ProcessDefinitionImpl procDefImpl = (ProcessDefinitionImpl)proc.getProcessDefinition();
procDefImpl.initializeMessageRef(messageRef);
}
}
-
+
public String toString()
{
return getEventType() + "Event[" + getName() + "," + getDetailType() + "]";
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ExpressionImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ExpressionImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ExpressionImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -23,29 +23,39 @@
//$Id$
-import javax.persistence.Column;
-import javax.persistence.Embeddable;
+import javax.persistence.Basic;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
import org.jbpm.api.model.Expression;
/**
* An Expression, which is used in the definition of attributes for @{link StartEvent},
+ *
* @{link IntermediateEvent}, @{link Activity}, @{link ComplexGateway}, and @{link SequenceFlow}
*
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Embeddable
+@Entity(name = "Expression")
public class ExpressionImpl implements Expression
{
// provide serial version UID
private static final long serialVersionUID = 1L;
+
+ @Id @GeneratedValue
+ protected Integer id;
- @Column(name = "exprBody")
+ @Basic
private String body;
- @Column(name = "exprLang")
+
+ @Basic
private ExpressionLanguage lang;
+ @Basic
+ private int exprIndex;
+
public ExpressionImpl(String body)
{
this.body = body;
@@ -63,11 +73,23 @@
{
}
+ int getExprIndex()
+ {
+ return exprIndex;
+ }
+
+ void setExprIndex(int exprIndex)
+ {
+ this.exprIndex = exprIndex;
+ }
+
+ @Override
public ExpressionLanguage getExpressionLanguage()
{
return lang;
}
+ @Override
public String getExpressionBody()
{
return body;
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/GatewayImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/GatewayImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/GatewayImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -97,12 +97,16 @@
@Override
public void addOutFlow(SequenceFlowImpl outFlow)
{
+ outFlow.setSourceIndex(outFlows.size());
+ outFlow.setSourceRef(this);
outFlows.add(outFlow);
}
@Override
public void addInFlow(SequenceFlowImpl inFlow)
{
+ inFlow.setTargetIndex(inFlows.size());
+ inFlow.setTargetRef(this);
inFlows.add(inFlow);
}
@@ -200,13 +204,13 @@
public void throwEnterSignal(Token token)
{
- Signal signal = new Signal(getKey(), Signal.SignalType.SYSTEM_GATEWAY_ENTER);
+ Signal signal = new SignalImpl(Signal.SignalType.SYSTEM_GATEWAY_ENTER, getKey());
sigService.throwSignal(signal);
}
public void throwExitSignal(Token token)
{
- Signal signal = new Signal(getKey(), Signal.SignalType.SYSTEM_GATEWAY_EXIT);
+ Signal signal = new SignalImpl(Signal.SignalType.SYSTEM_GATEWAY_EXIT, getKey());
sigService.throwSignal(signal);
}
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InputSetImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InputSetImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InputSetImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -23,13 +23,19 @@
//$Id$
-import java.util.HashSet;
import java.util.Set;
-import javax.persistence.Transient;
+import javax.persistence.Basic;
+import javax.persistence.CascadeType;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.OneToOne;
import org.jbpm.api.model.InputSet;
import org.jbpm.api.model.Property;
+import org.jbpm.api.model.internal.PropertySupport;
/**
@@ -38,46 +44,59 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
+@Entity (name = "InputSet")
public class InputSetImpl implements InputSet
{
private static final long serialVersionUID = 1L;
- @Transient
- private Set<Property> properties = new HashSet<Property>();
+ @Id @GeneratedValue
+ protected Integer id;
+ @Basic
+ private int setIndex;
+
+ @OneToOne(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = PropertySupportImpl.class)
+ protected PropertySupport propSupport = new PropertySupportImpl();
+
+ int getSetIndex()
+ {
+ return setIndex;
+ }
+
+ void setSetIndex(int setIndex)
+ {
+ this.setIndex = setIndex;
+ }
+
@Override
public Property getProperty(String name)
{
- for (Property prop : properties)
- {
- if (prop.getName().equals(name))
- return prop;
- }
- return null;
+ return propSupport.getProperty(name);
}
@Override
public Set<String> getPropertyNames()
{
- Set<String> names = new HashSet<String>();
- for (Property prop : properties)
- {
- names.add(prop.getName());
- }
- return names;
+ return propSupport.getPropertyNames();
}
@Override
- public boolean removeProperty(String name)
+ public void addProperty(Property prop)
{
- return properties.remove(name);
+ propSupport.addProperty(prop);
}
@Override
- public void addProperty(Property prop)
+ public void addProperty(String name, Object value)
{
- properties.add(prop);
+ propSupport.addProperty(name, value);
}
+
+ @Override
+ public Property removeProperty(String name)
+ {
+ return propSupport.removeProperty(name);
+ }
@Override
public String toString()
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/MessageImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/MessageImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/MessageImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -23,7 +23,6 @@
//$Id$
-import java.util.HashSet;
import java.util.Set;
import javax.persistence.Basic;
@@ -32,12 +31,12 @@
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
-import javax.persistence.ManyToOne;
-import javax.persistence.OneToMany;
+import javax.persistence.OneToOne;
import org.jbpm.api.model.Message;
import org.jbpm.api.model.Participant;
import org.jbpm.api.model.Property;
+import org.jbpm.api.model.internal.PropertySupport;
/**
* A Message, which is used in the definition of attributes for a @{link StartEvent},
@@ -53,20 +52,19 @@
private static final long serialVersionUID = 1L;
@Id @GeneratedValue
- @SuppressWarnings("unused")
- private int id;
+ protected int id;
@Basic
private String name;
- @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER, targetEntity = ParticipantImpl.class)
+ @OneToOne(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = ParticipantImpl.class)
private Participant fromRef;
- @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER, targetEntity = ParticipantImpl.class)
+ @OneToOne(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = ParticipantImpl.class)
private Participant toRef;
- @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, targetEntity = PropertyImpl.class)
- private Set<Property> props = new HashSet<Property>();
+ @OneToOne(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = PropertySupportImpl.class)
+ protected PropertySupport propSupport = new PropertySupportImpl();
public MessageImpl(String name)
{
@@ -76,11 +74,11 @@
this.name = name;
}
- public MessageImpl(String name, ParticipantImpl targetID, ParticipantImpl sourceID)
+ public MessageImpl(String name, Participant toRef, ParticipantImpl fromRef)
{
this(name);
- this.toRef = targetID;
- this.fromRef = sourceID;
+ this.toRef = toRef;
+ this.fromRef = fromRef;
}
public String getName()
@@ -91,37 +89,34 @@
@Override
public Property getProperty(String name)
{
- for (Property prop : props)
- {
- if (prop.getName().equals(name))
- return prop;
- }
- return null;
+ return propSupport.getProperty(name);
}
@Override
public Set<String> getPropertyNames()
{
- Set<String> names = new HashSet<String>();
- for (Property prop : props)
- {
- names.add(prop.getName());
- }
- return names;
+ return propSupport.getPropertyNames();
}
@Override
public void addProperty(Property prop)
{
- props.add(prop);
+ propSupport.addProperty(prop);
}
@Override
- public boolean removeProperty(String name)
+ public void addProperty(String name, Object value)
{
- return props.remove(name);
+ propSupport.addProperty(name, value);
}
+ @Override
+ public Property removeProperty(String name)
+ {
+ return propSupport.removeProperty(name);
+ }
+
+ @Override
public Participant getFromRef()
{
return fromRef;
@@ -132,6 +127,7 @@
this.fromRef = fromRef;
}
+ @Override
public Participant getToRef()
{
return toRef;
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -25,7 +25,6 @@
import java.util.ArrayList;
import java.util.Collections;
-import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -37,7 +36,7 @@
import javax.persistence.InheritanceType;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
-import javax.persistence.Transient;
+import javax.persistence.OneToOne;
import org.hibernate.annotations.IndexColumn;
import org.jbpm.api.InvalidProcessException;
@@ -51,6 +50,7 @@
import org.jbpm.api.model.SequenceFlow;
import org.jbpm.api.model.StartEvent;
import org.jbpm.api.model.internal.ProcessStructure;
+import org.jbpm.api.model.internal.PropertySupport;
import org.jbpm.api.runtime.ExecutionHandler;
import org.jbpm.api.runtime.FlowHandler;
import org.jbpm.api.runtime.NodeHandler;
@@ -80,7 +80,7 @@
// provide logging
final static Logger log = LoggerFactory.getLogger(NodeImpl.class);
-
+
@Basic
private String name;
@@ -98,22 +98,23 @@
@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, mappedBy = "sourceRef", targetEntity = SequenceFlowImpl.class)
protected List<SequenceFlow> outFlows = new ArrayList<SequenceFlow>();
- @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, targetEntity = PropertyImpl.class)
- protected Set<Property> properties = new HashSet<Property>();
+ @OneToOne(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = PropertySupportImpl.class)
+ protected PropertySupport propSupport = new PropertySupportImpl();
- @Transient
+ @IndexColumn(name = "assignIndex")
+ @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = AssignmentImpl.class)
private List<Assignment> assignments = new ArrayList<Assignment>();
-
+
@Basic
private String execHandler;
private transient ExecutionHandler customExecHandler;
private transient ExecutionHandler defaultExecHandler;
-
+
@Basic
private String sigHandler;
private transient SignalHandler customSignalHandler;
private transient SignalHandler defaultSignalHandler;
-
+
@Basic
private String flowHandler;
private transient FlowHandler customFlowHandler;
@@ -157,7 +158,7 @@
{
this.nodeIndex = nodeIndex;
}
-
+
public String getName()
{
return name;
@@ -167,49 +168,47 @@
{
this.name = name;
}
-
+
@Override
public Property getProperty(String name)
{
- for (Property prop : properties)
- {
- if (prop.getName().equals(name))
- return prop;
- }
- return null;
+ return propSupport.getProperty(name);
}
@Override
public Set<String> getPropertyNames()
{
- Set<String> names = new HashSet<String>();
- for (Property prop : properties)
- {
- names.add(prop.getName());
- }
- return names;
+ return propSupport.getPropertyNames();
}
@Override
- public boolean removeProperty(String name)
+ public void addProperty(Property prop)
{
- return properties.remove(name);
+ propSupport.addProperty(prop);
}
@Override
- public void addProperty(Property prop)
+ public void addProperty(String name, Object value)
{
- properties.add(prop);
+ propSupport.addProperty(name, value);
}
-
+
+ @Override
+ public Property removeProperty(String name)
+ {
+ return propSupport.removeProperty(name);
+ }
+
+ @Override
public List<Assignment> getAssignments()
{
return Collections.unmodifiableList(assignments);
}
- public void addAssignment(AssignmentImpl assignment)
+ public void addAssignment(AssignmentImpl assign)
{
- this.assignments.add(assignment);
+ assign.setAssignIndex(assignments.size());
+ assignments.add(assign);
}
public List<SequenceFlow> getInFlows()
@@ -230,7 +229,7 @@
ExecutionHandler execHandler = getExecutionHandler();
execHandler.execute(token);
}
-
+
public <T extends ExecutionHandler> void setExecutionHandler(Class<T> clazz)
{
this.execHandler = clazz.getName();
@@ -251,10 +250,10 @@
{
if (customExecHandler == null && execHandler != null)
customExecHandler = loadHandlerInstance(ExecutionHandler.class, execHandler);
-
+
if (defaultExecHandler == null)
defaultExecHandler = getDefaultExecutionHandler();
-
+
return customExecHandler != null ? customExecHandler : defaultExecHandler;
}
@@ -269,7 +268,7 @@
{
// nothing to do
}
-
+
@Override
public Node getNode()
{
@@ -288,13 +287,13 @@
{
if (customSignalHandler == null && sigHandler != null)
customSignalHandler = loadHandlerInstance(SignalHandler.class, sigHandler);
-
+
if (defaultSignalHandler == null)
defaultSignalHandler = getDefaultSignalHandler();
-
+
return customSignalHandler != null ? customSignalHandler : defaultSignalHandler;
}
-
+
protected abstract SignalHandler getDefaultSignalHandler();
@Override
@@ -302,10 +301,10 @@
{
if (customFlowHandler == null && flowHandler != null)
customFlowHandler = loadHandlerInstance(FlowHandler.class, flowHandler);
-
+
if (defaultFlowHandler == null)
defaultFlowHandler = getDefaultFlowHandler();
-
+
return customFlowHandler != null ? customFlowHandler : defaultFlowHandler;
}
@@ -432,7 +431,7 @@
if (outFlow == null && (this instanceof EndEvent == false))
throw new InvalidProcessException("Dead end node: " + this);
}
-
+
private void initFlow(SequenceFlowImpl flow)
{
if (flow != null)
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/OutputSetImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/OutputSetImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/OutputSetImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -23,13 +23,19 @@
//$Id$
-import java.util.HashSet;
import java.util.Set;
-import javax.persistence.Transient;
+import javax.persistence.Basic;
+import javax.persistence.CascadeType;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.OneToOne;
import org.jbpm.api.model.OutputSet;
import org.jbpm.api.model.Property;
+import org.jbpm.api.model.internal.PropertySupport;
/**
@@ -38,46 +44,59 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
+@Entity (name = "OutputSet")
public class OutputSetImpl implements OutputSet
{
private static final long serialVersionUID = 1L;
- @Transient
- private Set<Property> properties = new HashSet<Property>();
+ @Id @GeneratedValue
+ protected Integer id;
+ @Basic
+ private int setIndex;
+
+ @OneToOne(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = PropertySupportImpl.class)
+ protected PropertySupport propSupport = new PropertySupportImpl();
+
+ int getSetIndex()
+ {
+ return setIndex;
+ }
+
+ void setSetIndex(int setIndex)
+ {
+ this.setIndex = setIndex;
+ }
+
@Override
public Property getProperty(String name)
{
- for (Property prop : properties)
- {
- if (prop.getName().equals(name))
- return prop;
- }
- return null;
+ return propSupport.getProperty(name);
}
@Override
public Set<String> getPropertyNames()
{
- Set<String> names = new HashSet<String>();
- for (Property prop : properties)
- {
- names.add(prop.getName());
- }
- return names;
+ return propSupport.getPropertyNames();
}
@Override
- public boolean removeProperty(String name)
+ public void addProperty(Property prop)
{
- return properties.remove(name);
+ propSupport.addProperty(prop);
}
@Override
- public void addProperty(Property prop)
+ public void addProperty(String name, Object value)
{
- properties.add(prop);
+ propSupport.addProperty(name, value);
}
+
+ @Override
+ public Property removeProperty(String name)
+ {
+ return propSupport.removeProperty(name);
+ }
@Override
public String toString()
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ParticipantImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ParticipantImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ParticipantImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -59,6 +59,12 @@
this.name = name.getCanonicalName();
}
+ public ParticipantImpl(Participant other)
+ {
+ ParticipantImpl otherImpl = (ParticipantImpl)other;
+ this.name = otherImpl.name;
+ }
+
@Override
public ObjectName getName()
{
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessDefinitionImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessDefinitionImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessDefinitionImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -28,18 +28,27 @@
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
+import java.util.List;
+import java.util.Set;
import javax.management.ObjectName;
+import javax.persistence.CascadeType;
import javax.persistence.Entity;
+import javax.persistence.FetchType;
import javax.persistence.Lob;
+import javax.persistence.OneToOne;
import javax.persistence.Transient;
import org.jbpm.api.Constants;
import org.jbpm.api.client.ProcessEngine;
+import org.jbpm.api.model.Assignment;
+import org.jbpm.api.model.Message;
+import org.jbpm.api.model.Node;
import org.jbpm.api.model.Process;
import org.jbpm.api.model.ProcessDefinition;
import org.jbpm.api.model.Property;
import org.jbpm.api.model.builder.ObjectNameFactory;
+import org.jbpm.api.model.internal.ProcessStructure;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -50,19 +59,23 @@
* @since 08-Jul-2008
*/
@Entity(name = "ProcessDefinition")
-public class ProcessDefinitionImpl extends StructureDelegateImpl implements ProcessDefinition
+public class ProcessDefinitionImpl extends AbstractElementImpl implements ProcessDefinition
{
private static final long serialVersionUID = 1L;
// provide logging
final static Logger log = LoggerFactory.getLogger(ProcessDefinitionImpl.class);
+ @OneToOne(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = ProcessStructureImpl.class)
+ private ProcessStructure procStruct;
+
@Lob
private byte[] rawProcStruct;
public ProcessDefinitionImpl(ProcessEngine engine, ProcessStructureImpl procStruct)
{
- super(engine, procStruct);
+ super(engine);
+ this.procStruct = procStruct;
create(this);
}
@@ -102,33 +115,100 @@
}
@Override
+ public List<Assignment> getAssignments()
+ {
+ return procStruct.getAssignments();
+ }
+
+ @Override
+ public Message getMessage(String msgName)
+ {
+ return procStruct.getMessage(msgName);
+ }
+
+ @Override
+ public Set<Message> getMessages()
+ {
+ return procStruct.getMessages();
+ }
+
+ @Override
+ public String getName()
+ {
+ return procStruct.getName();
+ }
+
+ @Override
+ public <T extends Node> T getNode(Class<T> clazz, String name)
+ {
+ return procStruct.getNode(clazz, name);
+ }
+
+ @Override
+ public Node getNode(String name)
+ {
+ return procStruct.getNode(name);
+ }
+
+ @Override
+ public List<Node> getNodes()
+ {
+ return procStruct.getNodes();
+ }
+
+ @Override
+ public <T extends Node> List<T> getNodes(Class<T> clazz)
+ {
+ return procStruct.getNodes(clazz);
+ }
+
+ @Override
+ public Property getProperty(String name)
+ {
+ return procStruct.getProperty(name);
+ }
+
+ @Override
+ public Set<String> getPropertyNames()
+ {
+ return procStruct.getPropertyNames();
+ }
+
+ @Override
public void addProperty(Property prop)
{
throw new IllegalStateException("Cannot add a property to a process definition");
}
@Override
- public boolean removeProperty(String name)
+ public void addProperty(String name, Object value)
{
- throw new IllegalStateException("Cannot add remove a property to a process definition");
+ throw new IllegalStateException("Cannot add a property to a process definition");
}
- public void initializeMessageRef(MessageImpl msgRef)
+ @Override
+ public Property removeProperty(String name)
{
+ throw new IllegalStateException("Cannot add remove a property to a process definition");
+ }
+
+ public void initializeMessageRef(Message msgRef)
+ {
String msgName = msgRef.getName();
MessageImpl procMsg = (MessageImpl)getMessage(msgName);
if (procMsg == null)
throw new IllegalStateException("Cannot obtain process message: " + msgName);
+ MessageImpl msgImpl = (MessageImpl)msgRef;
if (msgRef.getFromRef() == null && procMsg.getFromRef() != null)
- msgRef.setFromRef(procMsg.getFromRef());
+ msgImpl.setFromRef(new ParticipantImpl(procMsg.getFromRef()));
if (msgRef.getToRef() == null && procMsg.getToRef() != null)
- msgRef.setToRef(procMsg.getToRef());
+ msgImpl.setToRef(new ParticipantImpl(procMsg.getToRef()));
for (String propName : procMsg.getPropertyNames())
{
Property prop = procMsg.getProperty(propName);
- msgRef.addProperty(prop);
+ msgRef.addProperty(new PropertyImpl(prop));
}
}
@@ -150,28 +230,32 @@
throw new IllegalStateException("Cannot serialize process structure", ex);
}
- procStruct.create(this);
+ ProcessStructureImpl procStructImpl = (ProcessStructureImpl)procStruct;
+ procStructImpl.create(this);
}
@Override
public void register(ProcessDefinition procDef)
{
super.register(procDef);
- procStruct.register(procDef);
+ ProcessStructureImpl procStructImpl = (ProcessStructureImpl)procStruct;
+ procStructImpl.register(procDef);
}
@Override
public void unregister(ProcessDefinition procDef)
{
super.unregister(procDef);
- procStruct.unregister(procDef);
+ ProcessStructureImpl procStructImpl = (ProcessStructureImpl)procStruct;
+ procStructImpl.unregister(procDef);
}
@Override
protected void destroy(ProcessDefinition procDef)
{
super.destroy(procDef);
- procStruct.destroy(procDef);
+ ProcessStructureImpl procStructImpl = (ProcessStructureImpl)procStruct;
+ procStructImpl.destroy(procDef);
}
public String toString()
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -23,18 +23,29 @@
//$Id$
+import java.util.List;
+import java.util.Set;
+
import javax.management.ObjectName;
+import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
+import javax.persistence.FetchType;
import javax.persistence.ManyToOne;
+import javax.persistence.OneToOne;
import javax.persistence.Transient;
import org.jbpm.api.Constants;
import org.jbpm.api.client.ProcessEngine;
+import org.jbpm.api.model.Assignment;
+import org.jbpm.api.model.Message;
+import org.jbpm.api.model.Node;
import org.jbpm.api.model.Process;
import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Property;
import org.jbpm.api.model.builder.ObjectNameFactory;
+import org.jbpm.api.model.internal.ProcessStructure;
import org.jbpm.api.runtime.Attachments;
import org.jbpm.api.service.ExecutionService;
import org.jbpm.api.service.ProcessService;
@@ -48,7 +59,7 @@
* @since 08-Jul-2008
*/
@Entity(name = "Process")
-public class ProcessImpl extends StructureDelegateImpl implements Process
+public class ProcessImpl extends AbstractElementImpl implements Process
{
private static final long serialVersionUID = 1L;
@@ -61,12 +72,16 @@
@ManyToOne(targetEntity = ProcessDefinitionImpl.class)
private ProcessDefinition procDef;
+ @OneToOne(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = ProcessStructureImpl.class)
+ private ProcessStructure procStruct;
+
@Transient
private transient RuntimeException runtimeException;
public ProcessImpl(ProcessEngine engine, ProcessDefinitionImpl procDef, ProcessStructureImpl procStruct)
{
- super(engine, procStruct);
+ super(engine);
+ this.procStruct = procStruct;
this.procDef = procDef;
create(this);
}
@@ -102,6 +117,84 @@
this.status = status;
}
+ @Override
+ public List<Assignment> getAssignments()
+ {
+ return procStruct.getAssignments();
+ }
+
+ @Override
+ public Message getMessage(String msgName)
+ {
+ return procStruct.getMessage(msgName);
+ }
+
+ @Override
+ public Set<Message> getMessages()
+ {
+ return procStruct.getMessages();
+ }
+
+ @Override
+ public String getName()
+ {
+ return procStruct.getName();
+ }
+
+ @Override
+ public <T extends Node> T getNode(Class<T> clazz, String name)
+ {
+ return procStruct.getNode(clazz, name);
+ }
+
+ @Override
+ public Node getNode(String name)
+ {
+ return procStruct.getNode(name);
+ }
+
+ @Override
+ public List<Node> getNodes()
+ {
+ return procStruct.getNodes();
+ }
+
+ @Override
+ public <T extends Node> List<T> getNodes(Class<T> clazz)
+ {
+ return procStruct.getNodes(clazz);
+ }
+
+ @Override
+ public Property getProperty(String name)
+ {
+ return procStruct.getProperty(name);
+ }
+
+ @Override
+ public Set<String> getPropertyNames()
+ {
+ return procStruct.getPropertyNames();
+ }
+
+ @Override
+ public void addProperty(Property prop)
+ {
+ procStruct.addProperty(prop);
+ }
+
+ @Override
+ public void addProperty(String name, Object value)
+ {
+ procStruct.addProperty(name, value);
+ }
+
+ @Override
+ public Property removeProperty(String name)
+ {
+ return procStruct.removeProperty(name);
+ }
+
public RuntimeException getRuntimeException()
{
return runtimeException;
@@ -167,28 +260,32 @@
protected void create(Process proc)
{
super.create(proc);
- procStruct.create(proc);
+ ProcessStructureImpl procStructImpl = (ProcessStructureImpl)procStruct;
+ procStructImpl.create(proc);
}
@Override
public void register(Process proc)
{
super.register(proc);
- procStruct.register(proc);
+ ProcessStructureImpl procStructImpl = (ProcessStructureImpl)procStruct;
+ procStructImpl.register(proc);
}
@Override
public void unregister(Process proc)
{
super.unregister(proc);
- procStruct.unregister(proc);
+ ProcessStructureImpl procStructImpl = (ProcessStructureImpl)procStruct;
+ procStructImpl.unregister(proc);
}
@Override
protected void destroy(Process proc)
{
super.destroy(proc);
- procStruct.destroy(proc);
+ ProcessStructureImpl procStructImpl = (ProcessStructureImpl)procStruct;
+ procStructImpl.destroy(proc);
}
public String toString()
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -35,6 +35,7 @@
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.OneToMany;
+import javax.persistence.OneToOne;
import javax.persistence.Transient;
import org.hibernate.annotations.IndexColumn;
@@ -51,6 +52,7 @@
import org.jbpm.api.model.StartEvent;
import org.jbpm.api.model.builder.ObjectNameFactory;
import org.jbpm.api.model.internal.ProcessStructure;
+import org.jbpm.api.model.internal.PropertySupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -72,16 +74,17 @@
private String name;
@IndexColumn(name = "nodeIndex")
- @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "procStruct", targetEntity = NodeImpl.class)
+ @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, mappedBy = "procStruct", targetEntity = NodeImpl.class)
private List<Node> nodes = new ArrayList<Node>();
- @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, targetEntity = PropertyImpl.class)
- private Set<Property> properties = new HashSet<Property>();
+ @OneToOne(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = PropertySupportImpl.class)
+ protected PropertySupport propSupport = new PropertySupportImpl();
- @Transient
+ @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = MessageImpl.class)
private Set<Message> messages = new HashSet<Message>();
- @Transient
+ @IndexColumn(name = "assignIndex")
+ @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = AssignmentImpl.class)
private List<Assignment> assignments = new ArrayList<Assignment>();
public ProcessStructureImpl(ProcessEngine engine, String name)
@@ -114,40 +117,6 @@
return name;
}
- @Override
- public Property getProperty(String name)
- {
- for (Property prop : properties)
- {
- if (prop.getName().equals(name))
- return prop;
- }
- return null;
- }
-
- @Override
- public void addProperty(Property prop)
- {
- properties.add(prop);
- }
-
- @Override
- public Set<String> getPropertyNames()
- {
- Set<String> names = new HashSet<String>();
- for (Property prop : properties)
- {
- names.add(prop.getName());
- }
- return names;
- }
-
- @Override
- public boolean removeProperty(String name)
- {
- return properties.remove(name);
- }
-
public void addNode(NodeImpl nodeImpl)
{
if (nodeImpl == null)
@@ -240,12 +209,43 @@
return Collections.unmodifiableList(assignments);
}
- public void addAssignment(AssignmentImpl assignment)
+ public void addAssignment(AssignmentImpl assign)
{
- this.assignments.add(assignment);
+ assign.setAssignIndex(assignments.size());
+ assignments.add(assign);
}
@Override
+ public Property getProperty(String name)
+ {
+ return propSupport.getProperty(name);
+ }
+
+ @Override
+ public Set<String> getPropertyNames()
+ {
+ return propSupport.getPropertyNames();
+ }
+
+ @Override
+ public void addProperty(Property prop)
+ {
+ propSupport.addProperty(prop);
+ }
+
+ @Override
+ public void addProperty(String name, Object value)
+ {
+ propSupport.addProperty(name, value);
+ }
+
+ @Override
+ public Property removeProperty(String name)
+ {
+ return propSupport.removeProperty(name);
+ }
+
+ @Override
public void create(ProcessDefinition procDef)
{
super.create(procDef);
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertyImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertyImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertyImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -42,8 +42,7 @@
private static final long serialVersionUID = 1L;
@Id @GeneratedValue
- @SuppressWarnings("unused")
- private Integer id;
+ protected Integer id;
@Basic
private String name;
@@ -53,7 +52,7 @@
@Basic
private boolean isCorrelation;
-
+
public PropertyImpl(String name, Object value)
{
this.name = name;
@@ -62,11 +61,18 @@
public PropertyImpl(String name, Object value, boolean isCorrelation)
{
- this.name = name;
+ this(name, value);
this.isCorrelation = isCorrelation;
- initPropertyValue(value);
}
+ public PropertyImpl(Property other)
+ {
+ PropertyImpl otherImpl = (PropertyImpl)other;
+ this.name = otherImpl.name;
+ this.value = otherImpl.value;
+ this.isCorrelation = otherImpl.isCorrelation;
+ }
+
// persistence ctor
protected PropertyImpl()
{
@@ -77,16 +83,19 @@
this.value = (value != null ? value.toString() : null);
}
+ @Override
public String getName()
{
return name;
}
+ @Override
public String getValue()
{
return value;
}
+ @Override
public boolean isCorrelation()
{
return isCorrelation;
Added: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertySupportImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertySupportImpl.java (rev 0)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertySupportImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -0,0 +1,90 @@
+/*
+ * 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.jbpm.ri.model;
+
+//$Id$
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.MapKey;
+import javax.persistence.OneToMany;
+
+import org.jbpm.api.model.Property;
+import org.jbpm.api.model.internal.PropertySupport;
+
+/**
+ * Basic property support
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+@Entity(name = "PropertySupport")
+public class PropertySupportImpl implements PropertySupport
+{
+ private static final long serialVersionUID = 1L;
+
+ @Id @GeneratedValue
+ protected Integer id;
+
+ @MapKey (name = "name")
+ @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = PropertyImpl.class)
+ private Map<String, Property> propmap = new HashMap<String, Property>();
+
+ @Override
+ public Property getProperty(String name)
+ {
+ return propmap.get(name);
+ }
+
+ @Override
+ public Set<String> getPropertyNames()
+ {
+ return Collections.unmodifiableSet(propmap.keySet());
+ }
+
+ @Override
+ public void addProperty(Property prop)
+ {
+ propmap.put(prop.getName(), prop);
+ }
+
+ @Override
+ public void addProperty(String name, Object value)
+ {
+ PropertyImpl prop = new PropertyImpl(name, value);
+ propmap.put(name, prop);
+ }
+
+ @Override
+ public Property removeProperty(String name)
+ {
+ return propmap.remove(name);
+ }
+}
Property changes on: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertySupportImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -71,7 +71,7 @@
public ReceiveTaskImpl(ProcessStructure procStruct, String name)
{
- super(procStruct, name, TaskType.Receive);
+ super(procStruct, TaskType.Receive, name);
}
// Persistence ctor
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SendTaskImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SendTaskImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SendTaskImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -57,7 +57,7 @@
public SendTaskImpl(ProcessStructure procStruct, String name)
{
- super(procStruct, name, TaskType.Send);
+ super(procStruct, TaskType.Send, name);
}
// Persistence ctor
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SequenceFlowImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SequenceFlowImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SequenceFlowImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -25,13 +25,14 @@
import javax.persistence.Basic;
import javax.persistence.CascadeType;
-import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
+import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
+import javax.persistence.OneToOne;
import org.jbpm.api.model.Expression;
import org.jbpm.api.model.Node;
@@ -52,28 +53,28 @@
@Id
@GeneratedValue
- @SuppressWarnings("unused")
- private Integer id;
+ protected Integer id;
@Basic
private int sourceIndex;
+
@Basic
private int targetIndex;
-
+
@Enumerated(EnumType.STRING)
private ConditionType conditionType = ConditionType.None;
@Basic
private String targetName;
- @ManyToOne(cascade = CascadeType.ALL, targetEntity = NodeImpl.class)
+ @ManyToOne(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = NodeImpl.class)
private Node sourceRef;
- @ManyToOne(cascade = CascadeType.ALL, targetEntity = NodeImpl.class)
+ @ManyToOne(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = NodeImpl.class)
private Node targetRef;
- @Embedded
- private ExpressionImpl conditionExpression;
+ @OneToOne(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = ExpressionImpl.class)
+ private Expression conditionExpression;
public SequenceFlowImpl(String targetName)
{
Added: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SignalImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SignalImpl.java (rev 0)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SignalImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -0,0 +1,107 @@
+/*
+ * 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.jbpm.ri.model;
+
+//$Id$
+
+import javax.management.ObjectName;
+import javax.persistence.Basic;
+import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+
+import org.jbpm.api.model.Signal;
+import org.jbpm.api.model.builder.ObjectNameFactory;
+
+/**
+ * A Signal thrown by the ProcessEngine
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+@Entity(name = "Signal")
+public final class SignalImpl implements Signal
+{
+ private static final long serialVersionUID = 1L;
+
+ @Id @GeneratedValue
+ protected Integer id;
+
+ @Enumerated(EnumType.STRING)
+ private SignalType type;
+
+ @Basic
+ private String fromRef;
+
+ @Basic
+ private String message;
+
+ /**
+ * Create the signal for a given source and type
+ */
+ public SignalImpl(SignalType type, ObjectName fromRef)
+ {
+ this.fromRef = fromRef.getCanonicalName();
+ this.type = type;
+ if (fromRef == null)
+ throw new IllegalArgumentException("Signal fromRef cannot be null");
+ if (type == null)
+ throw new IllegalArgumentException("SignalType cannot be null");
+ }
+
+ /**
+ * Create the signal for a given source, type and message
+ */
+ public SignalImpl(SignalType type, ObjectName fromRef, String message)
+ {
+ this(type, fromRef);
+ this.message = message;
+ }
+
+ public ObjectName getFromRef()
+ {
+ return ObjectNameFactory.create(fromRef);
+ }
+
+ public SignalType getSignalType()
+ {
+ return type;
+ }
+
+ public String getMessage()
+ {
+ return message;
+ }
+
+ public String toString()
+ {
+ StringBuilder string = new StringBuilder(type + "[" + fromRef);
+ if (message != null)
+ {
+ string.append(":" + message);
+ }
+ string.append("]");
+ return string.toString();
+ }
+}
\ No newline at end of file
Property changes on: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SignalImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/StartEventImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/StartEventImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/StartEventImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -107,7 +107,8 @@
public void setOutFlow(SequenceFlowImpl outFlow)
{
- outFlow.setTargetIndex(outFlows.size());
+ outFlow.setSourceIndex(outFlows.size());
+ outFlow.setSourceRef(this);
outFlows.add(outFlow);
}
@@ -124,13 +125,13 @@
public void throwEnterSignal(Token token)
{
- Signal signal = new Signal(getKey(), Signal.SignalType.SYSTEM_START_EVENT_ENTER);
+ Signal signal = new SignalImpl(Signal.SignalType.SYSTEM_START_EVENT_ENTER, getKey());
sigService.throwSignal(signal);
}
public void throwExitSignal(Token token)
{
- Signal signal = new Signal(getKey(), Signal.SignalType.SYSTEM_START_EVENT_EXIT);
+ Signal signal = new SignalImpl(Signal.SignalType.SYSTEM_START_EVENT_EXIT, getKey());
sigService.throwSignal(signal);
}
Deleted: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/StructureDelegateImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/StructureDelegateImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/StructureDelegateImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -1,142 +0,0 @@
-/*
- * 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.jbpm.ri.model;
-
-//$Id$
-
-import java.util.List;
-import java.util.Set;
-
-import javax.persistence.CascadeType;
-import javax.persistence.FetchType;
-import javax.persistence.MappedSuperclass;
-import javax.persistence.OneToOne;
-
-import org.jbpm.api.client.ProcessEngine;
-import org.jbpm.api.model.Assignment;
-import org.jbpm.api.model.Message;
-import org.jbpm.api.model.Node;
-import org.jbpm.api.model.Property;
-import org.jbpm.api.model.internal.ProcessStructure;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A process definition
- *
- * @author thomas.diesler(a)jboss.com
- * @since 08-Jul-2008
- */
-@MappedSuperclass
-public abstract class StructureDelegateImpl extends AbstractElementImpl implements ProcessStructure
-{
- private static final long serialVersionUID = 1L;
-
- // provide logging
- final static Logger log = LoggerFactory.getLogger(StructureDelegateImpl.class);
-
- @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER, targetEntity = ProcessStructureImpl.class)
- protected ProcessStructureImpl procStruct;
-
- public StructureDelegateImpl(ProcessEngine engine, ProcessStructureImpl procStruct)
- {
- super(engine);
- this.procStruct = procStruct;
- }
-
- // Persistence ctor
- protected StructureDelegateImpl()
- {
- }
-
- @Override
- public String getName()
- {
- return procStruct.getName();
- }
-
- @Override
- public Property getProperty(String name)
- {
- return procStruct.getProperty(name);
- }
-
- @Override
- public void addProperty(Property prop)
- {
- procStruct.addProperty(prop);
- }
-
- @Override
- public Set<String> getPropertyNames()
- {
- return procStruct.getPropertyNames();
- }
-
- @Override
- public boolean removeProperty(String name)
- {
- return procStruct.removeProperty(name);
- }
-
- @Override
- public List<Node> getNodes()
- {
- return procStruct.getNodes();
- }
-
- @Override
- public Node getNode(String name)
- {
- return procStruct.getNode(name);
- }
-
- @Override
- public <T extends Node> List<T> getNodes(Class<T> clazz)
- {
- return procStruct.getNodes(clazz);
- }
-
- @Override
- public <T extends Node> T getNode(Class<T> clazz, String name)
- {
- return procStruct.getNode(clazz, name);
- }
-
- @Override
- public Set<Message> getMessages()
- {
- return procStruct.getMessages();
- }
-
- @Override
- public Message getMessage(String msgName)
- {
- return procStruct.getMessage(msgName);
- }
-
- @Override
- public List<Assignment> getAssignments()
- {
- return procStruct.getAssignments();
- }
-}
\ No newline at end of file
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/TaskImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/TaskImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/TaskImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -28,11 +28,15 @@
import java.util.List;
import javax.management.ObjectName;
+import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
+import javax.persistence.FetchType;
+import javax.persistence.OneToMany;
import javax.persistence.Transient;
+import org.hibernate.annotations.IndexColumn;
import org.jbpm.api.Constants;
import org.jbpm.api.InvalidProcessException;
import org.jbpm.api.NotImplementedException;
@@ -74,16 +78,19 @@
@Enumerated(EnumType.STRING)
protected TaskType taskType;
- @Transient
+ @IndexColumn(name = "setIndex")
+ @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = InputSetImpl.class)
private List<InputSet> inputSets = new ArrayList<InputSet>();
- @Transient
+ @IndexColumn(name = "setIndex")
+ @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = OutputSetImpl.class)
private List<OutputSet> outputSets = new ArrayList<OutputSet>();
- @Transient
+ @IndexColumn(name = "exprIndex")
+ @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity = ExpressionImpl.class)
private List<Expression> ioRules = new ArrayList<Expression>();
- public TaskImpl(ProcessStructure procStruct, String name, TaskType taskType)
+ public TaskImpl(ProcessStructure procStruct, TaskType taskType, String name)
{
super(procStruct, name);
this.taskType = taskType;
@@ -100,7 +107,6 @@
}
@Override
- @Transient
public ObjectName getKey()
{
StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
@@ -119,7 +125,8 @@
public void setInFlow(SequenceFlowImpl inFlow)
{
- inFlow.setSourceIndex(inFlows.size());
+ inFlow.setTargetIndex(inFlows.size());
+ inFlow.setTargetRef(this);
inFlows.add(inFlow);
}
@@ -133,7 +140,8 @@
public void setOutFlow(SequenceFlowImpl outFlow)
{
- outFlow.setTargetIndex(outFlows.size());
+ outFlow.setSourceIndex(outFlows.size());
+ outFlow.setSourceRef(this);
outFlows.add(outFlow);
}
@@ -143,8 +151,9 @@
return Collections.unmodifiableList(inputSets);
}
- public void addInputSet(InputSet inputSet)
+ public void addInputSet(InputSetImpl inputSet)
{
+ inputSet.setSetIndex(inputSets.size());
inputSets.add(inputSet);
}
@@ -154,8 +163,9 @@
return Collections.unmodifiableList(outputSets);
}
- public void addOutputSet(OutputSet outputSet)
+ public void addOutputSet(OutputSetImpl outputSet)
{
+ outputSet.setSetIndex(outputSets.size());
outputSets.add(outputSet);
}
@@ -164,8 +174,9 @@
return Collections.unmodifiableList(ioRules);
}
- public void addIORule(Expression expr)
+ public void addIORule(ExpressionImpl expr)
{
+ expr.setExprIndex(ioRules.size());
ioRules.add(expr);
}
@@ -315,17 +326,17 @@
{
private static final long serialVersionUID = 1L;
- ProcessEngine engine = getProcessDefinition().getProcessEngine();
+ ProcessEngine engine = getProcessEngine();
SignalService sigService = engine.getService(SignalService.class);
public void throwEnterSignal(Token token)
{
- Signal signal = new Signal(getKey(), Signal.SignalType.SYSTEM_TASK_ENTER);
+ Signal signal = new SignalImpl(Signal.SignalType.SYSTEM_TASK_ENTER, getKey());
sigService.throwSignal(signal);
}
public void throwExitSignal(Token token)
{
- Signal signal = new Signal(getKey(), Signal.SignalType.SYSTEM_TASK_EXIT);
+ Signal signal = new SignalImpl(Signal.SignalType.SYSTEM_TASK_EXIT, getKey());
sigService.throwSignal(signal);
}
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/UserTaskImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/UserTaskImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/UserTaskImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -80,7 +80,7 @@
public UserTaskImpl(ProcessStructure procStruct, String name)
{
- super(procStruct, name, TaskType.User);
+ super(procStruct, TaskType.User, name);
}
// Persistence ctor
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/EventBuilderImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/EventBuilderImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/EventBuilderImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -24,11 +24,11 @@
//$Id$
import org.jbpm.api.model.Event;
-import org.jbpm.api.model.Signal;
import org.jbpm.api.model.Signal.SignalType;
import org.jbpm.api.model.builder.EventBuilder;
import org.jbpm.ri.model.EventImpl;
import org.jbpm.ri.model.MessageImpl;
+import org.jbpm.ri.model.SignalImpl;
/**
* The EventBuilder can be used to build an {@link Event} dynamically.
@@ -53,7 +53,7 @@
public EventBuilder addSignalRef(SignalType signalType, String message)
{
EventImpl eventImpl = getEvent();
- eventImpl.setSignalRef(new Signal(node.getKey(), signalType, message));
+ eventImpl.setSignalRef(new SignalImpl(signalType, node.getKey(), message));
return this;
}
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/ProcessBuilderImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/ProcessBuilderImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/ProcessBuilderImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -158,7 +158,7 @@
{
if (type == TaskType.None || type == null)
{
- node = new TaskImpl(procStruct, name, TaskType.None);
+ node = new TaskImpl(procStruct, TaskType.None, name);
}
else if (type == TaskType.Service)
{
Added: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/SignalBuilderImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/SignalBuilderImpl.java (rev 0)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/SignalBuilderImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -0,0 +1,47 @@
+/*
+ * 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.jbpm.ri.model.builder;
+
+//$Id$
+
+import javax.management.ObjectName;
+
+import org.jbpm.api.model.Signal;
+import org.jbpm.api.model.Signal.SignalType;
+import org.jbpm.api.model.builder.SignalBuilder;
+import org.jbpm.ri.model.SignalImpl;
+
+
+/**
+ * A SignalBuilder can be used to build a {@link Signal} dynamically.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public class SignalBuilderImpl implements SignalBuilder
+{
+ @Override
+ public Signal newSignal(SignalType signalType, ObjectName fromRef, String message)
+ {
+ return new SignalImpl(signalType, fromRef, message);
+ }
+}
\ No newline at end of file
Property changes on: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/SignalBuilderImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingExecutionContext.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingExecutionContext.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/DelegatingExecutionContext.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -29,10 +29,10 @@
import java.util.Map;
import org.jbpm.api.model.Node;
+import org.jbpm.api.model.Process;
import org.jbpm.api.model.ProcessDefinition;
import org.jbpm.api.model.Property;
import org.jbpm.api.runtime.ExecutionContext;
-import org.jbpm.api.model.Process;
/**
* An ExecutionContext that delegates to the current {@link Node} or {@link Process} for property rerieval.
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/RuntimeProcess.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/RuntimeProcess.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/runtime/RuntimeProcess.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -23,8 +23,8 @@
//$Id$
+import org.jbpm.api.model.Process;
import org.jbpm.api.runtime.TokenExecutor;
-import org.jbpm.api.model.Process;
/**
* A RuntimeProcess add runtime behaviour to the {@link Process} <p/> To protect the engine from maligious user code it
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/ExecutionServiceImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/ExecutionServiceImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/ExecutionServiceImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -36,7 +36,6 @@
import org.jbpm.api.model.Assignment;
import org.jbpm.api.model.Expression;
import org.jbpm.api.model.Process;
-import org.jbpm.api.model.Signal;
import org.jbpm.api.model.StartEvent;
import org.jbpm.api.model.Assignment.AssignTime;
import org.jbpm.api.model.Event.EventDetailType;
@@ -51,6 +50,7 @@
import org.jbpm.api.service.SignalService;
import org.jbpm.ri.model.ProcessImpl;
import org.jbpm.ri.model.SequenceFlowImpl;
+import org.jbpm.ri.model.SignalImpl;
import org.jbpm.ri.runtime.DelegatingToken;
import org.jbpm.ri.runtime.ExpressionEvaluator;
import org.jbpm.ri.runtime.MutableToken;
@@ -335,7 +335,7 @@
synchronized (proc)
{
procImpl.setProcessStatus(ProcessStatus.Active);
- sigService.throwSignal(new Signal(procID, SignalType.SYSTEM_PROCESS_ENTER));
+ sigService.throwSignal(new SignalImpl(SignalType.SYSTEM_PROCESS_ENTER, procID));
// Notify that the process is now Active
proc.notifyAll();
@@ -364,7 +364,7 @@
}
finally
{
- sigService.throwSignal(new Signal(procID, Signal.SignalType.SYSTEM_PROCESS_EXIT));
+ sigService.throwSignal(new SignalImpl(SignalType.SYSTEM_PROCESS_EXIT, procID));
synchronized (proc)
{
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/HibernatePersistenceServiceImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/HibernatePersistenceServiceImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/HibernatePersistenceServiceImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -31,10 +31,10 @@
import org.hibernate.Hibernate;
import org.hibernate.ObjectNotFoundException;
+import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
-import org.hibernate.Session;
import org.jbpm.api.ProcessNotFoundException;
import org.jbpm.api.client.ProcessEngine;
import org.jbpm.api.model.Node;
@@ -42,7 +42,6 @@
import org.jbpm.api.model.ProcessDefinition;
import org.jbpm.api.service.PersistenceService;
import org.jbpm.api.service.Service;
-import org.jbpm.ri.model.NodeImpl;
import org.jbpm.ri.model.ProcessDefinitionImpl;
import org.jbpm.ri.model.ProcessImpl;
import org.slf4j.Logger;
@@ -219,14 +218,15 @@
}
@Override
- public Node loadNode(Session session, ObjectName nodeID)
+ @SuppressWarnings("unchecked")
+ public <T extends Node> T loadNode(Session session, Class<T> nodeImpl, ObjectName nodeID)
{
log.debug("START loadNode: " + nodeID);
- Node node = null;
+ T node = null;
try
{
Integer id = Integer.valueOf(nodeID.getKeyProperty("id"));
- node = (Node)session.load(NodeImpl.class, id);
+ node = (T)session.load(nodeImpl, id);
Hibernate.initialize(node);
}
catch (ObjectNotFoundException ex)
@@ -237,6 +237,15 @@
return node;
}
+ public void deleteNode(Session session, Node node)
+ {
+ log.debug("START deleteNode: " + node);
+
+ session.delete(node);
+
+ log.debug("END deleteNode: " + node);
+ }
+
@SuppressWarnings("unchecked")
private SessionFactory getSessionFactory()
{
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/InMemoryPersistenceServiceImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/InMemoryPersistenceServiceImpl.java 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/InMemoryPersistenceServiceImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -125,9 +125,10 @@
}
@Override
- public Node loadNode(Session session, ObjectName nodeID)
+ @SuppressWarnings("unchecked")
+ public <T extends Node> T loadNode(Session session, Class<T> nodeImpl, ObjectName nodeID)
{
- Node node = nodes.get(nodeID);
+ T node = (T)nodes.get(nodeID);
if (node == null)
throw new ProcessNotFoundException("Cannot find node: " + nodeID);
Added: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/SignalBuilderServiceImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/SignalBuilderServiceImpl.java (rev 0)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/SignalBuilderServiceImpl.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -0,0 +1,51 @@
+/*
+ * 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.jbpm.ri.service;
+
+// $Id$
+
+import org.jbpm.api.client.ProcessEngine;
+import org.jbpm.api.model.Signal;
+import org.jbpm.api.model.builder.SignalBuilder;
+import org.jbpm.api.service.SignalBuilderService;
+import org.jbpm.ri.model.builder.SignalBuilderImpl;
+
+/**
+ * The SignalBuilder can be used to build a {@link Signal} dynamically.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 17-Sep-2008
+ */
+public class SignalBuilderServiceImpl extends SignalBuilderService implements MutableService
+{
+ @Override
+ public void setProcessEngine(ProcessEngine engine)
+ {
+ super.setProcessEngine(engine);
+ }
+
+ @Override
+ public SignalBuilder getSignalBuilder()
+ {
+ return new SignalBuilderImpl();
+ }
+}
Property changes on: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/service/SignalBuilderServiceImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: projects/spec/trunk/modules/ri/src/main/resources/jbpm-cfg-beans.xml
===================================================================
--- projects/spec/trunk/modules/ri/src/main/resources/jbpm-cfg-beans.xml 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/main/resources/jbpm-cfg-beans.xml 2008-10-10 06:56:39 UTC (rev 2516)
@@ -16,6 +16,7 @@
<inject bean="jBPMProcessDefinitionService" />
<inject bean="jBPMProcessService" />
<inject bean="jBPMSignalService" />
+ <inject bean="jBPMSignalBuilderService" />
</set>
</property>
</bean>
@@ -25,24 +26,29 @@
<property name="annotatedClasses">
<set elementClass="java.lang.String">
<value>org.jbpm.ri.model.AbstractElementImpl</value>
+ <value>org.jbpm.ri.model.AssignmentImpl</value>
<value>org.jbpm.ri.model.ComplexGatewayImpl</value>
<value>org.jbpm.ri.model.EndEventImpl</value>
<value>org.jbpm.ri.model.ExclusiveGatewayImpl</value>
+ <value>org.jbpm.ri.model.ExpressionImpl</value>
<value>org.jbpm.ri.model.GatewayImpl</value>
<value>org.jbpm.ri.model.InclusiveGatewayImpl</value>
+ <value>org.jbpm.ri.model.InputSetImpl</value>
<value>org.jbpm.ri.model.MessageImpl</value>
<value>org.jbpm.ri.model.NodeImpl</value>
+ <value>org.jbpm.ri.model.OutputSetImpl</value>
<value>org.jbpm.ri.model.ParallelGatewayImpl</value>
<value>org.jbpm.ri.model.ParticipantImpl</value>
<value>org.jbpm.ri.model.ProcessDefinitionImpl</value>
<value>org.jbpm.ri.model.ProcessStructureImpl</value>
<value>org.jbpm.ri.model.ProcessImpl</value>
<value>org.jbpm.ri.model.PropertyImpl</value>
+ <value>org.jbpm.ri.model.PropertySupportImpl</value>
<value>org.jbpm.ri.model.ReceiveTaskImpl</value>
<value>org.jbpm.ri.model.SendTaskImpl</value>
<value>org.jbpm.ri.model.SequenceFlowImpl</value>
+ <value>org.jbpm.ri.model.SignalImpl</value>
<value>org.jbpm.ri.model.StartEventImpl</value>
- <value>org.jbpm.ri.model.StructureDelegateImpl</value>
<value>org.jbpm.ri.model.TaskImpl</value>
<value>org.jbpm.ri.model.UserTaskImpl</value>
</set>
@@ -68,6 +74,7 @@
<bean name="jBPMMessageBuilderService" class="org.jbpm.ri.service.MessageBuilderServiceImpl" />
<bean name="jBPMProcessBuilderService" class="org.jbpm.ri.service.ProcessBuilderServiceImpl" />
<bean name="jBPMProcessDefinitionService" class="org.jbpm.ri.service.ProcessDefinitionServiceImpl" />
+ <bean name="jBPMSignalBuilderService" class="org.jbpm.ri.service.SignalBuilderServiceImpl" />
<bean name="jBPMSignalService" class="org.jbpm.ri.service.SignalServiceImpl" />
</deployment>
Added: projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/TaskPersistenceTest.java
===================================================================
--- projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/TaskPersistenceTest.java (rev 0)
+++ projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/TaskPersistenceTest.java 2008-10-10 06:56:39 UTC (rev 2516)
@@ -0,0 +1,398 @@
+/*
+ * 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.jbpm.test.ri.service.persistence;
+
+// $Id$
+
+import java.util.List;
+import java.util.Set;
+
+import javax.management.ObjectName;
+
+import org.hibernate.Hibernate;
+import org.hibernate.Session;
+import org.hibernate.StaleStateException;
+import org.hibernate.Transaction;
+import org.jbpm.api.model.Assignment;
+import org.jbpm.api.model.Expression;
+import org.jbpm.api.model.InputSet;
+import org.jbpm.api.model.Node;
+import org.jbpm.api.model.OutputSet;
+import org.jbpm.api.model.SequenceFlow;
+import org.jbpm.api.model.Task;
+import org.jbpm.api.model.Assignment.AssignTime;
+import org.jbpm.api.model.SequenceFlow.ConditionType;
+import org.jbpm.api.model.Task.TaskType;
+import org.jbpm.api.runtime.ExecutionHandler;
+import org.jbpm.api.runtime.FlowHandler;
+import org.jbpm.api.runtime.SignalHandler;
+import org.jbpm.api.runtime.Token;
+import org.jbpm.api.runtime.TokenExecutor;
+import org.jbpm.api.service.PersistenceService;
+import org.jbpm.api.test.CTSTestCase;
+import org.jbpm.ri.model.AssignmentImpl;
+import org.jbpm.ri.model.ExpressionImpl;
+import org.jbpm.ri.model.InputSetImpl;
+import org.jbpm.ri.model.OutputSetImpl;
+import org.jbpm.ri.model.PropertyImpl;
+import org.jbpm.ri.model.SequenceFlowImpl;
+import org.jbpm.ri.model.TaskImpl;
+import org.jbpm.ri.service.HibernatePersistenceServiceImpl;
+
+/**
+ * Test the HibernatePersistenceService for Tasks
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public class TaskPersistenceTest extends CTSTestCase
+{
+ HibernatePersistenceServiceImpl service;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ service = (HibernatePersistenceServiceImpl)PersistenceService.locatePersistenceService();
+ }
+
+ public void testSimpleTask() throws Exception
+ {
+ Task orgTask = new TaskImpl(null, TaskType.None, "Task");
+
+ ObjectName taskID = saveNode(orgTask);
+
+ Task wasTask = loadNode(taskID);
+ assertEquals("Task", wasTask.getName());
+ assertEquals(TaskType.None, wasTask.getTaskType());
+
+ deleteNode(wasTask);
+ }
+
+ public void testTaskProperties() throws Exception
+ {
+ TaskImpl orgTask = new TaskImpl(null, TaskType.None, "Task");
+ orgTask.addProperty("propOne", "valOne");
+ orgTask.addProperty("propTwo", "valTwo");
+
+ ObjectName taskID = saveNode(orgTask);
+
+ Task wasTask = loadNode(taskID);
+ Set<String> propNames = wasTask.getPropertyNames();
+ assertEquals(2, propNames.size());
+ assertEquals("valOne", wasTask.getProperty("propOne").getValue());
+ assertEquals("valTwo", wasTask.getProperty("propTwo").getValue());
+
+ deleteNode(wasTask);
+ }
+
+ public void testTaskAssignments() throws Exception
+ {
+ TaskImpl orgTask = new TaskImpl(null, TaskType.None, "Task");
+ orgTask.addAssignment(new AssignmentImpl(AssignTime.Start, new ExpressionImpl("foo"), new PropertyImpl("propFoo", null)));
+ orgTask.addAssignment(new AssignmentImpl(AssignTime.End, new ExpressionImpl("bar"), new PropertyImpl("propBar", null)));
+
+ ObjectName taskID = saveNode(orgTask);
+
+ Task wasTask = loadNode(taskID);
+ List<Assignment> ass = wasTask.getAssignments();
+ assertEquals(2, ass.size());
+ Assignment assOne = ass.get(0);
+ Assignment assTwo = ass.get(1);
+ assertEquals(AssignTime.Start, assOne.getAssignTime());
+ assertEquals("foo", assOne.getFrom().getExpressionBody());
+ assertEquals("propFoo", assOne.getTo().getName());
+ assertEquals(AssignTime.End, assTwo.getAssignTime());
+ assertEquals("bar", assTwo.getFrom().getExpressionBody());
+ assertEquals("propBar", assTwo.getTo().getName());
+
+ deleteNode(wasTask);
+ }
+
+ public void testInOutFlows() throws Exception
+ {
+ TaskImpl taskA = new TaskImpl(null, TaskType.None, "TaskA");
+ TaskImpl taskB = new TaskImpl(null, TaskType.None, "TaskB");
+
+ SequenceFlowImpl flow = new SequenceFlowImpl("TaskB", ConditionType.Expression, new ExpressionImpl("expr"));
+ taskA.setOutFlow(flow);
+ taskB.setInFlow(flow);
+
+ ObjectName aID = saveNode(taskA);
+ ObjectName bID = saveNode(taskB);
+
+ Task wasA = loadNode(aID);
+ Task wasB = loadNode(bID);
+
+ SequenceFlow outFlowA = wasA.getOutFlow();
+ assertEquals("TaskB", outFlowA.getTargetName());
+ assertEquals("TaskB", outFlowA.getTargetRef().getName());
+ assertEquals(ConditionType.Expression, outFlowA.getConditionType());
+ assertEquals("expr", outFlowA.getConditionExpression().getExpressionBody());
+ assertSame(wasA, outFlowA.getSourceRef());
+
+ SequenceFlow inFlowB = wasB.getInFlow();
+ assertEquals(outFlowA.getTargetName(), inFlowB.getTargetName());
+
+ deleteNode(wasA);
+ deleteNode(wasB);
+ }
+
+ public void testExecHandler() throws Exception
+ {
+ class ExecHandler implements ExecutionHandler
+ {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void execute(Token token)
+ {
+ }
+
+ @Override
+ public Node getNode()
+ {
+ return null;
+ }
+
+ @Override
+ public void setNode(Node node)
+ {
+ }
+ }
+
+ TaskImpl orgTask = new TaskImpl(null, TaskType.None, "Task");
+ orgTask.setExecutionHandler(ExecHandler.class);
+
+ ObjectName taskID = saveNode(orgTask);
+
+ Task wasTask = loadNode(taskID);
+
+ ExecutionHandler execHandler = wasTask.getExecutionHandler();
+ assertNotNull(execHandler);
+ assertTrue(execHandler instanceof ExecutionHandler);
+
+ deleteNode(wasTask);
+ }
+
+ public void testSignalHandler() throws Exception
+ {
+ class SigHandler implements SignalHandler
+ {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public Node getNode()
+ {
+ return null;
+ }
+
+ @Override
+ public void setNode(Node node)
+ {
+ }
+
+ @Override
+ public void throwEnterSignal(Token token)
+ {
+ }
+
+ @Override
+ public void throwExitSignal(Token token)
+ {
+ }
+ }
+
+ TaskImpl orgTask = new TaskImpl(null, TaskType.None, "Task");
+ orgTask.setSignalHandler(SigHandler.class);
+
+ ObjectName taskID = saveNode(orgTask);
+
+ Task wasTask = loadNode(taskID);
+
+ SignalHandler sigHandler = wasTask.getSignalHandler();
+ assertNotNull(sigHandler);
+ assertTrue(sigHandler instanceof SignalHandler);
+
+ deleteNode(wasTask);
+ }
+
+ public void testFlowHandler() throws Exception
+ {
+ class FlowHandlerImpl implements FlowHandler
+ {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public Node getNode()
+ {
+ return null;
+ }
+
+ @Override
+ public void setNode(Node node)
+ {
+ }
+
+ @Override
+ public void execute(TokenExecutor tokenExecutor, Token token)
+ {
+ }
+ }
+
+ TaskImpl orgTask = new TaskImpl(null, TaskType.None, "Task");
+ orgTask.setFlowHandler(FlowHandlerImpl.class);
+
+ ObjectName taskID = saveNode(orgTask);
+
+ Task wasTask = loadNode(taskID);
+
+ FlowHandler flowHandler = wasTask.getFlowHandler();
+ assertNotNull(flowHandler);
+ assertTrue(flowHandler instanceof FlowHandler);
+
+ deleteNode(wasTask);
+ }
+
+ public void testInputSet() throws Exception
+ {
+ TaskImpl orgTask = new TaskImpl(null, TaskType.None, "Task");
+
+ InputSetImpl inSetOne = new InputSetImpl();
+ inSetOne.addProperty("oneName", "oneValue");
+ orgTask.addInputSet(inSetOne);
+
+ InputSetImpl inSetTwo = new InputSetImpl();
+ inSetTwo.addProperty("twoName", "twoValue");
+ orgTask.addInputSet(inSetTwo);
+
+ ObjectName taskID = saveNode(orgTask);
+
+ Task wasTask = loadNode(taskID);
+
+ List<InputSet> inSets = wasTask.getInputSets();
+ assertEquals(2, inSets.size());
+ InputSet wasOne = inSets.get(0);
+ assertEquals("oneValue", wasOne.getProperty("oneName").getValue());
+ InputSet wasTwo = inSets.get(1);
+ assertEquals("twoValue", wasTwo.getProperty("twoName").getValue());
+
+ deleteNode(wasTask);
+ }
+
+ public void testOutputSet() throws Exception
+ {
+ TaskImpl orgTask = new TaskImpl(null, TaskType.None, "Task");
+
+ OutputSetImpl outSetOne = new OutputSetImpl();
+ outSetOne.addProperty("oneName", "oneValue");
+ orgTask.addOutputSet(outSetOne);
+
+ OutputSetImpl outSetTwo = new OutputSetImpl();
+ outSetTwo.addProperty("twoName", "twoValue");
+ orgTask.addOutputSet(outSetTwo);
+
+ ObjectName taskID = saveNode(orgTask);
+
+ Task wasTask = loadNode(taskID);
+
+ List<OutputSet> outSets = wasTask.getOutputSets();
+ assertEquals(2, outSets.size());
+ OutputSet wasOne = outSets.get(0);
+ assertEquals("oneValue", wasOne.getProperty("oneName").getValue());
+ OutputSet wasTwo = outSets.get(1);
+ assertEquals("twoValue", wasTwo.getProperty("twoName").getValue());
+
+ deleteNode(wasTask);
+ }
+
+ public void testIORules() throws Exception
+ {
+ TaskImpl orgTask = new TaskImpl(null, TaskType.None, "Task");
+ orgTask.addIORule(new ExpressionImpl("ioOne"));
+ orgTask.addIORule(new ExpressionImpl("ioTwo"));
+
+ ObjectName taskID = saveNode(orgTask);
+
+ Task wasTask = loadNode(taskID);
+
+ List<Expression> rules = wasTask.getIORules();
+ assertEquals(2, rules.size());
+ Expression wasOne = rules.get(0);
+ assertEquals("ioOne", wasOne.getExpressionBody());
+ Expression wasTwo = rules.get(1);
+ assertEquals("ioTwo", wasTwo.getExpressionBody());
+
+ deleteNode(wasTask);
+ }
+
+ private ObjectName saveNode(Node node)
+ {
+ Session session = service.createSession();
+ Transaction tx = session.beginTransaction();
+ try
+ {
+ service.saveNode(session, node);
+ tx.commit();
+
+ return node.getKey();
+ }
+ finally
+ {
+ session.close();
+ }
+ }
+
+ private Task loadNode(ObjectName nodeID)
+ {
+ Session session = service.createSession();
+ try
+ {
+ Task task = service.loadNode(session, TaskImpl.class, nodeID);
+ Hibernate.initialize(task);
+ return task;
+ }
+ finally
+ {
+ session.close();
+ }
+ }
+
+ private void deleteNode(Node node)
+ {
+ Session session = service.createSession();
+ Transaction tx = session.beginTransaction();
+ try
+ {
+ service.deleteNode(session, node);
+ tx.commit();
+ }
+ catch(StaleStateException ex)
+ {
+ // ignore, because the node was already deleted by a cascade
+ }
+ finally
+ {
+ session.close();
+ }
+ }
+}
Property changes on: projects/spec/trunk/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/TaskPersistenceTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: projects/spec/trunk/modules/ri/src/test/resources/log4j.xml
===================================================================
--- projects/spec/trunk/modules/ri/src/test/resources/log4j.xml 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/modules/ri/src/test/resources/log4j.xml 2008-10-10 06:56:39 UTC (rev 2516)
@@ -24,7 +24,7 @@
<param name="Target" value="System.out" />
<param name="Threshold" value="INFO" />
<layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%d{HH:mm:ss,SSS} [%t] %-5p %C{1} : %m%n" />
+ <param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{1}] %m%n" />
</layout>
</appender>
@@ -32,17 +32,11 @@
<!-- Limit categories -->
<!-- ================ -->
- <category name="org.jbpm">
- <priority value="DEBUG" />
- </category>
-
<category name="org.hibernate">
<priority value="INFO" />
</category>
-
- <!-- hide optimistic locking failures -->
- <category name="org.hibernate.event.def.AbstractFlushingEventListener">
- <priority value="FATAL" />
+ <category name="org.hibernate.persister">
+ <priority value="DEBUG" />
</category>
<!-- ======================= -->
@@ -54,4 +48,4 @@
<appender-ref ref="FILE"/>
</root>
-</log4j:configuration>
+</log4j:configuration>
\ No newline at end of file
Modified: projects/spec/trunk/pom.xml
===================================================================
--- projects/spec/trunk/pom.xml 2008-10-09 19:52:07 UTC (rev 2515)
+++ projects/spec/trunk/pom.xml 2008-10-10 06:56:39 UTC (rev 2516)
@@ -42,6 +42,7 @@
<properties>
<hibernate.version>3.2.6.ga</hibernate.version>
<log4j.version>1.2.14</log4j.version>
+ <mysql.connector.version>5.1.6</mysql.connector.version>
<slf4j.version>1.5.3</slf4j.version>
</properties>
@@ -56,6 +57,11 @@
<!-- Please sort by groupid -->
<dependency>
+ <groupId>mysql</groupId>
+ <artifactId>mysql-connector-java</artifactId>
+ <version>${mysql.connector.version}</version>
+ </dependency>
+ <dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>${hibernate.version}</version>
@@ -153,6 +159,29 @@
</build>
</profile>
+ <!--
+ Name: no-database
+ Descr: Setup the default database
+ -->
+ <profile>
+ <id>no-database</id>
+ <activation>
+ <property>
+ <name>!database</name>
+ </property>
+ </activation>
+ <properties>
+ <database>mysql</database>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>mysql</groupId>
+ <artifactId>mysql-connector-java</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ </profile>
+
<!--
Name: skiptests
Desc: Skips the tests
17 years, 6 months
JBoss JBPM SVN: r2515 - in jbpm3/trunk/modules/gwt-console: server/src/main/java/org/jboss/bpm/console/server/dao and 5 other directories.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-10-09 15:52:07 -0400 (Thu, 09 Oct 2008)
New Revision: 2515
Modified:
jbpm3/trunk/modules/gwt-console/server/src/main/java/org/jboss/bpm/console/server/ProcessManagement.java
jbpm3/trunk/modules/gwt-console/server/src/main/java/org/jboss/bpm/console/server/dao/ProcessDAO.java
jbpm3/trunk/modules/gwt-console/server/src/main/java/org/jboss/bpm/console/server/dao/internal/MockProcessDAO.java
jbpm3/trunk/modules/gwt-console/server/src/main/webapp/index.html
jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/Config.java
jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/MainMenu.java
jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDefinitionList.java
jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceList.java
jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/widgets/RemoteListView.java
Log:
Implement delete operation on RemoteListView's
Modified: jbpm3/trunk/modules/gwt-console/server/src/main/java/org/jboss/bpm/console/server/ProcessManagement.java
===================================================================
--- jbpm3/trunk/modules/gwt-console/server/src/main/java/org/jboss/bpm/console/server/ProcessManagement.java 2008-10-09 06:47:55 UTC (rev 2514)
+++ jbpm3/trunk/modules/gwt-console/server/src/main/java/org/jboss/bpm/console/server/ProcessManagement.java 2008-10-09 19:52:07 UTC (rev 2515)
@@ -26,10 +26,7 @@
import org.jboss.bpm.console.server.dao.DAOFactory;
import org.jboss.bpm.console.server.dao.ProcessDAO;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
+import javax.ws.rs.*;
import javax.ws.rs.core.Context;
import javax.servlet.http.HttpServletRequest;
@@ -41,9 +38,8 @@
@Path("process")
public class ProcessManagement
{
+ private ProcessDAO processDAO;
- private ProcessDAO processDAO;
-
public ProcessManagement()
{
this.processDAO = DAOFactory.createProcessDefinitionDAO();
@@ -51,16 +47,28 @@
@GET
@Path("definitions")
- @Produces("application/json")
+ @Produces("application/json")
public ProcessDefinitionWrapper getDefinitionsJSON(
@Context
HttpServletRequest request
- )
- {
- System.out.println("Remote user: " + request.getRemoteUser());
+ )
+ {
return new ProcessDefinitionWrapper( processDAO.getAllProcessDefinitions() );
}
+ @POST
+ @Path("definitions/{id}/remove")
+ @Produces("application/json")
+ public ProcessDefinitionWrapper removeDefinitionsJSON(
+ @PathParam("id")
+ long processId,
+ @Context
+ HttpServletRequest request
+ )
+ {
+ return new ProcessDefinitionWrapper( processDAO.removeProcessDefinition(processId) );
+ }
+
@GET
@Path("definitions/{id}/instances")
@Produces("application/json")
@@ -70,8 +78,19 @@
@Context
HttpServletRequest request)
{
- System.out.println("Remote user: " + request.getRemoteUser());
return new ProcessInstanceWrapper( processDAO.getInstanceByProcessDefinitionId(processId) );
}
+ @POST
+ @Path("instances/{id}/remove")
+ @Produces("application/json")
+ public ProcessInstanceWrapper removeInstancesJSON(
+ @PathParam("id")
+ long instanceId,
+ @Context
+ HttpServletRequest request)
+ {
+ return new ProcessInstanceWrapper( processDAO.removeProcessInstance(instanceId) );
+ }
+
}
Modified: jbpm3/trunk/modules/gwt-console/server/src/main/java/org/jboss/bpm/console/server/dao/ProcessDAO.java
===================================================================
--- jbpm3/trunk/modules/gwt-console/server/src/main/java/org/jboss/bpm/console/server/dao/ProcessDAO.java 2008-10-09 06:47:55 UTC (rev 2514)
+++ jbpm3/trunk/modules/gwt-console/server/src/main/java/org/jboss/bpm/console/server/dao/ProcessDAO.java 2008-10-09 19:52:07 UTC (rev 2515)
@@ -35,7 +35,11 @@
{
List<ProcessDefinition> getAllProcessDefinitions();
- ProcessDefinition getProcessDefinitionById(long id);
+ ProcessDefinition getProcessDefinitionById(long processId);
- List<ProcessInstance> getInstanceByProcessDefinitionId(long id);
+ List<ProcessDefinition> removeProcessDefinition(long processId);
+
+ List<ProcessInstance> getInstanceByProcessDefinitionId(long processId);
+
+ List<ProcessInstance> removeProcessInstance(long instanceId);
}
Modified: jbpm3/trunk/modules/gwt-console/server/src/main/java/org/jboss/bpm/console/server/dao/internal/MockProcessDAO.java
===================================================================
--- jbpm3/trunk/modules/gwt-console/server/src/main/java/org/jboss/bpm/console/server/dao/internal/MockProcessDAO.java 2008-10-09 06:47:55 UTC (rev 2514)
+++ jbpm3/trunk/modules/gwt-console/server/src/main/java/org/jboss/bpm/console/server/dao/internal/MockProcessDAO.java 2008-10-09 19:52:07 UTC (rev 2515)
@@ -48,7 +48,7 @@
defs.add( new ProcessDefinition(8, "Credit approval", "4"));
}
- final static List instances = new ArrayList();
+ final static List<ProcessInstance> instances = new ArrayList<ProcessInstance>();
static
{
instances.add( new ProcessInstance(2, -1, "Running", new Date(), null));
@@ -78,8 +78,60 @@
return match;
}
+
+ public List<ProcessDefinition> removeProcessDefinition(long processId)
+ {
+ /*List<ProcessDefinition> updatedList = new ArrayList<ProcessDefinition>();
+ boolean match = false;
+ for(ProcessDefinition pd : defs)
+ {
+ if(processId != pd.getProcessId())
+ updatedList.add(pd);
+ else
+ match = true;
+ }
+
+ if(!match)
+ throw new IllegalArgumentException("No process with id " + processId);
+
+ return updatedList;*/
+
+ ProcessDefinition toBeRemoved = null;
+ for(ProcessDefinition pd : defs)
+ {
+ if(processId == pd.getProcessId())
+ toBeRemoved = pd;
+ }
+
+ if(null==toBeRemoved)
+ throw new IllegalArgumentException("No process with id " + processId);
+ else
+ defs.remove(toBeRemoved);
+
+ return defs;
+ }
+
public List<ProcessInstance> getInstanceByProcessDefinitionId(long id)
{
return instances;
}
+
+
+ public List<ProcessInstance> removeProcessInstance(long instanceId)
+ {
+ List<ProcessInstance> updatedList = new ArrayList<ProcessInstance>();
+ boolean match = false;
+ for(ProcessInstance i : instances)
+ {
+ if(instanceId != i.getId())
+ updatedList.add(i);
+ else
+ match = true;
+ }
+
+ if(!match)
+ throw new IllegalArgumentException("No instance with id " + instanceId);
+
+ return updatedList;
+ }
}
Modified: jbpm3/trunk/modules/gwt-console/server/src/main/webapp/index.html
===================================================================
--- jbpm3/trunk/modules/gwt-console/server/src/main/webapp/index.html 2008-10-09 06:47:55 UTC (rev 2514)
+++ jbpm3/trunk/modules/gwt-console/server/src/main/webapp/index.html 2008-10-09 19:52:07 UTC (rev 2515)
@@ -21,24 +21,38 @@
<td>GET</td>
<td><a href="/gwt-console-server/rs/process/definitions">/rs/process/definitions</a></td>
<td>A list of process definitions</td>
- <td>application/json, text/html</td>
+ <td>application/json</td>
</tr>
<tr>
+ <td>POST</td>
+ <td>/rs/process/definitions/{processId}/remove</td>
+ <td>Removes a particular process definition</td>
+ <td>application/json</td>
+ </tr>
+
+ <tr>
<td>GET</td>
<td><a href="/gwt-console-server/rs/process/definitions/1/instances">/rs/process/definitions/{id}/instances</a></td>
<td>A list of process instances for a given process definition</td>
- <td>application/json, text/html</td>
+ <td>application/json</td>
</tr>
<tr>
- <td colspan=4>User Management</td>
+ <td>POST</td>
+ <td>/rs/process/instances/{instanceId}/remove</td>
+ <td>Removes a particular process instance</td>
+ <td>application/json</td>
</tr>
<tr>
+ <td colspan=4><h3>User Management</h3></td>
+ </tr>
+
+ <tr>
<td>GET</td>
<td><a href="/gwt-console-server/rs/user/roles?roleCheck=admin,user">/rs/user/roles?roleCheck=a,b,c</a></td>
- <td>A list of assigned roles</td>
+ <td>A list of assigned roles matching the query parameter (Comma seperated list)</td>
<td>application/json</td>
</tr>
</table>
Modified: jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/Config.java
===================================================================
--- jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/Config.java 2008-10-09 06:47:55 UTC (rev 2514)
+++ jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/Config.java 2008-10-09 19:52:07 UTC (rev 2515)
@@ -70,4 +70,14 @@
}
return consoleServerUrl + webContext + "/rs/user/roles?roleCheck="+sb.toString();
}
+
+ public String getRemoveDefinitionURL(long processId)
+ {
+ return consoleServerUrl + webContext + "/rs/process/definitions/" + processId + "/remove";
+ }
+
+ public String getRemoveInstanceURL(long instanceId)
+ {
+ return consoleServerUrl + webContext + "/rs/process/instances/" + instanceId + "/remove";
+ }
}
Modified: jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/MainMenu.java
===================================================================
--- jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/MainMenu.java 2008-10-09 06:47:55 UTC (rev 2514)
+++ jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/MainMenu.java 2008-10-09 19:52:07 UTC (rev 2515)
@@ -28,7 +28,6 @@
import com.gwtext.client.widgets.tree.TreeNode;
import com.gwtext.client.widgets.tree.TreePanel;
import com.gwtext.client.widgets.tree.event.TreeNodeListenerAdapter;
-import com.google.gwt.user.client.ui.HTML;
import org.jboss.bpm.console.client.metric.MetricOverviewEditor;
import org.jboss.bpm.console.client.process.ProcessDefinitionListEditor;
import org.jboss.bpm.console.client.widgets.MainMenuPanel;
@@ -157,7 +156,7 @@
StringBuffer sb = new StringBuffer();
for(String roleName : view.getRolesAssigned())
{
- sb.append(roleName).append("/");
+ sb.append("<br> - ").append(roleName);
}
view.displayMessage("Assigned roles: " + sb.toString(), false);
Modified: jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDefinitionList.java
===================================================================
--- jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDefinitionList.java 2008-10-09 06:47:55 UTC (rev 2514)
+++ jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDefinitionList.java 2008-10-09 19:52:07 UTC (rev 2515)
@@ -21,8 +21,10 @@
*/
package org.jboss.bpm.console.client.process;
+import com.google.gwt.http.client.*;
import com.gwtext.client.data.*;
-import com.gwtext.client.widgets.*;
+import com.gwtext.client.widgets.MessageBox;
+import com.gwtext.client.widgets.MessageBoxConfig;
import com.gwtext.client.widgets.grid.ColumnConfig;
import com.gwtext.client.widgets.grid.ColumnModel;
import org.jboss.bpm.console.client.ConsoleView;
@@ -37,7 +39,7 @@
*/
public class ProcessDefinitionList extends RemoteListView
{
- private Map row2ProcessMap = new HashMap();
+ private Map<Integer, ProcessDefinition> row2ProcessMap = new HashMap<Integer,ProcessDefinition>();
public ProcessDefinitionList(String titleName, final ConsoleView view)
{
@@ -75,13 +77,13 @@
final JsonReader reader = new JsonReader(recordDef);
reader.setRoot("definitions");
reader.setTotalProperty("totalCount");
- reader.setId("processId");
+ reader.setId("processId");
return reader;
}
protected void onExamine(int row)
{
- ProcessDefinition proc = (ProcessDefinition)row2ProcessMap.get(row);
+ ProcessDefinition proc = row2ProcessMap.get(row);
String editorId = ProcessInstanceEditor.ID+"."+proc.getName();
if(view.hasEditorView(editorId))
@@ -92,7 +94,6 @@
protected void onDelete(final int row)
{
- System.out.println("Delete " + row);
MessageBox.show(new MessageBoxConfig() {
{
setTitle("Delete process?");
@@ -102,9 +103,36 @@
setCallback(new MessageBox.PromptCallback() {
public void execute(String btnID, String text)
{
- // TODO: add delete operation
- ProcessDefinition proc = (ProcessDefinition)row2ProcessMap.get(row);
- System.out.println("Delete "+ proc +"? " + btnID);
+ if("yes".equals( btnID) )
+ {
+ ProcessDefinition proc = (ProcessDefinition)row2ProcessMap.get(row);
+ String url = view.getConfig().getRemoveDefinitionURL(proc.getProcessId());
+ RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url);
+
+ try
+ {
+ rb.sendRequest("",
+ new RequestCallback() {
+
+ public void onResponseReceived(Request request, Response response)
+ {
+ reloadStore();
+ }
+
+ public void onError(Request request, Throwable t)
+ {
+ // auth failed
+ view.setError("Failed to remove process definition: "+t.getMessage());
+ t.printStackTrace(System.out);
+ }
+ });
+ }
+ catch (RequestException e1)
+ {
+ view.setError(e1.getMessage());
+ e1.printStackTrace();
+ }
+ }
}
});
}
Modified: jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceList.java
===================================================================
--- jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceList.java 2008-10-09 06:47:55 UTC (rev 2514)
+++ jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceList.java 2008-10-09 19:52:07 UTC (rev 2515)
@@ -21,7 +21,10 @@
*/
package org.jboss.bpm.console.client.process;
+import com.google.gwt.http.client.*;
import com.gwtext.client.data.*;
+import com.gwtext.client.widgets.MessageBox;
+import com.gwtext.client.widgets.MessageBoxConfig;
import com.gwtext.client.widgets.grid.ColumnConfig;
import com.gwtext.client.widgets.grid.ColumnModel;
import org.jboss.bpm.console.client.ConsoleView;
@@ -31,7 +34,6 @@
import java.util.HashMap;
import java.util.Map;
-import java.util.Date;
/**
* @author Heiko.Braun <heiko.braun(a)jboss.com>
@@ -39,7 +41,7 @@
public class ProcessInstanceList extends RemoteListView
{
- private Map row2InstanceMap = new HashMap();
+ private Map<Integer, ProcessInstance> row2InstanceMap = new HashMap<Integer, ProcessInstance>();
private ProcessDefinition parent;
private static final String DATE_FORMAT = "y-m-j H:i:s"; //08-10-02 13:51:27
@@ -56,7 +58,7 @@
protected void onExamine(final int row)
{
- ProcessInstance instance = (ProcessInstance)row2InstanceMap.get(row);
+ ProcessInstance instance = row2InstanceMap.get(row);
String id = ProcessInstanceEditor.ID+"."+instance.getId();
if(view.hasEditorView(id))
view.showEditor(id);
@@ -66,7 +68,48 @@
protected void onDelete(final int row)
{
- // TODO: Implement
+ MessageBox.show(new MessageBoxConfig() {
+ {
+ setTitle("Delete process instance?");
+ setMsg("Would you like to delete this process instance?");
+ setButtons(MessageBox.YESNOCANCEL);
+ setCallback(new MessageBox.PromptCallback() {
+ public void execute(String btnID, String text)
+ {
+ if("yes".equals( btnID) )
+ {
+ ProcessInstance instance = (ProcessInstance)row2InstanceMap.get(row);
+ String url = view.getConfig().getRemoveInstanceURL(instance.getId());
+ RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url);
+
+ try
+ {
+ rb.sendRequest("",
+ new RequestCallback() {
+
+ public void onResponseReceived(Request request, Response response)
+ {
+ reloadStore();
+ }
+
+ public void onError(Request request, Throwable t)
+ {
+ // auth failed
+ view.setError("Failed to remove process instance: "+t.getMessage());
+ t.printStackTrace(System.out);
+ }
+ });
+ }
+ catch (RequestException e1)
+ {
+ view.setError(e1.getMessage());
+ e1.printStackTrace();
+ }
+ }
+ }
+ });
+ }
+ });
}
protected void onRecordsLoaded(Record[] records)
@@ -76,7 +119,7 @@
{
Long id = Long.valueOf(r.getAsString("instanceId"));
ProcessInstance pd = new ProcessInstance(
- id,
+ id,
Long.valueOf( r.getAsString("parentId")),
r.getAsString("status"),
r.getAsDate("start"),
@@ -124,8 +167,8 @@
reader.setRoot("instances");
reader.setTotalProperty("totalCount");
reader.setId("instanceId");
-
- return reader;
+
+ return reader;
}
private static String getResourceUrl(ConsoleView view, long parentId)
Modified: jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/widgets/RemoteListView.java
===================================================================
--- jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/widgets/RemoteListView.java 2008-10-09 06:47:55 UTC (rev 2514)
+++ jbpm3/trunk/modules/gwt-console/war/src/main/java/org/jboss/bpm/console/client/widgets/RemoteListView.java 2008-10-09 19:52:07 UTC (rev 2515)
@@ -50,6 +50,8 @@
private GridPanel grid;
protected String title;
+ private Store store;
+
public RemoteListView(String titleName, ConsoleView view, String resourceUrl)
{
super();
@@ -83,7 +85,7 @@
DataProxy dataProxy = new ScriptTagProxy(resourceUrl, 1000*10);
- final Store store = new Store(dataProxy, reader, false); // boolean==remoteSort, add's GET parameters
+ store = new Store(dataProxy, reader, false); // boolean==remoteSort, add's GET parameters
store.addStoreListener( new ListViewStoreListener(this, grid) );
grid.setStore(store);
@@ -224,4 +226,9 @@
{
return grid;
}
+
+ protected void reloadStore()
+ {
+ store.load(0,PAGE_SIZE);
+ }
}
17 years, 6 months
JBoss JBPM SVN: r2514 - in projects/spec/trunk: modules and 1 other directories.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-10-09 02:47:55 -0400 (Thu, 09 Oct 2008)
New Revision: 2514
Added:
projects/spec/trunk/modules/ri/
projects/spec/trunk/modules/ri/.classpath
projects/spec/trunk/modules/ri/.project
projects/spec/trunk/modules/ri/pom.xml
projects/spec/trunk/modules/ri/src/
Removed:
projects/spec/trunk/modules/impl/
projects/spec/trunk/modules/ri/.classpath
projects/spec/trunk/modules/ri/.project
projects/spec/trunk/modules/ri/pom.xml
projects/spec/trunk/modules/ri/src/
Modified:
projects/spec/trunk/pom.xml
Log:
Move module/impl to module/ri
Copied: projects/spec/trunk/modules/ri (from rev 2510, projects/spec/trunk/modules/impl)
Deleted: projects/spec/trunk/modules/ri/.classpath
===================================================================
--- projects/spec/trunk/modules/impl/.classpath 2008-10-08 15:11:43 UTC (rev 2510)
+++ projects/spec/trunk/modules/ri/.classpath 2008-10-09 06:47:55 UTC (rev 2514)
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" output="target/classes" path="src/main/java"/>
- <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
- <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
- <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>
- <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
Copied: projects/spec/trunk/modules/ri/.classpath (from rev 2513, projects/spec/trunk/modules/impl/.classpath)
===================================================================
--- projects/spec/trunk/modules/ri/.classpath (rev 0)
+++ projects/spec/trunk/modules/ri/.classpath 2008-10-09 06:47:55 UTC (rev 2514)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/classes" path="src/main/java"/>
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
+ <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
+ <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>
+ <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Deleted: projects/spec/trunk/modules/ri/.project
===================================================================
--- projects/spec/trunk/modules/impl/.project 2008-10-08 15:11:43 UTC (rev 2510)
+++ projects/spec/trunk/modules/ri/.project 2008-10-09 06:47:55 UTC (rev 2514)
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>jbpm-spec-ri</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.maven.ide.eclipse.maven2Builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.maven.ide.eclipse.maven2Nature</nature>
- </natures>
-</projectDescription>
Copied: projects/spec/trunk/modules/ri/.project (from rev 2513, projects/spec/trunk/modules/impl/.project)
===================================================================
--- projects/spec/trunk/modules/ri/.project (rev 0)
+++ projects/spec/trunk/modules/ri/.project 2008-10-09 06:47:55 UTC (rev 2514)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>jbpm-spec-ri</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.maven.ide.eclipse.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.maven.ide.eclipse.maven2Nature</nature>
+ </natures>
+</projectDescription>
Deleted: projects/spec/trunk/modules/ri/pom.xml
===================================================================
--- projects/spec/trunk/modules/impl/pom.xml 2008-10-08 15:11:43 UTC (rev 2510)
+++ projects/spec/trunk/modules/ri/pom.xml 2008-10-09 06:47:55 UTC (rev 2514)
@@ -1,94 +0,0 @@
-<?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. -->
- <!-- -->
- <!-- ====================================================================== -->
-
- <!-- $Id$
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <name>JBoss jBPM4 - Impl</name>
- <groupId>org.jbpm.jbpm4</groupId>
- <artifactId>jbpm-impl</artifactId>
- <packaging>jar</packaging>
-
-
- <!-- Parent -->
- <parent>
- <groupId>org.jbpm.jbpm4</groupId>
- <artifactId>jbpm</artifactId>
- <version>1.0.1-SNAPSHOT</version>
- <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>
- <mvel.version>1.3.7-java1.5</mvel.version>
- </properties>
-
- <!-- DependencyManagement -->
- <dependencyManagement>
- <dependencies>
- <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>
- <dependency>
- <groupId>org.mvel</groupId>
- <artifactId>mvel</artifactId>
- <version>${mvel.version}</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
- <!-- Dependencies -->
- <dependencies>
- <dependency>
- <groupId>org.jbpm.jbpm4</groupId>
- <artifactId>jbpm-api</artifactId>
- <version>${version}</version>
- </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>
- <dependency>
- <groupId>org.mvel</groupId>
- <artifactId>mvel</artifactId>
- </dependency>
- </dependencies>
-
- <!-- Profiles -->
- <profiles>
- </profiles>
-
-</project>
\ No newline at end of file
Copied: projects/spec/trunk/modules/ri/pom.xml (from rev 2513, projects/spec/trunk/modules/impl/pom.xml)
===================================================================
--- projects/spec/trunk/modules/ri/pom.xml (rev 0)
+++ projects/spec/trunk/modules/ri/pom.xml 2008-10-09 06:47:55 UTC (rev 2514)
@@ -0,0 +1,94 @@
+<?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. -->
+ <!-- -->
+ <!-- ====================================================================== -->
+
+ <!-- $Id$
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <name>jBPM Spec - RI</name>
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-spec-ri</artifactId>
+ <packaging>jar</packaging>
+
+
+ <!-- Parent -->
+ <parent>
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-spec</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <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>
+ <mvel.version>1.3.7-java1.5</mvel.version>
+ </properties>
+
+ <!-- DependencyManagement -->
+ <dependencyManagement>
+ <dependencies>
+ <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>
+ <dependency>
+ <groupId>org.mvel</groupId>
+ <artifactId>mvel</artifactId>
+ <version>${mvel.version}</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <!-- Dependencies -->
+ <dependencies>
+ <dependency>
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-spec-api</artifactId>
+ <version>${version}</version>
+ </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>
+ <dependency>
+ <groupId>org.mvel</groupId>
+ <artifactId>mvel</artifactId>
+ </dependency>
+ </dependencies>
+
+ <!-- Profiles -->
+ <profiles>
+ </profiles>
+
+</project>
Copied: projects/spec/trunk/modules/ri/src (from rev 2513, projects/spec/trunk/modules/impl/src)
Modified: projects/spec/trunk/pom.xml
===================================================================
--- projects/spec/trunk/pom.xml 2008-10-09 06:02:28 UTC (rev 2513)
+++ projects/spec/trunk/pom.xml 2008-10-09 06:47:55 UTC (rev 2514)
@@ -34,7 +34,7 @@
<!-- Modules -->
<modules>
<module>modules/api</module>
- <module>modules/impl</module>
+ <module>modules/ri</module>
<module>modules/cts</module>
</modules>
17 years, 6 months
JBoss JBPM SVN: r2513 - in projects/spec/trunk: modules/api and 8 other directories.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-10-09 02:02:28 -0400 (Thu, 09 Oct 2008)
New Revision: 2513
Added:
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/InputSet.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/OutputSet.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Participant.java
Removed:
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/InputSet.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/OutputSet.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/Participant.java
Modified:
projects/spec/trunk/modules/api/pom.xml
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Message.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Task.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/runtime/Token.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/MessageService.java
projects/spec/trunk/modules/cts/pom.xml
projects/spec/trunk/modules/impl/pom.xml
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/InputSetImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/MessageImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/OutputSetImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ParticipantImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/DelegatingToken.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/MessageSender.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/MutableToken.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/TokenImpl.java
projects/spec/trunk/pom.xml
Log:
Use jBPM Spec
Modified: projects/spec/trunk/modules/api/pom.xml
===================================================================
--- projects/spec/trunk/modules/api/pom.xml 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/modules/api/pom.xml 2008-10-09 06:02:28 UTC (rev 2513)
@@ -12,7 +12,7 @@
<!-- $Id$ -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <name>JBoss BPM Spec - API</name>
+ <name>jBPM Spec - API</name>
<groupId>org.jbpm.jbpm4</groupId>
<artifactId>jbpm-spec-api</artifactId>
<packaging>jar</packaging>
Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/InputSet.java (from rev 2510, projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/InputSet.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/InputSet.java (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/InputSet.java 2008-10-09 06:02:28 UTC (rev 2513)
@@ -0,0 +1,37 @@
+/*
+ * 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.jbpm.api.model;
+
+import org.jbpm.api.model.internal.PropertySupport;
+
+
+//$Id$
+
+/**
+ * An InputSet, which is used in the definition of common attributes for Activities and for attributes of a Process
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 21-Jul-2008
+ */
+public interface InputSet extends PropertySupport
+{
+}
Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Message.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Message.java 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Message.java 2008-10-09 06:02:28 UTC (rev 2513)
@@ -23,7 +23,6 @@
import java.io.Serializable;
-import org.jbpm.api.model.internal.Participant;
import org.jbpm.api.model.internal.PropertySupport;
Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/OutputSet.java (from rev 2510, projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/OutputSet.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/OutputSet.java (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/OutputSet.java 2008-10-09 06:02:28 UTC (rev 2513)
@@ -0,0 +1,37 @@
+/*
+ * 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.jbpm.api.model;
+
+import org.jbpm.api.model.internal.PropertySupport;
+
+
+//$Id$
+
+/**
+ * An OuputSet, which is used in the definition of common attributes for Activities and for attributes of a Process
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 21-Jul-2008
+ */
+public interface OutputSet extends PropertySupport
+{
+}
Copied: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Participant.java (from rev 2510, projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/Participant.java)
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Participant.java (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Participant.java 2008-10-09 06:02:28 UTC (rev 2513)
@@ -0,0 +1,43 @@
+/*
+ * 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.jbpm.api.model;
+
+//$Id$
+
+import java.io.Serializable;
+
+import javax.management.ObjectName;
+
+
+/**
+ * A Participant, which is used in the definition of attributes for a Pool, {@link Message}, and WebService
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 21-Jul-2008
+ */
+public interface Participant extends Serializable
+{
+ /**
+ * The name of this participant
+ */
+ ObjectName getName();
+}
Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Task.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Task.java 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Task.java 2008-10-09 06:02:28 UTC (rev 2513)
@@ -25,8 +25,6 @@
import java.util.List;
-import org.jbpm.api.model.internal.InputSet;
-import org.jbpm.api.model.internal.OutputSet;
/**
* A Task is an Atomic Activity that is included within a Process.
Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/InputSet.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/InputSet.java 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/InputSet.java 2008-10-09 06:02:28 UTC (rev 2513)
@@ -1,35 +0,0 @@
-/*
- * 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.jbpm.api.model.internal;
-
-
-//$Id$
-
-/**
- * An InputSet, which is used in the definition of common attributes for Activities and for attributes of a Process
- *
- * @author thomas.diesler(a)jboss.com
- * @since 21-Jul-2008
- */
-public interface InputSet extends PropertySupport
-{
-}
Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/OutputSet.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/OutputSet.java 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/OutputSet.java 2008-10-09 06:02:28 UTC (rev 2513)
@@ -1,35 +0,0 @@
-/*
- * 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.jbpm.api.model.internal;
-
-
-//$Id$
-
-/**
- * An OuputSet, which is used in the definition of common attributes for Activities and for attributes of a Process
- *
- * @author thomas.diesler(a)jboss.com
- * @since 21-Jul-2008
- */
-public interface OutputSet extends PropertySupport
-{
-}
Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/Participant.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/Participant.java 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/Participant.java 2008-10-09 06:02:28 UTC (rev 2513)
@@ -1,44 +0,0 @@
-/*
- * 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.jbpm.api.model.internal;
-
-//$Id$
-
-import java.io.Serializable;
-
-import javax.management.ObjectName;
-
-import org.jbpm.api.model.Message;
-
-/**
- * A Participant, which is used in the definition of attributes for a Pool, {@link Message}, and WebService
- *
- * @author thomas.diesler(a)jboss.com
- * @since 21-Jul-2008
- */
-public interface Participant extends Serializable
-{
- /**
- * The name of this participant
- */
- ObjectName getName();
-}
Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/runtime/Token.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/runtime/Token.java 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/runtime/Token.java 2008-10-09 06:02:28 UTC (rev 2513)
@@ -23,9 +23,9 @@
// $Id$
+import org.jbpm.api.model.InputSet;
+import org.jbpm.api.model.OutputSet;
import org.jbpm.api.model.SequenceFlow;
-import org.jbpm.api.model.internal.InputSet;
-import org.jbpm.api.model.internal.OutputSet;
/**
* A Token is a descriptive construct used to describe how the flow of a Process will proceed at runtime.
Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/MessageService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/MessageService.java 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/MessageService.java 2008-10-09 06:02:28 UTC (rev 2513)
@@ -36,9 +36,9 @@
import org.jbpm.api.model.Event;
import org.jbpm.api.model.Message;
import org.jbpm.api.model.Node;
+import org.jbpm.api.model.Participant;
import org.jbpm.api.model.Process;
import org.jbpm.api.model.Task;
-import org.jbpm.api.model.internal.Participant;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Modified: projects/spec/trunk/modules/cts/pom.xml
===================================================================
--- projects/spec/trunk/modules/cts/pom.xml 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/modules/cts/pom.xml 2008-10-09 06:02:28 UTC (rev 2513)
@@ -13,7 +13,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <name>JBoss BPM Spec - CTS</name>
+ <name>jBPM Spec - CTS</name>
<groupId>org.jbpm.jbpm4</groupId>
<artifactId>jbpm-spec-cts</artifactId>
<packaging>jar</packaging>
Modified: projects/spec/trunk/modules/impl/pom.xml
===================================================================
--- projects/spec/trunk/modules/impl/pom.xml 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/modules/impl/pom.xml 2008-10-09 06:02:28 UTC (rev 2513)
@@ -14,7 +14,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <name>JBoss BPM Spec - RI</name>
+ <name>jBPM Spec - RI</name>
<groupId>org.jbpm.jbpm4</groupId>
<artifactId>jbpm-spec-ri</artifactId>
<packaging>jar</packaging>
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/InputSetImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/InputSetImpl.java 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/InputSetImpl.java 2008-10-09 06:02:28 UTC (rev 2513)
@@ -28,8 +28,8 @@
import javax.persistence.Transient;
+import org.jbpm.api.model.InputSet;
import org.jbpm.api.model.Property;
-import org.jbpm.api.model.internal.InputSet;
/**
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/MessageImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/MessageImpl.java 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/MessageImpl.java 2008-10-09 06:02:28 UTC (rev 2513)
@@ -36,8 +36,8 @@
import javax.persistence.OneToMany;
import org.jbpm.api.model.Message;
+import org.jbpm.api.model.Participant;
import org.jbpm.api.model.Property;
-import org.jbpm.api.model.internal.Participant;
/**
* A Message, which is used in the definition of attributes for a @{link StartEvent},
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/OutputSetImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/OutputSetImpl.java 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/OutputSetImpl.java 2008-10-09 06:02:28 UTC (rev 2513)
@@ -28,8 +28,8 @@
import javax.persistence.Transient;
+import org.jbpm.api.model.OutputSet;
import org.jbpm.api.model.Property;
-import org.jbpm.api.model.internal.OutputSet;
/**
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ParticipantImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ParticipantImpl.java 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ParticipantImpl.java 2008-10-09 06:02:28 UTC (rev 2513)
@@ -29,8 +29,8 @@
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
+import org.jbpm.api.model.Participant;
import org.jbpm.api.model.builder.ObjectNameFactory;
-import org.jbpm.api.model.internal.Participant;
/**
* A Participant, which is used in the definition of attributes for a @{link Pool}, @{link Message}, and @{link
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java 2008-10-09 06:02:28 UTC (rev 2513)
@@ -38,14 +38,14 @@
import org.jbpm.api.NotImplementedException;
import org.jbpm.api.client.ProcessEngine;
import org.jbpm.api.model.Expression;
+import org.jbpm.api.model.InputSet;
import org.jbpm.api.model.Node;
+import org.jbpm.api.model.OutputSet;
import org.jbpm.api.model.Property;
import org.jbpm.api.model.SequenceFlow;
import org.jbpm.api.model.Signal;
import org.jbpm.api.model.Task;
import org.jbpm.api.model.builder.ObjectNameFactory;
-import org.jbpm.api.model.internal.InputSet;
-import org.jbpm.api.model.internal.OutputSet;
import org.jbpm.api.model.internal.ProcessStructure;
import org.jbpm.api.runtime.ExecutionContext;
import org.jbpm.api.runtime.ExecutionHandler;
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/DelegatingToken.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/DelegatingToken.java 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/DelegatingToken.java 2008-10-09 06:02:28 UTC (rev 2513)
@@ -23,10 +23,10 @@
//$Id$
+import org.jbpm.api.model.InputSet;
import org.jbpm.api.model.Node;
+import org.jbpm.api.model.OutputSet;
import org.jbpm.api.model.SequenceFlow;
-import org.jbpm.api.model.internal.InputSet;
-import org.jbpm.api.model.internal.OutputSet;
import org.jbpm.api.runtime.ExecutionContext;
import org.jbpm.api.runtime.Token;
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/MessageSender.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/MessageSender.java 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/MessageSender.java 2008-10-09 06:02:28 UTC (rev 2513)
@@ -28,8 +28,8 @@
import org.jbpm.api.client.ProcessEngine;
import org.jbpm.api.model.Message;
import org.jbpm.api.model.Node;
+import org.jbpm.api.model.Participant;
import org.jbpm.api.model.builder.MessageBuilder;
-import org.jbpm.api.model.internal.Participant;
import org.jbpm.api.runtime.ExecutionContext;
import org.jbpm.api.runtime.Token;
import org.jbpm.api.service.MessageService;
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/MutableToken.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/MutableToken.java 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/MutableToken.java 2008-10-09 06:02:28 UTC (rev 2513)
@@ -23,9 +23,9 @@
//$Id$
+import org.jbpm.api.model.InputSet;
+import org.jbpm.api.model.OutputSet;
import org.jbpm.api.model.SequenceFlow;
-import org.jbpm.api.model.internal.InputSet;
-import org.jbpm.api.model.internal.OutputSet;
import org.jbpm.api.runtime.Token;
/**
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/TokenImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/TokenImpl.java 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/runtime/TokenImpl.java 2008-10-09 06:02:28 UTC (rev 2513)
@@ -24,9 +24,9 @@
//$Id$
import org.jboss.util.id.UID;
+import org.jbpm.api.model.InputSet;
+import org.jbpm.api.model.OutputSet;
import org.jbpm.api.model.SequenceFlow;
-import org.jbpm.api.model.internal.InputSet;
-import org.jbpm.api.model.internal.OutputSet;
import org.jbpm.api.runtime.Attachments;
import org.jbpm.api.runtime.BasicExecutionContext;
import org.jbpm.api.runtime.ExecutionContext;
Modified: projects/spec/trunk/pom.xml
===================================================================
--- projects/spec/trunk/pom.xml 2008-10-09 05:35:01 UTC (rev 2512)
+++ projects/spec/trunk/pom.xml 2008-10-09 06:02:28 UTC (rev 2513)
@@ -17,7 +17,7 @@
<modelVersion>4.0.0</modelVersion>
- <name>JBoss BPM Spec</name>
+ <name>jBPM Spec</name>
<groupId>org.jbpm.jbpm4</groupId>
<artifactId>jbpm-spec</artifactId>
<packaging>pom</packaging>
17 years, 6 months
JBoss JBPM SVN: r2511 - in projects/spec/trunk: modules/api and 2 other directories.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-10-09 01:32:42 -0400 (Thu, 09 Oct 2008)
New Revision: 2511
Modified:
projects/spec/trunk/modules/api/pom.xml
projects/spec/trunk/modules/cts/pom.xml
projects/spec/trunk/modules/impl/pom.xml
projects/spec/trunk/pom.xml
Log:
Change artifact ids
Modified: projects/spec/trunk/modules/api/pom.xml
===================================================================
--- projects/spec/trunk/modules/api/pom.xml 2008-10-08 15:11:43 UTC (rev 2510)
+++ projects/spec/trunk/modules/api/pom.xml 2008-10-09 05:32:42 UTC (rev 2511)
@@ -12,16 +12,16 @@
<!-- $Id$ -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <name>JBoss jBPM4 - API</name>
+ <name>JBoss BPM Spec - API</name>
<groupId>org.jbpm.jbpm4</groupId>
- <artifactId>jbpm-api</artifactId>
+ <artifactId>jbpm-spec-api</artifactId>
<packaging>jar</packaging>
<!-- Parent -->
<parent>
<groupId>org.jbpm.jbpm4</groupId>
- <artifactId>jbpm</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <artifactId>jbpm-spec</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
@@ -85,4 +85,4 @@
</plugin>
</plugins>
</reporting>
-</project>
\ No newline at end of file
+</project>
Modified: projects/spec/trunk/modules/cts/pom.xml
===================================================================
--- projects/spec/trunk/modules/cts/pom.xml 2008-10-08 15:11:43 UTC (rev 2510)
+++ projects/spec/trunk/modules/cts/pom.xml 2008-10-09 05:32:42 UTC (rev 2511)
@@ -13,16 +13,16 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <name>JBoss jBPM4 - CTS</name>
+ <name>JBoss BPM Spec - CTS</name>
<groupId>org.jbpm.jbpm4</groupId>
- <artifactId>jbpm-cts</artifactId>
+ <artifactId>jbpm-spec-cts</artifactId>
<packaging>jar</packaging>
<!-- Parent -->
<parent>
<groupId>org.jbpm.jbpm4</groupId>
- <artifactId>jbpm</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <artifactId>jbpm-spec</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
@@ -35,7 +35,7 @@
<dependencies>
<dependency>
<groupId>org.jbpm.jbpm4</groupId>
- <artifactId>jbpm-api</artifactId>
+ <artifactId>jbpm-spec-api</artifactId>
<version>${version}</version>
</dependency>
<dependency>
@@ -93,7 +93,7 @@
<dependencies>
<dependency>
<groupId>org.jbpm.jbpm4</groupId>
- <artifactId>jbpm-impl</artifactId>
+ <artifactId>jbpm-spec-ri</artifactId>
<version>${version}</version>
</dependency>
</dependencies>
@@ -124,4 +124,4 @@
</profiles>
-</project>
\ No newline at end of file
+</project>
Modified: projects/spec/trunk/modules/impl/pom.xml
===================================================================
--- projects/spec/trunk/modules/impl/pom.xml 2008-10-08 15:11:43 UTC (rev 2510)
+++ projects/spec/trunk/modules/impl/pom.xml 2008-10-09 05:32:42 UTC (rev 2511)
@@ -14,17 +14,17 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <name>JBoss jBPM4 - Impl</name>
+ <name>JBoss BPM Spec - RI</name>
<groupId>org.jbpm.jbpm4</groupId>
- <artifactId>jbpm-impl</artifactId>
+ <artifactId>jbpm-spec-ri</artifactId>
<packaging>jar</packaging>
<!-- Parent -->
<parent>
<groupId>org.jbpm.jbpm4</groupId>
- <artifactId>jbpm</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <artifactId>jbpm-spec</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
@@ -66,7 +66,7 @@
<dependencies>
<dependency>
<groupId>org.jbpm.jbpm4</groupId>
- <artifactId>jbpm-api</artifactId>
+ <artifactId>jbpm-spec-api</artifactId>
<version>${version}</version>
</dependency>
<dependency>
@@ -91,4 +91,4 @@
<profiles>
</profiles>
-</project>
\ No newline at end of file
+</project>
Modified: projects/spec/trunk/pom.xml
===================================================================
--- projects/spec/trunk/pom.xml 2008-10-08 15:11:43 UTC (rev 2510)
+++ projects/spec/trunk/pom.xml 2008-10-09 05:32:42 UTC (rev 2511)
@@ -17,12 +17,12 @@
<modelVersion>4.0.0</modelVersion>
- <name>JBoss jBPM4</name>
+ <name>JBoss BPM Spec</name>
<groupId>org.jbpm.jbpm4</groupId>
- <artifactId>jbpm</artifactId>
+ <artifactId>jbpm-spec</artifactId>
<packaging>pom</packaging>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0-SNAPSHOT</version>
<!-- Parent -->
<parent>
@@ -112,6 +112,24 @@
</site>
</distributionManagement>
+ <!-- Repositories -->
+ <repositories>
+ <repository>
+ <id>repository.jboss.org</id>
+ <url>http://repository.jboss.org/maven2</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>snapshots.jboss.org</id>
+ <url>http://snapshots.jboss.org/maven2</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+
<!-- Profiles -->
<profiles>
@@ -154,4 +172,4 @@
</profile>
</profiles>
-</project>
\ No newline at end of file
+</project>
17 years, 6 months