[jboss-svn-commits] JBL Code SVN: r25384 - in labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command: impl and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Feb 23 09:53:31 EST 2009
Author: Rikkola
Date: 2009-02-23 09:53:30 -0500 (Mon, 23 Feb 2009)
New Revision: 25384
Added:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/AddEventListenerCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/FireUntilHaltCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetAgendaCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetEnvironmentCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetFactHandleCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetGlobalCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetGlobalsCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetKnowledgeBaseCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetObjectCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetProcessInstancesCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetSessionClockCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetWorkingMemoryEntryPointCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/HaltCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/RemoveEventListenerCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/RetractCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/UpdateCommand.java
Modified:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/AbortWorkItemCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/FireAllRulesCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetObjectsCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetProcessInstanceCommand.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/impl/CommandBasedStatefulKnowledgeSession.java
Log:
JBRULES-1915: Improve process persistence usability
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/AbortWorkItemCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/AbortWorkItemCommand.java 2009-02-23 09:23:09 UTC (rev 25383)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/AbortWorkItemCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -2,25 +2,27 @@
import org.drools.StatefulSession;
-public class AbortWorkItemCommand implements Command<Object> {
-
- private long workItemId;
-
- public long getWorkItemId() {
- return workItemId;
- }
+public class AbortWorkItemCommand
+ implements
+ Command<Object> {
- public void setWorkItemId(long workItemId) {
- this.workItemId = workItemId;
- }
+ private long workItemId;
- public Object execute(StatefulSession session) {
- session.getWorkItemManager().abortWorkItem(workItemId);
- return null;
- }
-
- public String toString() {
- return "session.getWorkItemManager().abortWorkItem(" + workItemId + ");";
- }
+ public long getWorkItemId() {
+ return workItemId;
+ }
+ public void setWorkItemId(long workItemId) {
+ this.workItemId = workItemId;
+ }
+
+ public Object execute(StatefulSession session) {
+ session.getWorkItemManager().abortWorkItem( workItemId );
+ return null;
+ }
+
+ public String toString() {
+ return "session.getWorkItemManager().abortWorkItem(" + workItemId + ");";
+ }
+
}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/AddEventListenerCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/AddEventListenerCommand.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/AddEventListenerCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -0,0 +1,49 @@
+package org.drools.process.command;
+
+import org.drools.StatefulSession;
+import org.drools.event.process.ProcessEventListener;
+import org.drools.event.rule.AgendaEventListener;
+import org.drools.event.rule.WorkingMemoryEventListener;
+import org.drools.impl.StatefulKnowledgeSessionImpl;
+
+public class AddEventListenerCommand
+ implements
+ Command<Object> {
+
+ private WorkingMemoryEventListener workingMemoryEventlistener = null;
+ private AgendaEventListener agendaEventlistener = null;
+ private ProcessEventListener processEventlistener = null;
+
+ public AddEventListenerCommand(WorkingMemoryEventListener listener) {
+ this.workingMemoryEventlistener = listener;
+ }
+
+ public AddEventListenerCommand(AgendaEventListener listener) {
+ this.agendaEventlistener = listener;
+ }
+
+ public AddEventListenerCommand(ProcessEventListener listener) {
+ this.processEventlistener = listener;
+ }
+
+ public Object execute(StatefulSession session) {
+ if ( workingMemoryEventlistener != null ) {
+ session.addEventListener( new StatefulKnowledgeSessionImpl.WorkingMemoryEventListenerWrapper( workingMemoryEventlistener ) );
+ } else if ( agendaEventlistener != null ) {
+ session.addEventListener( new StatefulKnowledgeSessionImpl.AgendaEventListenerWrapper( agendaEventlistener ) );
+ } else {
+ session.addEventListener( new StatefulKnowledgeSessionImpl.ProcessEventListenerWrapper( processEventlistener ) );
+ }
+ return null;
+ }
+
+ public String toString() {
+ if ( workingMemoryEventlistener != null ) {
+ return "session.addEventListener( " + workingMemoryEventlistener + " );";
+ } else if ( agendaEventlistener != null ) {
+ return "session.addEventListener( " + agendaEventlistener + " );";
+ } else {
+ return "session.addEventListener( " + processEventlistener + " );";
+ }
+ }
+}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/FireAllRulesCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/FireAllRulesCommand.java 2009-02-23 09:23:09 UTC (rev 25383)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/FireAllRulesCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -1,20 +1,45 @@
package org.drools.process.command;
import org.drools.StatefulSession;
+import org.drools.impl.StatefulKnowledgeSessionImpl;
+import org.drools.runtime.rule.AgendaFilter;
public class FireAllRulesCommand
implements
Command<Integer> {
+ private int max = -1;
+ private AgendaFilter agendaFilter = null;
+
public FireAllRulesCommand() {
}
+ public FireAllRulesCommand(int max) {
+ this.max = max;
+ }
+
+ public FireAllRulesCommand(AgendaFilter agendaFilter) {
+ this.agendaFilter = agendaFilter;
+ }
+
public Integer execute(StatefulSession session) {
- return session.fireAllRules();
+ if ( max > 0 ) {
+ return session.fireAllRules( max );
+ } else if ( agendaFilter != null ) {
+ return session.fireAllRules( new StatefulKnowledgeSessionImpl.AgendaFilterWrapper( agendaFilter ) );
+ } else {
+ return session.fireAllRules();
+ }
}
public String toString() {
- return "session.fireAllRules();";
+ if ( max > 0 ) {
+ return "session.fireAllRules( " + max + " );";
+ } else if ( agendaFilter != null ) {
+ return "session.fireAllRules( " + agendaFilter + " );";
+ } else {
+ return "session.fireAllRules();";
+ }
}
}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/FireUntilHaltCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/FireUntilHaltCommand.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/FireUntilHaltCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -0,0 +1,37 @@
+package org.drools.process.command;
+
+import org.drools.StatefulSession;
+import org.drools.impl.StatefulKnowledgeSessionImpl;
+import org.drools.runtime.rule.AgendaFilter;
+
+public class FireUntilHaltCommand
+ implements
+ Command<Object> {
+
+ private AgendaFilter agendaFilter = null;
+
+ public FireUntilHaltCommand() {
+ }
+
+ public FireUntilHaltCommand(AgendaFilter agendaFilter) {
+ this.agendaFilter = agendaFilter;
+ }
+
+ public Object execute(StatefulSession session) {
+ if ( agendaFilter != null ) {
+ session.fireUntilHalt( new StatefulKnowledgeSessionImpl.AgendaFilterWrapper( agendaFilter ) );
+ } else {
+ session.fireUntilHalt();
+ }
+
+ return null;
+ }
+
+ public String toString() {
+ if ( agendaFilter != null ) {
+ return "session.fireUntilHalt( " + agendaFilter + " );";
+ } else {
+ return "session.fireUntilHalt();";
+ }
+ }
+}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetAgendaCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetAgendaCommand.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetAgendaCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -0,0 +1,17 @@
+package org.drools.process.command;
+
+import org.drools.StatefulSession;
+import org.drools.runtime.rule.Agenda;
+
+public class GetAgendaCommand
+ implements
+ Command<Agenda> {
+
+ public Agenda execute(StatefulSession session) {
+ return session.getAgenda();
+ }
+
+ public String toString() {
+ return "session.getAgenda();";
+ }
+}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetEnvironmentCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetEnvironmentCommand.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetEnvironmentCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -0,0 +1,18 @@
+package org.drools.process.command;
+
+import org.drools.StatefulSession;
+import org.drools.runtime.Environment;
+
+public class GetEnvironmentCommand
+ implements
+ Command<Environment> {
+
+ public Environment execute(StatefulSession session) {
+ return session.getEnvironment();
+ }
+
+ public String toString() {
+ return "session.getEnvironment();";
+ }
+
+}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetFactHandleCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetFactHandleCommand.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetFactHandleCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -0,0 +1,24 @@
+package org.drools.process.command;
+
+import org.drools.StatefulSession;
+import org.drools.runtime.rule.FactHandle;
+
+public class GetFactHandleCommand
+ implements
+ Command<FactHandle> {
+
+ private Object object;
+
+ public GetFactHandleCommand(Object object) {
+ this.object = object;
+ }
+
+ public FactHandle execute(StatefulSession session) {
+ session.getFactHandle( object );
+ return null;
+ }
+
+ public String toString() {
+ return "session.getFactHandle( " + object + " );";
+ }
+}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetGlobalCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetGlobalCommand.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetGlobalCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -0,0 +1,22 @@
+package org.drools.process.command;
+
+import org.drools.StatefulSession;
+
+public class GetGlobalCommand
+ implements
+ Command<Object> {
+
+ private String identifier;
+
+ public GetGlobalCommand(String identifier) {
+ this.identifier = identifier;
+ }
+
+ public Object execute(StatefulSession session) {
+ return session.getGlobal( identifier );
+ }
+
+ public String toString() {
+ return "session.getGlobal( " + identifier + " );";
+ }
+}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetGlobalsCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetGlobalsCommand.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetGlobalsCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -0,0 +1,17 @@
+package org.drools.process.command;
+
+import org.drools.StatefulSession;
+import org.drools.runtime.Globals;
+
+public class GetGlobalsCommand
+ implements
+ Command<Globals> {
+
+ public Globals execute(StatefulSession session) {
+ return (Globals) session.getGlobalResolver();
+ }
+
+ public String toString() {
+ return "session.getGlobalResolver()";
+ }
+}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetKnowledgeBaseCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetKnowledgeBaseCommand.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetKnowledgeBaseCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -0,0 +1,25 @@
+package org.drools.process.command;
+
+import org.drools.KnowledgeBase;
+import org.drools.RuleBase;
+import org.drools.StatefulSession;
+import org.drools.impl.KnowledgeBaseImpl;
+
+public class GetKnowledgeBaseCommand
+ implements
+ Command<KnowledgeBase> {
+
+ public GetKnowledgeBaseCommand() {
+ }
+
+ public KnowledgeBase execute(StatefulSession session) {
+ RuleBase ruleBase = session.getRuleBase();
+
+ return new KnowledgeBaseImpl( ruleBase );
+ }
+
+ public String toString() {
+ return "session.getRuleBase();";
+ }
+
+}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetObjectCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetObjectCommand.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetObjectCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -0,0 +1,24 @@
+package org.drools.process.command;
+
+import org.drools.StatefulSession;
+import org.drools.runtime.rule.FactHandle;
+
+public class GetObjectCommand
+ implements
+ Command<Object> {
+
+ private FactHandle factHandle;
+
+ public GetObjectCommand(FactHandle factHandle) {
+ this.factHandle = factHandle;
+ }
+
+ public Object execute(StatefulSession session) {
+ return session.getObject( factHandle );
+ }
+
+ public String toString() {
+ return "session.getObject( " + factHandle + " );";
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetObjectsCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetObjectsCommand.java 2009-02-23 09:23:09 UTC (rev 25383)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetObjectsCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -3,18 +3,35 @@
import java.util.Iterator;
import org.drools.StatefulSession;
+import org.drools.runtime.ObjectFilter;
-public class GetObjectsCommand implements Command<Iterator<?>> {
+public class GetObjectsCommand
+ implements
+ Command<Iterator< ? >> {
- public GetObjectsCommand() {
- }
-
- public Iterator<?> execute(StatefulSession session) {
- return session.iterateObjects();
- }
-
- public String toString() {
- return "session.iterateObjects();";
- }
+ private ObjectFilter filter = null;
+ public GetObjectsCommand() {
+ }
+
+ public GetObjectsCommand(ObjectFilter filter) {
+ this.filter = filter;
+ }
+
+ public Iterator< ? > execute(StatefulSession session) {
+ if ( filter != null ) {
+ return session.iterateObjects( filter );
+ } else {
+ return session.iterateObjects();
+ }
+ }
+
+ public String toString() {
+ if ( filter != null ) {
+ return "session.iterateObjects( " + filter + " );";
+ } else {
+ return "session.iterateObjects();";
+ }
+ }
+
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetProcessInstanceCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetProcessInstanceCommand.java 2009-02-23 09:23:09 UTC (rev 25383)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetProcessInstanceCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -1,7 +1,5 @@
package org.drools.process.command;
-import java.util.Map;
-
import org.drools.StatefulSession;
import org.drools.process.instance.ProcessInstance;
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetProcessInstancesCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetProcessInstancesCommand.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetProcessInstancesCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -0,0 +1,28 @@
+package org.drools.process.command;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.drools.StatefulSession;
+import org.drools.runtime.process.ProcessInstance;
+
+public class GetProcessInstancesCommand
+ implements
+ Command<Collection<ProcessInstance>> {
+
+ public Collection<ProcessInstance> execute(StatefulSession session) {
+ Collection<org.drools.process.instance.ProcessInstance> instances = session.getProcessInstances();
+ Collection<ProcessInstance> result = new ArrayList<ProcessInstance>();
+
+ for ( ProcessInstance instance : instances ) {
+ result.add( instance );
+ }
+
+ return result;
+ }
+
+ public String toString() {
+ return "session.getProcessInstances();";
+ }
+
+}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetSessionClockCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetSessionClockCommand.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetSessionClockCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -0,0 +1,17 @@
+package org.drools.process.command;
+
+import org.drools.StatefulSession;
+import org.drools.time.SessionClock;
+
+public class GetSessionClockCommand
+ implements
+ Command<SessionClock> {
+
+ public SessionClock execute(StatefulSession session) {
+ return session.getSessionClock();
+ }
+
+ public String toString() {
+ return "session.getSessionClock();";
+ }
+}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetWorkingMemoryEntryPointCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetWorkingMemoryEntryPointCommand.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/GetWorkingMemoryEntryPointCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -0,0 +1,23 @@
+package org.drools.process.command;
+
+import org.drools.StatefulSession;
+import org.drools.runtime.rule.WorkingMemoryEntryPoint;
+
+public class GetWorkingMemoryEntryPointCommand
+ implements
+ Command<WorkingMemoryEntryPoint> {
+
+ private String name;
+
+ public GetWorkingMemoryEntryPointCommand(String name) {
+ this.name = name;
+ }
+
+ public WorkingMemoryEntryPoint execute(StatefulSession session) {
+ return session.getWorkingMemoryEntryPoint( name );
+ }
+
+ public String toString() {
+ return "session.getWorkingMemoryEntryPoint( " + name + " );";
+ }
+}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/HaltCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/HaltCommand.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/HaltCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -0,0 +1,17 @@
+package org.drools.process.command;
+
+import org.drools.StatefulSession;
+
+public class HaltCommand
+ implements
+ Command<Object> {
+
+ public Object execute(StatefulSession session) {
+ session.halt();
+ return null;
+ }
+
+ public String toString() {
+ return "session.halt();";
+ }
+}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/RemoveEventListenerCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/RemoveEventListenerCommand.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/RemoveEventListenerCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -0,0 +1,49 @@
+package org.drools.process.command;
+
+import org.drools.StatefulSession;
+import org.drools.event.process.ProcessEventListener;
+import org.drools.event.rule.AgendaEventListener;
+import org.drools.event.rule.WorkingMemoryEventListener;
+import org.drools.impl.StatefulKnowledgeSessionImpl;
+
+public class RemoveEventListenerCommand
+ implements
+ Command<Object> {
+
+ private WorkingMemoryEventListener workingMemoryEventListener = null;
+ private AgendaEventListener agendaEventListener = null;
+ private ProcessEventListener processEventListener = null;
+
+ public RemoveEventListenerCommand(WorkingMemoryEventListener listener) {
+ this.workingMemoryEventListener = listener;
+ }
+
+ public RemoveEventListenerCommand(AgendaEventListener listener) {
+ this.agendaEventListener = listener;
+ }
+
+ public RemoveEventListenerCommand(ProcessEventListener listener) {
+ this.processEventListener = listener;
+ }
+
+ public Object execute(StatefulSession session) {
+ if ( workingMemoryEventListener != null ) {
+ session.removeEventListener( new StatefulKnowledgeSessionImpl.WorkingMemoryEventListenerWrapper( workingMemoryEventListener ) );
+ } else if ( agendaEventListener != null ) {
+ session.removeEventListener( new StatefulKnowledgeSessionImpl.AgendaEventListenerWrapper( agendaEventListener ) );
+ } else {
+ session.removeEventListener( new StatefulKnowledgeSessionImpl.ProcessEventListenerWrapper( processEventListener ) );
+ }
+ return null;
+ }
+
+ public String toString() {
+ if ( workingMemoryEventListener != null ) {
+ return "session.removeEventListener( " + workingMemoryEventListener + " );";
+ } else if ( agendaEventListener != null ) {
+ return "session.removeEventListener( " + agendaEventListener + " );";
+ } else {
+ return "session.removeEventListener( " + processEventListener + " );";
+ }
+ }
+}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/RetractCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/RetractCommand.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/RetractCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -0,0 +1,24 @@
+package org.drools.process.command;
+
+import org.drools.StatefulSession;
+import org.drools.runtime.rule.FactHandle;
+
+public class RetractCommand
+ implements
+ Command<Object> {
+
+ private FactHandle handle;
+
+ public RetractCommand(FactHandle handle) {
+ this.handle = handle;
+ }
+
+ public Object execute(StatefulSession session) {
+ session.retract( handle );
+ return null;
+ }
+
+ public String toString() {
+ return "session.retract( " + handle + " );";
+ }
+}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/UpdateCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/UpdateCommand.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/UpdateCommand.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -0,0 +1,28 @@
+package org.drools.process.command;
+
+import org.drools.StatefulSession;
+import org.drools.runtime.rule.FactHandle;
+
+public class UpdateCommand
+ implements
+ Command<Object> {
+
+ private FactHandle handle;
+ private Object object;
+
+ public UpdateCommand(FactHandle handle,
+ Object object) {
+ this.handle = handle;
+ this.object = object;
+ }
+
+ public Object execute(StatefulSession session) {
+ session.update( handle,
+ object );
+ return null;
+ }
+
+ public String toString() {
+ return "session.update( " + handle + ", " + object + " );";
+ }
+}
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-02-23 09:23:09 UTC (rev 25383)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/impl/CommandBasedStatefulKnowledgeSession.java 2009-02-23 14:53:30 UTC (rev 25384)
@@ -10,16 +10,32 @@
import org.drools.event.rule.AgendaEventListener;
import org.drools.event.rule.WorkingMemoryEventListener;
import org.drools.process.command.AbortWorkItemCommand;
+import org.drools.process.command.AddEventListenerCommand;
import org.drools.process.command.CommandService;
import org.drools.process.command.CompleteWorkItemCommand;
import org.drools.process.command.FireAllRulesCommand;
+import org.drools.process.command.FireUntilHaltCommand;
+import org.drools.process.command.GetAgendaCommand;
+import org.drools.process.command.GetEnvironmentCommand;
+import org.drools.process.command.GetFactHandleCommand;
+import org.drools.process.command.GetGlobalCommand;
+import org.drools.process.command.GetGlobalsCommand;
+import org.drools.process.command.GetKnowledgeBaseCommand;
+import org.drools.process.command.GetObjectCommand;
import org.drools.process.command.GetObjectsCommand;
import org.drools.process.command.GetProcessInstanceCommand;
+import org.drools.process.command.GetProcessInstancesCommand;
+import org.drools.process.command.GetSessionClockCommand;
+import org.drools.process.command.GetWorkingMemoryEntryPointCommand;
+import org.drools.process.command.HaltCommand;
import org.drools.process.command.InsertObjectCommand;
import org.drools.process.command.RegisterWorkItemHandlerCommand;
+import org.drools.process.command.RemoveEventListenerCommand;
+import org.drools.process.command.RetractCommand;
import org.drools.process.command.SetGlobalCommand;
import org.drools.process.command.SignalEventCommand;
import org.drools.process.command.StartProcessCommand;
+import org.drools.process.command.UpdateCommand;
import org.drools.runtime.Environment;
import org.drools.runtime.ExitPoint;
import org.drools.runtime.Globals;
@@ -34,218 +50,241 @@
import org.drools.runtime.rule.WorkingMemoryEntryPoint;
import org.drools.time.SessionClock;
-public class CommandBasedStatefulKnowledgeSession implements StatefulKnowledgeSession {
+public class CommandBasedStatefulKnowledgeSession
+ implements
+ StatefulKnowledgeSession {
- private CommandService commandService;
- private transient WorkItemManager workItemManager;
-
- public CommandBasedStatefulKnowledgeSession(CommandService commandService) {
- this.commandService = commandService;
- }
-
- public ProcessInstance getProcessInstance(long id) {
- GetProcessInstanceCommand command = new GetProcessInstanceCommand();
- command.setProcessInstanceId(id);
- return commandService.execute(command);
- }
+ private CommandService commandService;
+ private transient WorkItemManager workItemManager;
- public CommandService getCommandService() {
- return commandService;
- }
-
- public Collection<ProcessInstance> getProcessInstances() {
- throw new UnsupportedOperationException();
- }
+ public CommandBasedStatefulKnowledgeSession(CommandService commandService) {
+ this.commandService = commandService;
+ }
- public WorkItemManager getWorkItemManager() {
- if (workItemManager == null) {
- workItemManager = new WorkItemManager() {
- public void completeWorkItem(long id, Map<String, Object> results) {
- CompleteWorkItemCommand command = new CompleteWorkItemCommand();
- command.setWorkItemId(id);
- command.setResults(results);
- commandService.execute(command);
- }
- public void abortWorkItem(long id) {
- AbortWorkItemCommand command = new AbortWorkItemCommand();
- command.setWorkItemId(id);
- commandService.execute(command);
- }
- public void registerWorkItemHandler(String workItemName, WorkItemHandler handler) {
- RegisterWorkItemHandlerCommand command = new RegisterWorkItemHandlerCommand();
- command.setWorkItemName(workItemName);
- command.setHandler(handler);
- commandService.execute(command);
- }
- };
- }
- return workItemManager;
- }
+ public ProcessInstance getProcessInstance(long id) {
+ GetProcessInstanceCommand command = new GetProcessInstanceCommand();
+ command.setProcessInstanceId( id );
+ return commandService.execute( command );
+ }
- public void signalEvent(String type, Object event) {
- SignalEventCommand command = new SignalEventCommand();
- command.setEventType(type);
- command.setEvent(event);
- commandService.execute(command);
- }
+ public CommandService getCommandService() {
+ return commandService;
+ }
- public ProcessInstance startProcess(String processId) {
- return startProcess(processId, null);
- }
+ public Collection<ProcessInstance> getProcessInstances() {
+ return this.commandService.execute( new GetProcessInstancesCommand() );
+ }
- public ProcessInstance startProcess(String processId,
- Map<String, Object> parameters) {
- StartProcessCommand command = new StartProcessCommand();
- command.setProcessId(processId);
- command.setParameters(parameters);
- return commandService.execute(command);
- }
+ public WorkItemManager getWorkItemManager() {
+ if ( workItemManager == null ) {
+ workItemManager = new WorkItemManager() {
+ public void completeWorkItem(long id,
+ Map<String, Object> results) {
+ CompleteWorkItemCommand command = new CompleteWorkItemCommand();
+ command.setWorkItemId( id );
+ command.setResults( results );
+ commandService.execute( command );
+ }
- public void dispose() {
- commandService.dispose();
- }
+ public void abortWorkItem(long id) {
+ AbortWorkItemCommand command = new AbortWorkItemCommand();
+ command.setWorkItemId( id );
+ commandService.execute( command );
+ }
- public int fireAllRules() {
- return this.commandService.execute( new FireAllRulesCommand() );
- }
+ public void registerWorkItemHandler(String workItemName,
+ WorkItemHandler handler) {
+ RegisterWorkItemHandlerCommand command = new RegisterWorkItemHandlerCommand();
+ command.setWorkItemName( workItemName );
+ command.setHandler( handler );
+ commandService.execute( command );
+ }
+ };
+ }
+ return workItemManager;
+ }
- public int fireAllRules(int max) {
- throw new UnsupportedOperationException();
- }
+ public void signalEvent(String type,
+ Object event) {
+ SignalEventCommand command = new SignalEventCommand();
+ command.setEventType( type );
+ command.setEvent( event );
+ commandService.execute( command );
+ }
- public int fireAllRules(AgendaFilter agendaFilter) {
- throw new UnsupportedOperationException();
- }
+ public ProcessInstance startProcess(String processId) {
+ return startProcess( processId,
+ null );
+ }
- public void fireUntilHalt() {
- throw new UnsupportedOperationException();
- }
+ public ProcessInstance startProcess(String processId,
+ Map<String, Object> parameters) {
+ StartProcessCommand command = new StartProcessCommand();
+ command.setProcessId( processId );
+ command.setParameters( parameters );
+ return commandService.execute( command );
+ }
- public void fireUntilHalt(AgendaFilter agendaFilter) {
- throw new UnsupportedOperationException();
- }
+ public void dispose() {
+ commandService.dispose();
+ }
- public KnowledgeBase getKnowledgeBase() {
- throw new UnsupportedOperationException();
- }
+ public int fireAllRules() {
+ return this.commandService.execute( new FireAllRulesCommand() );
+ }
- public void registerExitPoint(String name, ExitPoint exitPoint) {
- throw new UnsupportedOperationException();
- }
+ public int fireAllRules(int max) {
+ return this.commandService.execute( new FireAllRulesCommand( max ) );
+ }
- public void unregisterExitPoint(String name) {
- throw new UnsupportedOperationException();
- }
+ public int fireAllRules(AgendaFilter agendaFilter) {
+ return this.commandService.execute( new FireAllRulesCommand( agendaFilter ) );
+ }
- public Agenda getAgenda() {
- throw new UnsupportedOperationException();
- }
+ public void fireUntilHalt() {
+ this.commandService.execute( new FireUntilHaltCommand() );
+ }
- public FactHandle getFactHandle(Object object) {
- throw new UnsupportedOperationException();
- }
+ public void fireUntilHalt(AgendaFilter agendaFilter) {
+ this.commandService.execute( new FireUntilHaltCommand( agendaFilter ) );
+ }
- public Collection<? extends FactHandle> getFactHandles() {
- throw new UnsupportedOperationException();
- }
+ public KnowledgeBase getKnowledgeBase() {
+ return this.commandService.execute( new GetKnowledgeBaseCommand() );
+ }
- public Collection<? extends FactHandle> getFactHandles(ObjectFilter filter) {
- throw new UnsupportedOperationException();
- }
+ public void registerExitPoint(String name,
+ ExitPoint exitPoint) {
+ throw new UnsupportedOperationException();
- public Collection<?> getObjects() {
- Collection<Object> result = new ArrayList<Object>();
- Iterator<?> iterator = commandService.execute(new GetObjectsCommand());
- if (iterator != null) {
- while (iterator.hasNext()) {
- result.add(iterator.next());
- }
- }
- return result;
- }
+ }
- public Collection<?> getObjects(ObjectFilter filter) {
- throw new UnsupportedOperationException();
- }
+ public void unregisterExitPoint(String name) {
+ throw new UnsupportedOperationException();
- public SessionClock getSessionClock() {
- throw new UnsupportedOperationException();
- }
+ }
- public WorkingMemoryEntryPoint getWorkingMemoryEntryPoint(String name) {
- throw new UnsupportedOperationException();
- }
+ public Agenda getAgenda() {
+ return this.commandService.execute( new GetAgendaCommand() );
+ }
- public void halt() {
- throw new UnsupportedOperationException();
- }
+ public FactHandle getFactHandle(Object object) {
+ return this.commandService.execute( new GetFactHandleCommand( object ) );
+ }
- public FactHandle insert(Object object) {
- return commandService.execute(new InsertObjectCommand(object));
- }
+ public Collection< ? extends FactHandle> getFactHandles() {
+ throw new UnsupportedOperationException();
- public void retract(FactHandle handle) {
- throw new UnsupportedOperationException();
- }
+ }
- public void update(FactHandle handle, Object object) {
- throw new UnsupportedOperationException();
- }
+ public Collection< ? extends FactHandle> getFactHandles(ObjectFilter filter) {
+ throw new UnsupportedOperationException();
+ }
- public void addEventListener(WorkingMemoryEventListener listener) {
- throw new UnsupportedOperationException();
- }
+ public Collection< ? > getObjects() {
+ Collection<Object> result = new ArrayList<Object>();
+ Iterator< ? > iterator = commandService.execute( new GetObjectsCommand() );
+ if ( iterator != null ) {
+ while ( iterator.hasNext() ) {
+ result.add( iterator.next() );
+ }
+ }
+ return result;
+ }
- public void addEventListener(AgendaEventListener listener) {
- throw new UnsupportedOperationException();
- }
+ public Collection< ? > getObjects(ObjectFilter filter) {
+ Collection<Object> result = new ArrayList<Object>();
+ Iterator< ? > iterator = commandService.execute( new GetObjectsCommand( filter ) );
+ if ( iterator != null ) {
+ while ( iterator.hasNext() ) {
+ result.add( iterator.next() );
+ }
+ }
+ return result;
+ }
- public Collection<AgendaEventListener> getAgendaEventListeners() {
- throw new UnsupportedOperationException();
- }
+ public SessionClock getSessionClock() {
+ return this.commandService.execute( new GetSessionClockCommand() );
+ }
- public Collection<WorkingMemoryEventListener> getWorkingMemoryEventListeners() {
- throw new UnsupportedOperationException();
- }
+ public WorkingMemoryEntryPoint getWorkingMemoryEntryPoint(String name) {
+ return this.commandService.execute( new GetWorkingMemoryEntryPointCommand( name ) );
+ }
- public void removeEventListener(WorkingMemoryEventListener listener) {
- throw new UnsupportedOperationException();
- }
+ public void halt() {
+ this.commandService.execute( new HaltCommand() );
+ }
- public void removeEventListener(AgendaEventListener listener) {
- throw new UnsupportedOperationException();
- }
+ public FactHandle insert(Object object) {
+ return commandService.execute( new InsertObjectCommand( object ) );
+ }
- public void addEventListener(ProcessEventListener listener) {
- throw new UnsupportedOperationException();
- }
+ public void retract(FactHandle handle) {
+ commandService.execute( new RetractCommand( handle ) );
+ }
- public Collection<ProcessEventListener> getProcessEventListeners() {
- throw new UnsupportedOperationException();
- }
+ public void update(FactHandle handle,
+ Object object) {
+ commandService.execute( new UpdateCommand( handle,
+ object ) );
+ }
- public void removeEventListener(ProcessEventListener listener) {
- throw new UnsupportedOperationException();
- }
+ public void addEventListener(WorkingMemoryEventListener listener) {
+ commandService.execute( new AddEventListenerCommand( listener ) );
+ }
- public Object getGlobal(String identifier) {
- throw new UnsupportedOperationException();
- }
-
- public void setGlobal(String identifier, Object object) {
- this.commandService.execute( new SetGlobalCommand(identifier, object) );
+ public void addEventListener(AgendaEventListener listener) {
+ commandService.execute( new AddEventListenerCommand( listener ) );
}
- public Globals getGlobals() {
+ public Collection<AgendaEventListener> getAgendaEventListeners() {
throw new UnsupportedOperationException();
- }
+ }
- public Object getObject(FactHandle factHandle) {
- throw new UnsupportedOperationException();
- }
+ public Collection<WorkingMemoryEventListener> getWorkingMemoryEventListeners() {
+ throw new UnsupportedOperationException();
+ }
- public Environment getEnvironment() {
- throw new UnsupportedOperationException();
- }
+ public void removeEventListener(WorkingMemoryEventListener listener) {
+ commandService.execute( new RemoveEventListenerCommand( listener ) );
+ }
+ public void removeEventListener(AgendaEventListener listener) {
+ commandService.execute( new RemoveEventListenerCommand( listener ) );
+ }
+
+ public void addEventListener(ProcessEventListener listener) {
+ commandService.execute( new AddEventListenerCommand( listener ) );
+ }
+
+ public Collection<ProcessEventListener> getProcessEventListeners() {
+ throw new UnsupportedOperationException();
+ }
+
+ public void removeEventListener(ProcessEventListener listener) {
+ commandService.execute( new RemoveEventListenerCommand( listener ) );
+ }
+
+ public Object getGlobal(String identifier) {
+ return commandService.execute( new GetGlobalCommand( identifier ) );
+ }
+
+ public void setGlobal(String identifier,
+ Object object) {
+ this.commandService.execute( new SetGlobalCommand( identifier,
+ object ) );
+ }
+
+ public Globals getGlobals() {
+ return commandService.execute( new GetGlobalsCommand() );
+ }
+
+ public Object getObject(FactHandle factHandle) {
+ return commandService.execute( new GetObjectCommand( factHandle ) );
+ }
+
+ public Environment getEnvironment() {
+ return commandService.execute( new GetEnvironmentCommand() );
+ }
+
}
\ No newline at end of file
More information about the jboss-svn-commits
mailing list