[jbpm-commits] JBoss JBPM SVN: r3128 - in projects/spec/trunk/modules: ri/src/main/java/org/jboss/bpm/ri/model and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu Nov 27 09:56:40 EST 2008
Author: thomas.diesler at jboss.com
Date: 2008-11-27 09:56:40 -0500 (Thu, 27 Nov 2008)
New Revision: 3128
Modified:
projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Process.java
projects/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/ProcessImpl.java
Log:
Add suspended to process lifecycle
Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Process.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Process.java 2008-11-27 14:56:11 UTC (rev 3127)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/model/Process.java 2008-11-27 14:56:40 UTC (rev 3128)
@@ -43,7 +43,7 @@
*/
public enum ProcessStatus
{
- None, Ready, Active, Cancelled, Aborting, Aborted, Completing, Completed
+ None, Ready, Active, Suspended, Cancelled, Aborted, Completed
}
/**
@@ -91,4 +91,19 @@
* @return null if not ended
*/
Date getEndDate();
+
+ /**
+ * Suspend the process
+ */
+ void suspend();
+
+ /**
+ * Resume the process
+ */
+ void resume();
+
+ /**
+ * Cancel the process
+ */
+ void cancel();
}
\ No newline at end of file
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/ProcessImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/ProcessImpl.java 2008-11-27 14:56:11 UTC (rev 3127)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/ProcessImpl.java 2008-11-27 14:56:40 UTC (rev 3128)
@@ -145,6 +145,34 @@
this.status = status;
}
+ @Override
+ public void suspend()
+ {
+ if (status != ProcessStatus.Active)
+ throw new IllegalStateException("Cannot suspend a process in state: " + status);
+
+ status = ProcessStatus.Suspended;
+ }
+
+ @Override
+ public void resume()
+ {
+ if (status != ProcessStatus.Suspended)
+ throw new IllegalStateException("Cannot resume a process in state: " + status);
+
+ status = ProcessStatus.Active;
+ }
+
+ @Override
+ public void cancel()
+ {
+ if (status != ProcessStatus.Active && status != ProcessStatus.Suspended)
+ throw new IllegalStateException("Cannot cancel a process in state: " + status);
+
+ status = ProcessStatus.Cancelled;
+ endDate = new Date();
+ }
+
public Date getStartDate()
{
return startDate;
More information about the jbpm-commits
mailing list