[jboss-svn-commits] JBL Code SVN: r22686 - in labs/jbossrules/trunk/drools-api/src/main/java/org/drools: builder and 4 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Sep 11 10:44:13 EDT 2008


Author: KrisVerlaenen
Date: 2008-09-11 10:44:13 -0400 (Thu, 11 Sep 2008)
New Revision: 22686

Added:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/process/NodeEvent.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/Connection.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/Node.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/NodeContainer.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/WorkflowProcess.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/NodeInstance.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/NodeInstanceContainer.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/WorkItem.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/WorkItemHandler.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/WorkItemManager.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/WorkflowProcessInstance.java
Removed:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/model/
Modified:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseFactory.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeSessionFactory.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/StatefulProcessSession.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/ProcessBuilder.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/process/ProcessEvent.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/Process.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/ProcessInstance.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/util/ChainedProperties.java
Log:
JBRULES-1734: Drools-API
 - extended drools process API

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseFactory.java	2008-09-11 14:36:39 UTC (rev 22685)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseFactory.java	2008-09-11 14:44:13 UTC (rev 22686)
@@ -16,11 +16,12 @@
         return provider.newKnowledgeBase();
     }
     
-    private static void loadProvider() {
+    @SuppressWarnings("unchecked")
+	private static void loadProvider() {
         try {
             ChainedProperties properties = new ChainedProperties( "drools-providers.conf" );
             String className = properties.getProperty( "KnowledgeSessionProvider", null );
-            if ( className != null || className.trim().length() > 0 ) {
+            if ( className != null && className.trim().length() > 0 ) {
                 Class<KnowledgeBaseProvider> cls = ( Class<KnowledgeBaseProvider> ) Class.forName( className );
                 setKnowledgeBaseProvider( cls.newInstance() );
             }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeSessionFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeSessionFactory.java	2008-09-11 14:36:39 UTC (rev 22685)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeSessionFactory.java	2008-09-11 14:44:13 UTC (rev 22686)
@@ -16,11 +16,12 @@
         return provider.newStatefulKnowledgeSession();
     }
     
-    private static void loadProvider() {
+    @SuppressWarnings("unchecked")
+	private static void loadProvider() {
         try {
             ChainedProperties properties = new ChainedProperties( "drools-providers.conf" );
             String className = properties.getProperty( "KnowledgeSessionProvider", null );
-            if ( className != null || className.trim().length() > 0 ) {
+            if ( className != null && className.trim().length() > 0 ) {
                 Class<KnowledgeSessionProvider> cls = ( Class<KnowledgeSessionProvider> ) Class.forName( className );
                 setKnowledgeSessionProvider( cls.newInstance() );
             }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/StatefulProcessSession.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/StatefulProcessSession.java	2008-09-11 14:36:39 UTC (rev 22685)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/StatefulProcessSession.java	2008-09-11 14:44:13 UTC (rev 22686)
@@ -1,8 +1,21 @@
 package org.drools;
 
+import java.util.Collection;
 import java.util.Map;
 
+import org.drools.process.instance.ProcessInstance;
+import org.drools.process.instance.WorkItemManager;
+
 public interface StatefulProcessSession {
-    void startProcess(String processId);
-    void startProcess(String processId, Map<String, Object> parameters);
+	
+    ProcessInstance startProcess(String processId);
+    
+    ProcessInstance startProcess(String processId, Map<String, Object> parameters);
+    
+    Collection<ProcessInstance> getProcessInstances();
+
+    ProcessInstance getProcessInstance(long id);
+
+    WorkItemManager getWorkItemManager();
+    
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/ProcessBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/ProcessBuilder.java	2008-09-11 14:36:39 UTC (rev 22685)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/ProcessBuilder.java	2008-09-11 14:44:13 UTC (rev 22686)
@@ -3,5 +3,7 @@
 import java.io.Reader;
 
 public interface ProcessBuilder {
-    public void addProcessFromXml(Reader reader);
+	
+    void addProcessFromXml(Reader reader);
+    
 }

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/process/NodeEvent.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/process/NodeEvent.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/process/NodeEvent.java	2008-09-11 14:44:13 UTC (rev 22686)
@@ -0,0 +1,9 @@
+package org.drools.event.process;
+
+import org.drools.process.instance.NodeInstance;
+
+public interface NodeEvent extends ProcessEvent {
+	
+	NodeInstance getNodeInstance();
+
+}

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/process/ProcessEvent.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/process/ProcessEvent.java	2008-09-11 14:36:39 UTC (rev 22685)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/process/ProcessEvent.java	2008-09-11 14:44:13 UTC (rev 22686)
@@ -19,6 +19,7 @@
 import org.drools.process.instance.ProcessInstance;
 
 public interface ProcessEvent {
-    public ProcessInstance getProcessInstance();
+	
+	ProcessInstance getProcessInstance();
 
 }
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/Connection.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/Connection.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/Connection.java	2008-09-11 14:44:13 UTC (rev 22686)
@@ -0,0 +1,13 @@
+package org.drools.knowledge.definitions.process;
+
+public interface Connection {
+
+    Node getFrom();
+
+    Node getTo();
+
+    String getFromType();
+
+    String getToType();
+
+}

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/Node.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/Node.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/Node.java	2008-09-11 14:44:13 UTC (rev 22686)
@@ -0,0 +1,18 @@
+package org.drools.knowledge.definitions.process;
+
+import java.util.List;
+import java.util.Map;
+
+public interface Node {
+
+    long getId();
+
+    String getName();
+
+    Map<String, List<Connection>> getIncomingConnections();
+
+    Map<String, List<Connection>> getOutgoingConnections();
+
+    NodeContainer getNodeContainer();
+    
+}

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/NodeContainer.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/NodeContainer.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/NodeContainer.java	2008-09-11 14:44:13 UTC (rev 22686)
@@ -0,0 +1,9 @@
+package org.drools.knowledge.definitions.process;
+
+public interface NodeContainer {
+
+    Node[] getNodes();
+
+    Node getNode(long id);
+
+}

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/Process.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/Process.java	2008-09-11 14:36:39 UTC (rev 22685)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/Process.java	2008-09-11 14:44:13 UTC (rev 22686)
@@ -1,5 +1,13 @@
 package org.drools.knowledge.definitions.process;
 
 public interface Process {
-    String getProcessId();
+	
+    String getId();
+    
+    String getName();
+    
+    String getVersion();
+    
+    String getPackageName();
+    
 }

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/WorkflowProcess.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/WorkflowProcess.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/knowledge/definitions/process/WorkflowProcess.java	2008-09-11 14:44:13 UTC (rev 22686)
@@ -0,0 +1,5 @@
+package org.drools.knowledge.definitions.process;
+
+public interface WorkflowProcess extends Process, NodeContainer {
+
+}

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/NodeInstance.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/NodeInstance.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/NodeInstance.java	2008-09-11 14:44:13 UTC (rev 22686)
@@ -0,0 +1,13 @@
+package org.drools.process.instance;
+
+public interface NodeInstance {
+
+    long getId();
+
+    long getNodeId();
+
+    WorkflowProcessInstance getProcessInstance();
+
+    NodeInstanceContainer getNodeInstanceContainer();
+    
+}

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/NodeInstanceContainer.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/NodeInstanceContainer.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/NodeInstanceContainer.java	2008-09-11 14:44:13 UTC (rev 22686)
@@ -0,0 +1,9 @@
+package org.drools.process.instance;
+
+import java.util.Collection;
+
+public interface NodeInstanceContainer {
+
+    Collection<NodeInstance> getNodeInstances();
+
+}

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/ProcessInstance.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/ProcessInstance.java	2008-09-11 14:36:39 UTC (rev 22685)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/ProcessInstance.java	2008-09-11 14:44:13 UTC (rev 22686)
@@ -1,22 +1,7 @@
 package org.drools.process.instance;
 
-/*
- * Copyright 2005 JBoss Inc
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public interface ProcessInstance  {   
+public interface ProcessInstance  { 
+	
     int STATE_PENDING   = 0;
     int STATE_ACTIVE    = 1;
     int STATE_COMPLETED = 2;
@@ -26,4 +11,7 @@
     String getProcessId();
 
     int getState();
+    
+    void signalEvent(String type, Object event);
+    
 }

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/WorkItem.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/WorkItem.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/WorkItem.java	2008-09-11 14:44:13 UTC (rev 22686)
@@ -0,0 +1,26 @@
+package org.drools.process.instance;
+
+import java.util.Map;
+
+public interface WorkItem {
+	
+	int PENDING = 0;
+	int ACTIVE = 1;
+	int COMPLETED = 2;
+	int ABORTED = 3;
+
+    long getId();
+    
+    String getName();
+    
+    int getState();
+    
+    Object getParameter(String name);
+    Map<String, Object> getParameters();
+    
+    Object getResult(String name);
+    Map<String, Object> getResults();
+
+    long getProcessInstanceId();
+
+}

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/WorkItemHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/WorkItemHandler.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/WorkItemHandler.java	2008-09-11 14:44:13 UTC (rev 22686)
@@ -0,0 +1,9 @@
+package org.drools.process.instance;
+
+public interface WorkItemHandler {
+    
+    void executeWorkItem(WorkItem workItem, WorkItemManager manager);
+    
+    void abortWorkItem(WorkItem workItem, WorkItemManager manager);
+
+}

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/WorkItemManager.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/WorkItemManager.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/WorkItemManager.java	2008-09-11 14:44:13 UTC (rev 22686)
@@ -0,0 +1,13 @@
+package org.drools.process.instance;
+
+import java.util.Map;
+
+public interface WorkItemManager {
+
+    void completeWorkItem(long id, Map<String, Object> results);
+
+    void abortWorkItem(long id);
+
+    void registerWorkItemHandler(String workItemName, WorkItemHandler handler);
+
+}

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/WorkflowProcessInstance.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/WorkflowProcessInstance.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/process/instance/WorkflowProcessInstance.java	2008-09-11 14:44:13 UTC (rev 22686)
@@ -0,0 +1,5 @@
+package org.drools.process.instance;
+
+public interface WorkflowProcessInstance extends ProcessInstance, NodeInstanceContainer {
+
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/util/ChainedProperties.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/util/ChainedProperties.java	2008-09-11 14:36:39 UTC (rev 22685)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/util/ChainedProperties.java	2008-09-11 14:44:13 UTC (rev 22686)
@@ -1,31 +1,24 @@
-/**
- *
- */
 package org.drools.util;
 
+import java.io.Externalizable;
 import java.io.File;
 import java.io.IOException;
-import java.io.Serializable;
-import java.io.Externalizable;
-import java.io.ObjectOutput;
 import java.io.ObjectInput;
+import java.io.ObjectOutput;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Enumeration;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 
-public class ChainedProperties
-    implements
-    Externalizable {
-    private List props;
-    private List defaultProps;
+public class ChainedProperties implements Externalizable {
+	
+    private List<Properties> props;
+    private List<Properties> defaultProps;
 
     public ChainedProperties() {
-
     }
 
     public ChainedProperties(String confFileName) {
@@ -50,8 +43,8 @@
             }
         }
 
-        this.props = new ArrayList();
-        this.defaultProps = new ArrayList();
+        this.props = new ArrayList<Properties>();
+        this.defaultProps = new ArrayList<Properties>();
 
         // Properties added in precedence order
 
@@ -133,9 +126,10 @@
         }
     }
 
-    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
-        props   = (List)in.readObject();
-        defaultProps    = (List)in.readObject();
+    @SuppressWarnings("unchecked")
+	public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+        props = (List<Properties>) in.readObject();
+        defaultProps = (List<Properties>) in.readObject();
     }
 
     public void writeExternal(ObjectOutput out) throws IOException {
@@ -143,9 +137,8 @@
         out.writeObject(defaultProps);
     }
 
-    private Enumeration getResources(String name,
-                                     ClassLoader classLoader) {
-        Enumeration enumeration = null;
+    private Enumeration<URL> getResources(String name, ClassLoader classLoader) {
+        Enumeration<URL> enumeration = null;
         try {
             enumeration = classLoader.getResources( name );
         } catch ( IOException e ) {
@@ -161,16 +154,14 @@
     public String getProperty(String key,
                               String defaultValue) {
         String value = null;
-        for ( Iterator it = this.props.iterator(); it.hasNext(); ) {
-            Properties props = (Properties) it.next();
+        for ( Properties props: this.props ) {
             value = props.getProperty( key );
             if ( value != null ) {
                 break;
             }
         }
         if ( value == null ) {
-            for ( Iterator it = this.defaultProps.iterator(); it.hasNext(); ) {
-                Properties props = (Properties) it.next();
+            for ( Properties props: this.defaultProps ) {
                 value = props.getProperty( key );
                 if ( value != null ) {
                     break;
@@ -180,19 +171,17 @@
         return (value != null) ? value : defaultValue;
     }
 
-    public void mapStartsWith(Map map,
+    public void mapStartsWith(Map<String, String> map,
                               String startsWith,
                               boolean includeSubProperties) {
-        for ( Iterator it = this.props.iterator(); it.hasNext(); ) {
-            Properties props = (Properties) it.next();
+        for ( Properties props: this.props ) {
             mapStartsWith( map,
                            props,
                            startsWith,
                            includeSubProperties );
         }
 
-        for ( Iterator it = this.defaultProps.iterator(); it.hasNext(); ) {
-            Properties props = (Properties) it.next();
+        for ( Properties props: this.defaultProps ) {
             mapStartsWith( map,
                            props,
                            startsWith,
@@ -200,11 +189,11 @@
         }
     }
 
-    private void mapStartsWith(Map map,
+    private void mapStartsWith(Map<String, String> map,
                                Properties properties,
                                String startsWith,
                                boolean includeSubProperties) {
-        Enumeration enumeration = properties.propertyNames();
+        Enumeration<?> enumeration = properties.propertyNames();
         while ( enumeration.hasMoreElements() ) {
             String key = (String) enumeration.nextElement();
             if ( key.startsWith( startsWith ) ) {
@@ -222,8 +211,8 @@
         }
     }
 
-    private void loadProperties(Enumeration enumeration,
-                                List chain) {
+    private void loadProperties(Enumeration<URL> enumeration,
+                                List<Properties> chain) {
         if ( enumeration == null ) {
             return;
         }
@@ -236,7 +225,7 @@
     }
 
     private void loadProperties(String fileName,
-                                List chain) {
+                                List<Properties> chain) {
         if ( fileName != null ) {
             File file = new File( fileName );
             if ( file != null && file.exists() ) {
@@ -253,7 +242,7 @@
     }
 
     private void loadProperties(URL confURL,
-                                List chain) {
+                                List<Properties> chain) {
         if ( confURL == null ) {
             return;
         }




More information about the jboss-svn-commits mailing list