[jboss-svn-commits] JBL Code SVN: r26468 - in labs/jbossrules/trunk: drools-core/src/main/java/org/drools/impl and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue May 12 07:54:20 EDT 2009


Author: KrisVerlaenen
Date: 2009-05-12 07:54:20 -0400 (Tue, 12 May 2009)
New Revision: 26468

Added:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/SetProcessInstanceStateCommand.java
Modified:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/process/ProcessRuntime.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/impl/CommandBasedStatefulKnowledgeSession.java
Log:
 - added abortProcessInstance method

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/process/ProcessRuntime.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/process/ProcessRuntime.java	2009-05-12 11:53:27 UTC (rev 26467)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/process/ProcessRuntime.java	2009-05-12 11:54:20 UTC (rev 26468)
@@ -16,6 +16,8 @@
     Collection<ProcessInstance> getProcessInstances();
 
     ProcessInstance getProcessInstance(long id);
+    
+    void abortProcessInstance(long id);
 
     WorkItemManager getWorkItemManager();
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java	2009-05-12 11:53:27 UTC (rev 26467)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java	2009-05-12 11:54:20 UTC (rev 26468)
@@ -243,6 +243,10 @@
     public ProcessInstance getProcessInstance(long id) {
         return this.session.getProcessInstance( id );
     }
+    
+    public void abortProcessInstance(long id) {
+    	this.session.getProcessInstance( id ).setState( ProcessInstance.STATE_ABORTED );
+    }
 
     public Collection<ProcessInstance> getProcessInstances() {
         List<ProcessInstance> result = new ArrayList<ProcessInstance>();

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/SetProcessInstanceStateCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/SetProcessInstanceStateCommand.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/SetProcessInstanceStateCommand.java	2009-05-12 11:54:20 UTC (rev 26468)
@@ -0,0 +1,39 @@
+package org.drools.process.command;
+
+import org.drools.process.instance.ProcessInstance;
+import org.drools.reteoo.ReteooWorkingMemory;
+
+public class SetProcessInstanceStateCommand implements Command<Object> {
+	
+	private Long processInstanceId;
+	private int state;
+	
+	public Long getProcessInstanceId() {
+		return processInstanceId;
+	}
+	
+	public void setProcessInstanceId(Long processInstanceId) {
+		this.processInstanceId = processInstanceId;
+	}
+	
+	public int getState() {
+		return state;
+	}
+
+	public void setState(int state) {
+		this.state = state;
+	}
+
+	public Object execute(ReteooWorkingMemory session) {
+		if (processInstanceId == null) {
+			return null;
+		}
+		((ProcessInstance) session.getProcessInstance(processInstanceId)).setState(state);
+		return null;
+	}
+
+	public String toString() {
+		return "session.getProcessInstance(" + processInstanceId + ");";
+	}
+
+}

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/impl/CommandBasedStatefulKnowledgeSession.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/impl/CommandBasedStatefulKnowledgeSession.java	2009-05-12 11:53:27 UTC (rev 26467)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/impl/CommandBasedStatefulKnowledgeSession.java	2009-05-12 11:54:20 UTC (rev 26468)
@@ -49,6 +49,7 @@
 import org.drools.process.command.RemoveEventListenerCommand;
 import org.drools.process.command.RetractCommand;
 import org.drools.process.command.SetGlobalCommand;
+import org.drools.process.command.SetProcessInstanceStateCommand;
 import org.drools.process.command.SignalEventCommand;
 import org.drools.process.command.StartProcessCommand;
 import org.drools.process.command.UnregisterExitPointCommand;
@@ -98,6 +99,13 @@
         command.setProcessInstanceId( id );
         return commandService.execute( command );
     }
+    
+    public void abortProcessInstance(long id) {
+    	SetProcessInstanceStateCommand command = new SetProcessInstanceStateCommand();
+    	command.setProcessInstanceId( id );
+    	command.setState( ProcessInstance.STATE_ABORTED );
+        commandService.execute( command );
+    }
 
     public CommandService getCommandService() {
         return commandService;




More information about the jboss-svn-commits mailing list