[jboss-svn-commits] JBL Code SVN: r25015 - in labs/jbossrules/trunk: drools-compiler/src/main/java/org/drools/compiler and 9 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jan 30 08:30:56 EST 2009


Author: KrisVerlaenen
Date: 2009-01-30 08:30:55 -0500 (Fri, 30 Jan 2009)
New Revision: 25015

Added:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ResourceTypeBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ResourceTypeBuilderRegistry.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/RegisterWorkItemHandlerCommand.java
Modified:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/ResourceType.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java
   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/instance/ProcessInstance.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/ProcessInstanceImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/WorkflowProcessInstance.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/impl/WorkflowProcessInstanceImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/EventBasedNodeInstance.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/SubProcessNodeInstance.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/TimerNodeInstance.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/WorkItemNodeInstance.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/xml/changeset/ResourceHandler.java
Log:
JBRULES-1915: Improve process persistence usability
 - improved command-based implementation of StatefulKnowledgeSession

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/ResourceType.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/ResourceType.java	2009-01-30 13:18:03 UTC (rev 25014)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/ResourceType.java	2009-01-30 13:30:55 UTC (rev 25015)
@@ -1,27 +1,70 @@
 package org.drools.builder;
 
-public enum ResourceType {
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+public class ResourceType {
+	
+	private String name;
+	
+    private static final Map<String, ResourceType> CACHE = Collections.synchronizedMap( new HashMap<String, ResourceType>() );
+
+    public ResourceType(String name) {
+		this.name = name;
+	}
+	
+    public static ResourceType addResourceTypeToRegistry(final String resourceType) {
+		ResourceType resource = new ResourceType(resourceType);
+		CACHE.put(resourceType, resource);
+		return resource;
+	}
+
     /** Drools Rule Language */
-    DRL,
+    public static final ResourceType DRL = addResourceTypeToRegistry("DRL");
 
     /** Drools XML Rule Language */
-    XDRL,
+    public static final ResourceType XDRL = addResourceTypeToRegistry("XDRL");
 
     /** Drools DSL */
-    DSL,
+    public static final ResourceType DSL = addResourceTypeToRegistry("DSL");
 
     /** Drools DSL Rule */
-    DSLR,
+    public static final ResourceType DSLR = addResourceTypeToRegistry("DSLR");
 
     /** Drools Rule Flow Language */
-    DRF,
+    public static final ResourceType DRF = addResourceTypeToRegistry("DRF");
 
     /** Decision Table */
-    DTABLE,
+    public static final ResourceType DTABLE = addResourceTypeToRegistry("DTABLE");
 
     /** Binary Package */
-    PKG,
+    public static final ResourceType PKG = addResourceTypeToRegistry("PKG");
 
     /** ChangeSet */
-    ChangeSet;
+    public static final ResourceType ChangeSet = addResourceTypeToRegistry("ChangeSet");
+    
+    public static ResourceType getResourceType(final String resourceType) {
+    	ResourceType resource = CACHE.get(resourceType);
+        if ( resource == null ) {
+            throw new RuntimeException( "Unable to determine resource type " + resourceType );
+        }
+        return resource;
+    }
+
+    @Override
+    public int hashCode() {
+        return name.hashCode();
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if ( this == obj ) return true;
+        if ( obj == null ) return false;
+        if ( getClass() != obj.getClass() ) return false;
+        final ResourceType other = (ResourceType) obj;
+        if ( !name.equals( other.name ) ) return false;
+        return true;
+    }
+    
 }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java	2009-01-30 13:18:03 UTC (rev 25014)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java	2009-01-30 13:30:55 UTC (rev 25015)
@@ -17,14 +17,11 @@
  */
 
 import java.beans.IntrospectionException;
-import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.InputStreamReader;
 import java.io.Reader;
 import java.io.StringReader;
 import java.lang.reflect.InvocationTargetException;
-import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -33,7 +30,6 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.Map.Entry;
 
 import org.drools.ChangeSet;
 import org.drools.PackageIntegrationException;
@@ -44,8 +40,8 @@
 import org.drools.base.ClassFieldAccessorStore;
 import org.drools.base.evaluators.TimeIntervalParser;
 import org.drools.builder.DecisionTableConfiguration;
-import org.drools.builder.ResourceType;
 import org.drools.builder.ResourceConfiguration;
+import org.drools.builder.ResourceType;
 import org.drools.common.InternalRuleBase;
 import org.drools.commons.jci.problems.CompilationProblem;
 import org.drools.definition.process.Process;
@@ -59,9 +55,7 @@
 import org.drools.io.InternalResource;
 import org.drools.io.Resource;
 import org.drools.io.impl.ClassPathResource;
-import org.drools.io.impl.KnowledgeResource;
 import org.drools.io.impl.ReaderResource;
-import org.drools.io.impl.UrlResource;
 import org.drools.lang.descr.AttributeDescr;
 import org.drools.lang.descr.BaseDescr;
 import org.drools.lang.descr.FactTemplateDescr;
@@ -71,7 +65,6 @@
 import org.drools.lang.descr.GlobalDescr;
 import org.drools.lang.descr.ImportDescr;
 import org.drools.lang.descr.PackageDescr;
-import org.drools.lang.descr.QueryDescr;
 import org.drools.lang.descr.RuleDescr;
 import org.drools.lang.descr.TypeDeclarationDescr;
 import org.drools.lang.descr.TypeFieldDescr;
@@ -454,81 +447,72 @@
                                      ResourceType type,
                                      ResourceConfiguration configuration) {
         try {
-            switch ( type ) {
-                case DRL : {
-                    ((InternalResource) resource).setResourceType( type );
-                    addPackageFromDrl( resource );
-                    break;
+            if ( ResourceType.DRL.equals( type )) {
+               ((InternalResource) resource).setResourceType( type );
+                addPackageFromDrl( resource );
+            } else if ( ResourceType.DSLR.equals( type )) {
+                ((InternalResource) resource).setResourceType( type );
+                addPackageFromDslr( resource );
+            } else if ( ResourceType.DSL.equals( type )) {
+                ((InternalResource) resource).setResourceType( type );
+                addDsl( resource );
+            } else if ( ResourceType.XDRL.equals( type )) {
+                ((InternalResource) resource).setResourceType( type );
+                addPackageFromXml( resource );
+            } else if ( ResourceType.DRF.equals( type )) {
+                ((InternalResource) resource).setResourceType( type );
+                addProcessFromXml( resource );
+            } else if ( ResourceType.DTABLE.equals( type )) {
+                ((InternalResource) resource).setResourceType( type );
+                DecisionTableConfiguration dtableConfiguration = (DecisionTableConfiguration) configuration;
 
+                String string = DecisionTableFactory.loadFromInputStream( resource.getInputStream(),
+                                                                          dtableConfiguration );
+                addPackageFromDrl( new StringReader( string ) );
+            } else if ( ResourceType.PKG.equals( type )) {
+                InputStream is = resource.getInputStream();
+                Package pkg = (Package) DroolsStreamUtils.streamIn( is );
+                is.close();
+                addPackage( pkg );
+            } else if ( ResourceType.ChangeSet.equals( type )) {
+                ((InternalResource) resource).setResourceType( type );
+                XmlChangeSetReader reader = new XmlChangeSetReader( this.configuration.getSemanticModules() );
+                if ( resource instanceof ClassPathResource ) {
+                    reader.setClassLoader( ((ClassPathResource) resource).getClassLoader() );
+                } else {
+                    reader.setClassLoader( this.configuration.getClassLoader() );
                 }
-                case DSLR : {
-                    ((InternalResource) resource).setResourceType( type );
-                    addPackageFromDslr( resource );
-                    break;
+                ChangeSet chageSet = reader.read( resource.getReader() );
+                if ( chageSet == null ) {
+                    // @TODO should log an error
                 }
-                case DSL : {
-                    ((InternalResource) resource).setResourceType( type );
-                    addDsl( resource );
-                    break;
-                }
-                case XDRL : {
-                    ((InternalResource) resource).setResourceType( type );
-                    addPackageFromXml( resource );
-                    break;
-                }
-                case DRF : {
-                    ((InternalResource) resource).setResourceType( type );
-                    addProcessFromXml( resource );
-                    break;
-                }
-                case DTABLE : {
-                    ((InternalResource) resource).setResourceType( type );
-                    DecisionTableConfiguration dtableConfiguration = (DecisionTableConfiguration) configuration;
-
-                    String string = DecisionTableFactory.loadFromInputStream( resource.getInputStream(),
-                                                                              dtableConfiguration );
-                    addPackageFromDrl( new StringReader( string ) );
-                    break;
-                }
-                case PKG : {
-                    InputStream is = resource.getInputStream();
-                    Package pkg = (Package) DroolsStreamUtils.streamIn( is );
-                    is.close();
-                    addPackage( pkg );
-                    break;
-                }
-                case ChangeSet : {
-                    ((InternalResource) resource).setResourceType( type );
-                    XmlChangeSetReader reader = new XmlChangeSetReader( this.configuration.getSemanticModules() );
-                    if ( resource instanceof ClassPathResource ) {
-                        reader.setClassLoader( ((ClassPathResource) resource).getClassLoader() );
-                    } else {
-                        reader.setClassLoader( this.configuration.getClassLoader() );
-                    }
-                    ChangeSet chageSet = reader.read( resource.getReader() );
-                    if ( chageSet == null ) {
-                        // @TODO should log an error
-                    }
-                    for ( Resource nestedResource : chageSet.getResourcesAdded() ) {
-                        InternalResource iNestedResourceResource = (InternalResource) nestedResource;
-                        if ( iNestedResourceResource.isDirectory() ) {
-                            this.resourceDirectories.add( iNestedResourceResource );
-                            for ( Resource childResource : iNestedResourceResource.listResources() ) {
-                                if ( ((InternalResource) childResource).isDirectory() ) {
-                                    continue; // ignore sub directories
-                                }
-                                ((InternalResource) childResource).setResourceType( iNestedResourceResource.getResourceType() );
-                                addKnowledgeResource( childResource,
-                                                      iNestedResourceResource.getResourceType(),
-                                                      iNestedResourceResource.getConfiguration() );
+                for ( Resource nestedResource : chageSet.getResourcesAdded() ) {
+                    InternalResource iNestedResourceResource = (InternalResource) nestedResource;
+                    if ( iNestedResourceResource.isDirectory() ) {
+                        this.resourceDirectories.add( iNestedResourceResource );
+                        for ( Resource childResource : iNestedResourceResource.listResources() ) {
+                            if ( ((InternalResource) childResource).isDirectory() ) {
+                                continue; // ignore sub directories
                             }
-                        } else {
-                            addKnowledgeResource( iNestedResourceResource,
+                            ((InternalResource) childResource).setResourceType( iNestedResourceResource.getResourceType() );
+                            addKnowledgeResource( childResource,
                                                   iNestedResourceResource.getResourceType(),
                                                   iNestedResourceResource.getConfiguration() );
                         }
+                    } else {
+                        addKnowledgeResource( iNestedResourceResource,
+                                              iNestedResourceResource.getResourceType(),
+                                              iNestedResourceResource.getConfiguration() );
                     }
                 }
+            } else {
+            	ResourceTypeBuilder builder = ResourceTypeBuilderRegistry.getInstance().getResourceTypeBuilder(type);
+            	if (builder != null) {
+	            	builder.setPackageBuilder(this);
+	            	builder.addKnowledgeResource(resource, type, configuration);
+            	} else {
+            		throw new RuntimeException("Unknown resource type: " + type);
+            	}
             }
         } catch ( RuntimeException e ) {
             throw e;

Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ResourceTypeBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ResourceTypeBuilder.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ResourceTypeBuilder.java	2009-01-30 13:30:55 UTC (rev 25015)
@@ -0,0 +1,13 @@
+package org.drools.compiler;
+
+import org.drools.builder.ResourceConfiguration;
+import org.drools.builder.ResourceType;
+import org.drools.io.Resource;
+
+public interface ResourceTypeBuilder {
+	
+	void setPackageBuilder(PackageBuilder packageBuilder);
+	
+	void addKnowledgeResource(Resource resource, ResourceType type, ResourceConfiguration configuration);
+
+}

Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ResourceTypeBuilderRegistry.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ResourceTypeBuilderRegistry.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/ResourceTypeBuilderRegistry.java	2009-01-30 13:30:55 UTC (rev 25015)
@@ -0,0 +1,31 @@
+package org.drools.compiler;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.builder.ResourceType;
+
+public class ResourceTypeBuilderRegistry {
+	
+    private static final ResourceTypeBuilderRegistry INSTANCE =
+        new ResourceTypeBuilderRegistry();
+
+    private Map<ResourceType, ResourceTypeBuilder> registry;
+    
+    public static ResourceTypeBuilderRegistry getInstance() {
+    	return INSTANCE;
+    }
+
+    private ResourceTypeBuilderRegistry() {
+        this.registry = new HashMap<ResourceType, ResourceTypeBuilder>();
+    }
+
+    public void register(ResourceType resourceType, ResourceTypeBuilder builder) {
+        this.registry.put( resourceType, builder );
+    }
+
+    public ResourceTypeBuilder getResourceTypeBuilder(ResourceType resourceType) {
+        return this.registry.get( resourceType );
+    }
+
+}

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java	2009-01-30 13:18:03 UTC (rev 25014)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java	2009-01-30 13:30:55 UTC (rev 25015)
@@ -74,6 +74,7 @@
 import org.drools.event.WorkingMemoryEventListener;
 import org.drools.impl.StatefulKnowledgeSessionImpl;
 import org.drools.impl.StatelessKnowledgeSessionImpl;
+import org.drools.process.command.impl.CommandBasedStatefulKnowledgeSession;
 import org.drools.rule.Declaration;
 import org.drools.runtime.process.NodeInstance;
 import org.drools.runtime.process.NodeInstanceContainer;
@@ -132,6 +133,13 @@
     		((StatelessKnowledgeSessionImpl) session).agendaEventSupport.addEventListener( this );
     		((StatelessKnowledgeSessionImpl) session).ruleFlowEventSupport.addEventListener( this );
     		((StatelessKnowledgeSessionImpl) session).getRuleBase().addEventListener( this );
+    	} else if (session instanceof CommandBasedStatefulKnowledgeSession) {
+    		WorkingMemoryEventManager eventManager = 
+    			((CommandBasedStatefulKnowledgeSession) session).getCommandService().getSession();
+    		eventManager.addEventListener( (WorkingMemoryEventListener) this );
+    		eventManager.addEventListener( (AgendaEventListener) this );
+    		eventManager.addEventListener( (RuleFlowEventListener) this );
+    		eventManager.addEventListener( (RuleBaseEventListener) this );
     	} else {
     		throw new IllegalArgumentException("Not supported session in logger: " + session.getClass());
     	}

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/RegisterWorkItemHandlerCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/RegisterWorkItemHandlerCommand.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/RegisterWorkItemHandlerCommand.java	2009-01-30 13:30:55 UTC (rev 25015)
@@ -0,0 +1,37 @@
+package org.drools.process.command;
+
+import org.drools.StatefulSession;
+import org.drools.runtime.process.WorkItemHandler;
+
+public class RegisterWorkItemHandlerCommand implements Command<Object> {
+	
+	private WorkItemHandler handler;
+	private String workItemName;
+	
+	public WorkItemHandler getHandler() {
+		return handler;
+	}
+
+	public void setHandler(WorkItemHandler handler) {
+		this.handler = handler;
+	}
+
+	public String getWorkItemName() {
+		return workItemName;
+	}
+
+	public void setWorkItemName(String workItemName) {
+		this.workItemName = workItemName;
+	}
+
+	public Object execute(StatefulSession session) {
+		session.getWorkItemManager().registerWorkItemHandler(workItemName, handler);
+		return null;
+	}
+
+	public String toString() {
+		return "session.getWorkItemManager().registerWorkItemHandler("
+			+ workItemName + ", " + handler +  ");";
+	}
+
+}
\ No newline at end of file

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-01-30 13:18:03 UTC (rev 25014)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/command/impl/CommandBasedStatefulKnowledgeSession.java	2009-01-30 13:30:55 UTC (rev 25015)
@@ -15,6 +15,7 @@
 import org.drools.process.command.GetObjectsCommand;
 import org.drools.process.command.GetProcessInstanceCommand;
 import org.drools.process.command.InsertObjectCommand;
+import org.drools.process.command.RegisterWorkItemHandlerCommand;
 import org.drools.process.command.SignalEventCommand;
 import org.drools.process.command.StartProcessCommand;
 import org.drools.runtime.Environment;
@@ -46,6 +47,10 @@
 		return commandService.execute(command);
 	}
 
+	public CommandService getCommandService() {
+		return commandService;
+	}
+	
 	public Collection<ProcessInstance> getProcessInstances() {
 		throw new UnsupportedOperationException();
 	}
@@ -65,7 +70,10 @@
 					commandService.execute(command);
 				}
 				public void registerWorkItemHandler(String workItemName, WorkItemHandler handler) {
-					throw new UnsupportedOperationException();
+					RegisterWorkItemHandlerCommand command = new RegisterWorkItemHandlerCommand();
+					command.setWorkItemName(workItemName);
+					command.setHandler(handler);
+					commandService.execute(command);
 				}
 			};
 		}

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/ProcessInstance.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/ProcessInstance.java	2009-01-30 13:18:03 UTC (rev 25014)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/ProcessInstance.java	2009-01-30 13:30:55 UTC (rev 25015)
@@ -47,10 +47,6 @@
     
     void start();
 
-    void addEventListener(String type, EventListener eventListener, boolean external);
-    
-    void removeEventListener(String type, EventListener eventListener, boolean external);
-    
     void signalEvent(String type, Object event);
 
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/ProcessInstanceImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/ProcessInstanceImpl.java	2009-01-30 13:18:03 UTC (rev 25014)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/ProcessInstanceImpl.java	2009-01-30 13:30:55 UTC (rev 25015)
@@ -22,6 +22,7 @@
 import java.util.List;
 import java.util.Map;
 
+import org.drools.Agenda;
 import org.drools.WorkingMemory;
 import org.drools.common.InternalRuleBase;
 import org.drools.common.InternalWorkingMemory;
@@ -100,6 +101,13 @@
         return this.workingMemory;
     }
     
+	public Agenda getAgenda() {
+		if (getWorkingMemory() == null) {
+			return null;
+		}
+		return getWorkingMemory().getAgenda();
+	}
+
     public ContextContainer getContextContainer() {
         return ( ContextContainer ) getProcess();
     }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/WorkflowProcessInstance.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/WorkflowProcessInstance.java	2009-01-30 13:18:03 UTC (rev 25014)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/WorkflowProcessInstance.java	2009-01-30 13:30:55 UTC (rev 25015)
@@ -1,7 +1,12 @@
 package org.drools.workflow.instance;
 
 import org.drools.process.instance.ProcessInstance;
+import org.drools.runtime.process.EventListener;
 
 public interface WorkflowProcessInstance extends ProcessInstance, org.drools.runtime.process.WorkflowProcessInstance {
 
+    void addEventListener(String type, EventListener eventListener, boolean external);
+    
+    void removeEventListener(String type, EventListener eventListener, boolean external);
+    
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/impl/WorkflowProcessInstanceImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/impl/WorkflowProcessInstanceImpl.java	2009-01-30 13:18:03 UTC (rev 25014)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/impl/WorkflowProcessInstanceImpl.java	2009-01-30 13:30:55 UTC (rev 25015)
@@ -153,13 +153,6 @@
 		this.nodeInstanceCounter = nodeInstanceCounter;
 	}
 
-	public Agenda getAgenda() {
-		if (getWorkingMemory() == null) {
-			return null;
-		}
-		return getWorkingMemory().getAgenda();
-	}
-
 	public WorkflowProcess getWorkflowProcess() {
 		return (WorkflowProcess) getProcess();
 	}

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/EventBasedNodeInstance.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/EventBasedNodeInstance.java	2009-01-30 13:18:03 UTC (rev 25014)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/EventBasedNodeInstance.java	2009-01-30 13:30:55 UTC (rev 25015)
@@ -13,6 +13,7 @@
 import org.drools.spi.KnowledgeHelper;
 import org.drools.workflow.core.DroolsAction;
 import org.drools.workflow.core.node.EventBasedNode;
+import org.drools.workflow.instance.WorkflowProcessInstance;
 import org.drools.workflow.instance.impl.ExtendedNodeInstanceImpl;
 
 public abstract class EventBasedNodeInstance extends ExtendedNodeInstanceImpl implements EventBasedNodeInstanceInterface, EventListener {
@@ -83,11 +84,11 @@
     }
     
     protected void addTimerListener() {
-    	((ProcessInstance) getProcessInstance()).addEventListener("timerTriggered", this, false);
+    	((WorkflowProcessInstance) getProcessInstance()).addEventListener("timerTriggered", this, false);
     }
     
     public void removeEventListeners() {
-    	((ProcessInstance) getProcessInstance()).removeEventListener("timerTriggered", this, false);
+    	((WorkflowProcessInstance) getProcessInstance()).removeEventListener("timerTriggered", this, false);
     }
 
 	protected void triggerCompleted(String type, boolean remove) {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/SubProcessNodeInstance.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/SubProcessNodeInstance.java	2009-01-30 13:18:03 UTC (rev 25014)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/SubProcessNodeInstance.java	2009-01-30 13:30:55 UTC (rev 25015)
@@ -119,12 +119,12 @@
     }
     
     private void addProcessListener() {
-    	((ProcessInstance) getProcessInstance()).addEventListener("processInstanceCompleted:" + processInstanceId, this, true);
+    	getProcessInstance().addEventListener("processInstanceCompleted:" + processInstanceId, this, true);
     }
 
     public void removeEventListeners() {
         super.removeEventListeners();
-        ((ProcessInstance) getProcessInstance()).removeEventListener("processInstanceCompleted:" + processInstanceId, this, true);
+        getProcessInstance().removeEventListener("processInstanceCompleted:" + processInstanceId, this, true);
     }
 
 	public void signalEvent(String type, Object event) {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/TimerNodeInstance.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/TimerNodeInstance.java	2009-01-30 13:18:03 UTC (rev 25014)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/TimerNodeInstance.java	2009-01-30 13:30:55 UTC (rev 25015)
@@ -6,6 +6,7 @@
 import org.drools.runtime.process.EventListener;
 import org.drools.runtime.process.NodeInstance;
 import org.drools.workflow.core.node.TimerNode;
+import org.drools.workflow.instance.WorkflowProcessInstance;
 
 public class TimerNodeInstance extends EventBasedNodeInstance implements EventListener {
 
@@ -79,7 +80,7 @@
     
     public void removeEventListeners() {
         super.removeEventListeners();
-        ((ProcessInstance) getProcessInstance()).removeEventListener("timerTriggered", this, false);
+        ((WorkflowProcessInstance) getProcessInstance()).removeEventListener("timerTriggered", this, false);
     }
 
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/WorkItemNodeInstance.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/WorkItemNodeInstance.java	2009-01-30 13:18:03 UTC (rev 25014)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/WorkItemNodeInstance.java	2009-01-30 13:30:55 UTC (rev 25015)
@@ -207,14 +207,14 @@
     }
     
     private void addWorkItemListener() {
-    	((ProcessInstance) getProcessInstance()).addEventListener("workItemCompleted", this, false);
-    	((ProcessInstance) getProcessInstance()).addEventListener("workItemAborted", this, false);
+    	getProcessInstance().addEventListener("workItemCompleted", this, false);
+    	getProcessInstance().addEventListener("workItemAborted", this, false);
     }
     
     public void removeEventListeners() {
         super.removeEventListeners();
-        ((ProcessInstance) getProcessInstance()).removeEventListener("workItemCompleted", this, false);
-        ((ProcessInstance) getProcessInstance()).removeEventListener("workItemAborted", this, false);
+        getProcessInstance().removeEventListener("workItemCompleted", this, false);
+        getProcessInstance().removeEventListener("workItemAborted", this, false);
     }
     
     public void signalEvent(String type, Object event) {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/xml/changeset/ResourceHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/xml/changeset/ResourceHandler.java	2009-01-30 13:18:03 UTC (rev 25014)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/xml/changeset/ResourceHandler.java	2009-01-30 13:30:55 UTC (rev 25015)
@@ -62,7 +62,7 @@
             resource = new UrlResource( src );
         }
         
-        resource.setResourceType( ResourceType.valueOf( type ) );
+        resource.setResourceType( ResourceType.getResourceType( type ) );
         
         return resource;
     }




More information about the jboss-svn-commits mailing list