[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