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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jul 15 22:21:32 EDT 2009


Author: mark.proctor at jboss.com
Date: 2009-07-15 22:21:30 -0400 (Wed, 15 Jul 2009)
New Revision: 28082

Added:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/AbortWorkItemCommand.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/GetProcessEventListenersCommand.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/GetProcessInstanceCommand.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/GetProcessInstancesCommand.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/SetProcessInstanceStateCommand.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/SignalEventCommand.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/StartProcessCommand.java
Removed:
   labs/jbossrules/trunk/drools-core/src/main/java/org/codehaus/
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/process/
Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/CommandBasedStatefulKnowledgeSession.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/CommandFactoryProviderImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/help/impl/BatchExecutionHelperProviderImpl.java
   labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/JPASignalManager.java
   labs/jbossrules/trunk/drools-persistence-jpa/src/test/java/org/drools/persistence/session/SingleSessionCommandServiceTest.java
Log:
JBRULES-2209 Refactor Commands to mirror drools-api

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/CommandBasedStatefulKnowledgeSession.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/CommandBasedStatefulKnowledgeSession.java	2009-07-16 02:09:04 UTC (rev 28081)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/CommandBasedStatefulKnowledgeSession.java	2009-07-16 02:21:30 UTC (rev 28082)
@@ -19,13 +19,13 @@
 import org.drools.command.RegisterWorkItemHandlerCommand;
 import org.drools.command.RemoveEventListenerCommand;
 import org.drools.command.SetGlobalCommand;
-import org.drools.command.process.AbortWorkItemCommand;
-import org.drools.command.process.GetProcessEventListenersCommand;
-import org.drools.command.process.GetProcessInstanceCommand;
-import org.drools.command.process.GetProcessInstancesCommand;
-import org.drools.command.process.SetProcessInstanceStateCommand;
-import org.drools.command.process.SignalEventCommand;
-import org.drools.command.process.StartProcessCommand;
+import org.drools.command.runtime.process.AbortWorkItemCommand;
+import org.drools.command.runtime.process.GetProcessEventListenersCommand;
+import org.drools.command.runtime.process.GetProcessInstanceCommand;
+import org.drools.command.runtime.process.GetProcessInstancesCommand;
+import org.drools.command.runtime.process.SetProcessInstanceStateCommand;
+import org.drools.command.runtime.process.SignalEventCommand;
+import org.drools.command.runtime.process.StartProcessCommand;
 import org.drools.command.runtime.rule.AgendaGroupSetFocusCommand;
 import org.drools.command.runtime.rule.ClearActivationGroupCommand;
 import org.drools.command.runtime.rule.ClearAgendaCommand;

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/CommandFactoryProviderImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/CommandFactoryProviderImpl.java	2009-07-16 02:09:04 UTC (rev 28081)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/CommandFactoryProviderImpl.java	2009-07-16 02:21:30 UTC (rev 28082)
@@ -9,9 +9,9 @@
 import org.drools.command.GetGlobalCommand;
 import org.drools.command.SetGlobalCommand;
 import org.drools.command.Setter;
-import org.drools.command.process.AbortWorkItemCommand;
-import org.drools.command.process.SignalEventCommand;
-import org.drools.command.process.StartProcessCommand;
+import org.drools.command.runtime.process.AbortWorkItemCommand;
+import org.drools.command.runtime.process.SignalEventCommand;
+import org.drools.command.runtime.process.StartProcessCommand;
 import org.drools.command.runtime.rule.FireAllRulesCommand;
 import org.drools.command.runtime.rule.GetObjectCommand;
 import org.drools.command.runtime.rule.GetObjectsCommand;

Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process (from rev 28079, labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/process)

Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/AbortWorkItemCommand.java (from rev 28080, labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/process/AbortWorkItemCommand.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/AbortWorkItemCommand.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/AbortWorkItemCommand.java	2009-07-16 02:21:30 UTC (rev 28082)
@@ -0,0 +1,41 @@
+package org.drools.command.runtime.process;
+
+import org.drools.command.Context;
+import org.drools.command.impl.GenericCommand;
+import org.drools.command.impl.KnowledgeCommandContext;
+import org.drools.reteoo.ReteooWorkingMemory;
+import org.drools.runtime.StatefulKnowledgeSession;
+
+public class AbortWorkItemCommand
+    implements
+    GenericCommand<Object> {
+
+    private long workItemId;
+    
+    public AbortWorkItemCommand() {
+        
+    }
+
+    public AbortWorkItemCommand(long workItemId) {
+        this.workItemId = workItemId;
+    }
+
+    public long getWorkItemId() {
+        return workItemId;
+    }
+
+    public void setWorkItemId(long workItemId) {
+        this.workItemId = workItemId;
+    }
+
+    public Void execute(Context context) {
+        StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession();
+        ksession.getWorkItemManager().abortWorkItem( workItemId );
+        return null;
+    }
+
+    public String toString() {
+        return "session.getWorkItemManager().abortWorkItem(" + workItemId + ");";
+    }
+
+}

Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/GetProcessEventListenersCommand.java (from rev 28080, labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/process/GetProcessEventListenersCommand.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/GetProcessEventListenersCommand.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/GetProcessEventListenersCommand.java	2009-07-16 02:21:30 UTC (rev 28082)
@@ -0,0 +1,26 @@
+package org.drools.command.runtime.process;
+
+import java.util.Collection;
+
+import org.drools.command.Context;
+import org.drools.command.impl.GenericCommand;
+import org.drools.command.impl.KnowledgeCommandContext;
+import org.drools.event.RuleFlowEventListener;
+import org.drools.event.process.ProcessEventListener;
+import org.drools.reteoo.ReteooWorkingMemory;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.process.ProcessInstance;
+
+public class GetProcessEventListenersCommand
+    implements
+    GenericCommand<Collection<ProcessEventListener> > {
+
+    public Collection<ProcessEventListener> execute(Context context) {
+        StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession();
+        return ksession.getProcessEventListeners();
+    }
+
+    public String toString() {
+        return "session.getProcessEventListeners();";
+    }
+}

Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/GetProcessInstanceCommand.java (from rev 28080, labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/process/GetProcessInstanceCommand.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/GetProcessInstanceCommand.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/GetProcessInstanceCommand.java	2009-07-16 02:21:30 UTC (rev 28082)
@@ -0,0 +1,36 @@
+package org.drools.command.runtime.process;
+
+import java.util.Collection;
+
+import org.drools.command.Context;
+import org.drools.command.impl.GenericCommand;
+import org.drools.command.impl.KnowledgeCommandContext;
+import org.drools.reteoo.ReteooWorkingMemory;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.process.ProcessInstance;
+
+public class GetProcessInstanceCommand implements GenericCommand<ProcessInstance> {
+	
+	private Long processInstanceId;
+	
+	public Long getProcessInstanceId() {
+		return processInstanceId;
+	}
+	
+	public void setProcessInstanceId(Long processInstanceId) {
+		this.processInstanceId = processInstanceId;
+	}
+	
+    public ProcessInstance execute(Context context) {
+        StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession();
+		if (processInstanceId == null) {
+			return null;
+		}
+		return ksession.getProcessInstance(processInstanceId);
+	}
+
+	public String toString() {
+		return "session.getProcessInstance(" + processInstanceId + ");";
+	}
+
+}

Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/GetProcessInstancesCommand.java (from rev 28080, labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/process/GetProcessInstancesCommand.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/GetProcessInstancesCommand.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/GetProcessInstancesCommand.java	2009-07-16 02:21:30 UTC (rev 28082)
@@ -0,0 +1,33 @@
+package org.drools.command.runtime.process;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.drools.command.Context;
+import org.drools.command.impl.GenericCommand;
+import org.drools.command.impl.KnowledgeCommandContext;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.process.ProcessInstance;
+
+public class GetProcessInstancesCommand
+    implements
+    GenericCommand<Collection<ProcessInstance>> {
+
+    public Collection<ProcessInstance> execute(Context context) {
+        StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession();
+        
+        Collection<ProcessInstance> instances = ksession.getProcessInstances();
+        Collection<ProcessInstance> result = new ArrayList<ProcessInstance>();
+
+        for ( ProcessInstance instance : instances ) {
+            result.add( instance );
+        }
+
+        return result;
+    }
+
+    public String toString() {
+        return "session.getProcessInstances();";
+    }
+
+}

Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/SetProcessInstanceStateCommand.java (from rev 28080, labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/process/SetProcessInstanceStateCommand.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/SetProcessInstanceStateCommand.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/SetProcessInstanceStateCommand.java	2009-07-16 02:21:30 UTC (rev 28082)
@@ -0,0 +1,47 @@
+package org.drools.command.runtime.process;
+
+import java.util.Collection;
+
+import org.drools.command.Context;
+import org.drools.command.impl.GenericCommand;
+import org.drools.command.impl.KnowledgeCommandContext;
+import org.drools.process.instance.ProcessInstance;
+import org.drools.reteoo.ReteooWorkingMemory;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.rule.FactHandle;
+
+public class SetProcessInstanceStateCommand implements GenericCommand<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(Context context) {
+        StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession();
+		if (processInstanceId == null) {
+			return null;
+		}
+		((ProcessInstance) ksession.getProcessInstance(processInstanceId)).setState(state);
+		return null;
+	}
+
+	public String toString() {
+		return "session.getProcessInstance(" + processInstanceId + ");";
+	}
+
+}

Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/SignalEventCommand.java (from rev 28080, labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/process/SignalEventCommand.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/SignalEventCommand.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/SignalEventCommand.java	2009-07-16 02:21:30 UTC (rev 28082)
@@ -0,0 +1,78 @@
+package org.drools.command.runtime.process;
+
+import org.drools.command.Context;
+import org.drools.command.impl.GenericCommand;
+import org.drools.command.impl.KnowledgeCommandContext;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.process.ProcessInstance;
+
+public class SignalEventCommand implements GenericCommand<Object> {
+	
+	private long processInstanceId = -1;
+	private String eventType;
+	private Object event;	
+	
+    public SignalEventCommand() {
+    }   	
+	
+	public SignalEventCommand(String eventType,
+                              Object event) {
+        this.eventType = eventType;
+        this.event = event;
+    }	
+	
+    public SignalEventCommand(long processInstanceId,
+                              String eventType,
+                              Object event) {
+        this.processInstanceId = processInstanceId;
+        this.eventType = eventType;
+        this.event = event;
+    }
+
+    public long getProcessInstanceId() {
+		return processInstanceId;
+	}
+
+	public void setProcessInstanceId(long processInstanceId) {
+		this.processInstanceId = processInstanceId;
+	}
+
+	public String getEventType() {
+		return eventType;
+	}
+
+	public void setEventType(String eventType) {
+		this.eventType = eventType;
+	}
+
+	public Object getEvent() {
+		return event;
+	}
+
+	public void setEvent(Object event) {
+		this.event = event;
+	}
+
+    public Object execute(Context context) {
+        StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession();
+        
+		if (processInstanceId == -1) {
+		    ksession.signalEvent(eventType, event);
+		} else {
+			ProcessInstance processInstance = ksession.getProcessInstance(processInstanceId);
+			if (processInstance != null) {
+				processInstance.signalEvent(eventType, event);
+			}
+		}
+		return null;
+	}
+
+	public String toString() {
+		if (processInstanceId == -1) {
+			return "session.getSignalManager().signalEvent(" + eventType + ", " + event + ");";
+		} else {
+			return "processInstance.signalEvent(" + eventType + ", " + event + ");";
+		}
+	}
+
+}

Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/StartProcessCommand.java (from rev 28080, labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/process/StartProcessCommand.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/StartProcessCommand.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/runtime/process/StartProcessCommand.java	2009-07-16 02:21:30 UTC (rev 28082)
@@ -0,0 +1,71 @@
+package org.drools.command.runtime.process;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.command.Context;
+import org.drools.command.impl.GenericCommand;
+import org.drools.command.impl.KnowledgeCommandContext;
+import org.drools.process.instance.ProcessInstance;
+import org.drools.reteoo.ReteooWorkingMemory;
+import org.drools.runtime.StatefulKnowledgeSession;
+
+public class StartProcessCommand implements GenericCommand<ProcessInstance> {
+	
+	private String processId;
+	private Map<String, Object> parameters = new HashMap<String, Object>();
+	private List<Object> data = null;
+	
+	public String getProcessId() {
+		return processId;
+	}
+	
+	public void setProcessId(String processId) {
+		this.processId = processId;
+	}
+	
+	public Map<String, Object> getParameters() {
+		return parameters;
+	}
+	
+	public void setParameters(Map<String, Object> parameters) {
+		this.parameters = parameters;
+	}
+	
+	public List<Object> getData() {
+		return data;
+	}
+	
+	public void setData(List<Object> data) {
+		this.data = data;
+	}
+
+    public ProcessInstance execute(Context context) {
+        StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession();
+        
+		if (data != null) {
+			for (Object o: data) {
+				ksession.insert(o);
+			}
+		}
+		ProcessInstance processInstance = (ProcessInstance) ksession.startProcess(processId, parameters);
+		return processInstance;
+	}
+
+	public String toString() {
+		String result = "session.startProcess(" + processId + ", [";
+		if (parameters != null) {
+			int i = 0;
+			for (Map.Entry<String, Object> entry: parameters.entrySet()) {
+				if (i++ > 0) {
+					result += ", ";
+				}
+				result += entry.getKey() + "=" + entry.getValue();
+			}
+		}
+		result += "]);";
+		return result;
+	}
+
+}

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/help/impl/BatchExecutionHelperProviderImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/help/impl/BatchExecutionHelperProviderImpl.java	2009-07-16 02:09:04 UTC (rev 28081)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/help/impl/BatchExecutionHelperProviderImpl.java	2009-07-16 02:21:30 UTC (rev 28082)
@@ -16,9 +16,9 @@
 import org.drools.command.GetGlobalCommand;
 import org.drools.command.SetGlobalCommand;
 import org.drools.command.Setter;
-import org.drools.command.process.AbortWorkItemCommand;
-import org.drools.command.process.SignalEventCommand;
-import org.drools.command.process.StartProcessCommand;
+import org.drools.command.runtime.process.AbortWorkItemCommand;
+import org.drools.command.runtime.process.SignalEventCommand;
+import org.drools.command.runtime.process.StartProcessCommand;
 import org.drools.command.runtime.rule.FireAllRulesCommand;
 import org.drools.command.runtime.rule.GetObjectCommand;
 import org.drools.command.runtime.rule.GetObjectsCommand;

Modified: labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/JPASignalManager.java
===================================================================
--- labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/JPASignalManager.java	2009-07-16 02:09:04 UTC (rev 28081)
+++ labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/JPASignalManager.java	2009-07-16 02:21:30 UTC (rev 28082)
@@ -7,7 +7,7 @@
 
 import org.drools.WorkingMemory;
 import org.drools.command.CommandService;
-import org.drools.command.SignalEventCommand;
+import org.drools.command.runtime.process.SignalEventCommand;
 import org.drools.process.instance.event.DefaultSignalManager;
 import org.drools.runtime.EnvironmentName;
 import org.drools.runtime.process.ProcessInstance;

Modified: labs/jbossrules/trunk/drools-persistence-jpa/src/test/java/org/drools/persistence/session/SingleSessionCommandServiceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-persistence-jpa/src/test/java/org/drools/persistence/session/SingleSessionCommandServiceTest.java	2009-07-16 02:09:04 UTC (rev 28081)
+++ labs/jbossrules/trunk/drools-persistence-jpa/src/test/java/org/drools/persistence/session/SingleSessionCommandServiceTest.java	2009-07-16 02:21:30 UTC (rev 28082)
@@ -18,8 +18,8 @@
 import org.drools.RuleBaseFactory;
 import org.drools.SessionConfiguration;
 import org.drools.command.CompleteWorkItemCommand;
-import org.drools.command.GetProcessInstanceCommand;
-import org.drools.command.StartProcessCommand;
+import org.drools.command.runtime.process.GetProcessInstanceCommand;
+import org.drools.command.runtime.process.StartProcessCommand;
 import org.drools.compiler.PackageBuilder;
 import org.drools.compiler.ProcessBuilder;
 import org.drools.definition.KnowledgePackage;



More information about the jboss-svn-commits mailing list