[jboss-svn-commits] JBL Code SVN: r23202 - in labs/jbossrules/branches/drools-api-refactor-20080929: drools-compiler/src/main/java/org/drools/compiler and 24 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Sep 29 23:55:04 EDT 2008


Author: mark.proctor at jboss.com
Date: 2008-09-29 23:55:04 -0400 (Mon, 29 Sep 2008)
New Revision: 23202

Added:
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/InternalProcess.java
Removed:
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/Process.java
Modified:
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/StatefulRuleSession.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/compiler/ProcessBuildError.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/compiler/ProcessBuilder.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/lang/descr/FunctionDescr.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/lang/descr/ProcessDescr.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/ActionNodeBuilder.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/EventBasedNodeBuilder.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/ExtendedNodeBuilder.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/ProcessNodeBuilder.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/SplitNodeBuilder.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/rule/builder/ProcessBuildContext.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/ProcessBuildData.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/XmlProcessReader.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/ExceptionHandlerHandler.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/GlobalHandler.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/ImportHandler.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/ProcessHandler.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/SwimlaneHandler.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/process/builder/StoreNodeBuilder.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/xml/StoreHandler.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/ProcessIntegrationException.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/RuleBaseConfiguration.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/InternalRuleBase.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/knowledge/definitions/impl/KnowledgePackageImp.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/knowledge/definitions/process/impl/ProcessImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/impl/ProcessImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/validation/ProcessValidationError.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/validation/ProcessValidator.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/validation/impl/ProcessValidationErrorImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/InternalProcessInstance.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/ProcessInstanceFactoryRegistry.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/impl/ProcessInstanceImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/rule/Package.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/rule/Rule.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/ruleflow/core/validation/RuleFlowProcessValidator.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/workflow/core/WorkflowProcess.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/workflow/instance/node/SubProcessNodeInstance.java
Log:
JBRULES-1734 Drools API
-Refactoring things to work with Process

JBRULES-1789 All resources to be loaded from URL and store the String

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/StatefulRuleSession.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/StatefulRuleSession.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/StatefulRuleSession.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -25,7 +25,7 @@
     
     Future<Object> asyncInsert( Object object );    
     Future<Object> asyncInsert( Object[] array );
-    Future<Object> asyncInsert( Iterable iterable );  
+    Future<Object> asyncInsert( Iterable<?> iterable );  
     
     Future<?> asyncFireAllRules();    
     

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -18,8 +18,10 @@
 
 import java.beans.IntrospectionException;
 import java.io.IOException;
+import java.io.InputStreamReader;
 import java.io.Reader;
 import java.lang.reflect.InvocationTargetException;
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -56,7 +58,7 @@
 import org.drools.lang.descr.RuleDescr;
 import org.drools.lang.descr.TypeDeclarationDescr;
 import org.drools.lang.descr.TypeFieldDescr;
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.reteoo.ReteooRuleBase;
 import org.drools.rule.CompositeClassLoader;
 import org.drools.rule.ImportDeclaration;
@@ -115,6 +117,8 @@
 
     private Map<String, Class>           globals;
 
+    private String                       url;
+
     /**
      * Use this when package is starting from scratch.
      */
@@ -259,6 +263,13 @@
         }
     }
 
+    public void addPackageFromURL(final URL url) throws DroolsParserException,
+                                                IOException {
+        this.url = url.toExternalForm();
+        addPackageFromDrl( new InputStreamReader( url.openStream() ) );
+        this.url = null;
+    }
+
     /**
      * Load a rule package from XML source.
      * 
@@ -280,6 +291,12 @@
         addPackage( xmlReader.getPackageDescr() );
     }
 
+    public void addPackageFromXml(final URL url) throws DroolsParserException,
+                                                IOException {
+        this.url = url.toExternalForm();
+        addPackageFromXml( new InputStreamReader( url.openStream() ) );
+    }
+
     /**
      * Load a rule package from DRL source using the supplied DSL configuration.
      * 
@@ -306,28 +323,23 @@
      * Add a ruleflow (.rfm) asset to this package.
      */
     public void addRuleFlow(Reader processSource) {
-        ProcessBuilder processBuilder = new ProcessBuilder( this );
+        addProcessFromXml( processSource );
+    }
 
+    public void addProcessFromXml(URL processSource) {
+        this.url = processSource.toExternalForm();
         try {
-            processBuilder.addProcessFromFile( processSource );
-            this.results.addAll( processBuilder.getErrors() );
-        } catch ( Exception e ) {
-            if ( e instanceof RuntimeException ) {
-                throw (RuntimeException) e;
-            }
-            this.results.add( new RuleFlowLoadError( "Unable to load the rule flow.",
-                                                     e ) );
+            addProcessFromXml( new InputStreamReader( processSource.openStream() ) );
+        } catch ( IOException e ) {
+            throw new RuntimeException( e );
         }
-
-        this.results = getResults( this.results );
+        this.url = null;
     }
-
-    public void addProcessFromXml(Reader reader) {
+    
+    public void addProcessFromXml(Reader processSource) {
         ProcessBuilder processBuilder = new ProcessBuilder( this );
-        XmlProcessReader xmlReader = new XmlProcessReader( this.configuration.getSemanticModules() );
         try {
-            Process process = xmlReader.read( reader );
-            processBuilder.buildProcess( process );
+            processBuilder.addProcessFromFile( processSource, url );
             this.results.addAll( processBuilder.getErrors() );
         } catch ( Exception e ) {
             if ( e instanceof RuntimeException ) {
@@ -766,6 +778,7 @@
     }
 
     private void addFunction(final FunctionDescr functionDescr) {
+        functionDescr.setUrl( this.url );
         PackageRegistry pkgRegistry = this.pkgRegistryMap.get( functionDescr.getNamespace() );
         Dialect dialect = pkgRegistry.getDialectCompiletimeRegistry().getDialect( functionDescr.getDialect() );
         dialect.addFunction( functionDescr,
@@ -813,6 +826,7 @@
 
     private void addRule(final RuleDescr ruleDescr) {
         // this.dialect.init( ruleDescr );
+        ruleDescr.setUrl( url );
 
         if ( ruleDescr instanceof QueryDescr ) {
             // ruleDescr.getLhs().insertDescr( 0, baseDescr );
@@ -830,6 +844,8 @@
 
         this.results.addAll( context.getErrors() );
 
+        context.getRule().setUrl( url );
+
         context.getDialect().addRule( context );
 
         if ( this.ruleBase != null ) {

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/compiler/ProcessBuildError.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/compiler/ProcessBuildError.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/compiler/ProcessBuildError.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -1,7 +1,7 @@
 package org.drools.compiler;
 
 import org.drools.lang.descr.BaseDescr;
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 
 public class ProcessBuildError extends DescrBuildError {
     private final Process process;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/compiler/ProcessBuilder.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/compiler/ProcessBuilder.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/compiler/ProcessBuilder.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -31,7 +31,8 @@
 import org.drools.process.builder.ProcessNodeBuilderRegistry;
 import org.drools.process.core.Context;
 import org.drools.process.core.ContextContainer;
-import org.drools.process.core.Process;
+import org.drools.process.core.InternalProcess;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.process.core.context.exception.ActionExceptionHandler;
 import org.drools.process.core.context.exception.ExceptionHandler;
 import org.drools.process.core.context.exception.ExceptionScope;
@@ -72,11 +73,12 @@
         return errors;
     }
 
-    public void buildProcess(final Process process) {
+    public void buildProcess(final Process process, String url) {
+        ((InternalProcess)process).setURL( url );
         boolean hasErrors = false;
-        ProcessValidator validator = processValidators.get(process.getType());
+        ProcessValidator validator = processValidators.get(((InternalProcess)process).getType());
         if (validator == null) {
-            System.out.println("Could not find validator for process " + process.getType() + ".");
+            System.out.println("Could not find validator for process " + ((InternalProcess)process).getType() + ".");
             System.out.println("Continuing without validation of the process " + process.getName() + "[" + process.getId() + "]");
         } else {
             ProcessValidationError[] errors = validator.validateProcess( (WorkflowProcess) process );
@@ -104,6 +106,7 @@
             
             ProcessDescr processDescr = new ProcessDescr();
             processDescr.setName(process.getPackageName());
+            processDescr.setUrl( url );
             PackageRegistry pkgRegistry = this.packageBuilder.getPackageRegistry( this.packageBuilder.getPackage().getName() );
             DialectCompiletimeRegistry dialectRegistry = pkgRegistry.getDialectCompiletimeRegistry();           
             Dialect dialect = dialectRegistry.getDialect( "java" );
@@ -117,7 +120,7 @@
                 dialectRegistry,
                 dialect);
 
-            buildContexts( process, buildContext );
+            buildContexts( ( ContextContainer ) process, buildContext );
             if (process instanceof WorkflowProcess) {
             	buildNodes( (WorkflowProcess) process, buildContext );
             }
@@ -177,7 +180,7 @@
         }
     }
 
-    public void addProcessFromFile(final Reader reader) throws Exception {
+    public void addProcessFromFile(final Reader reader, final String url) throws Exception {
         PackageBuilderConfiguration configuration = new PackageBuilderConfiguration();
         XmlProcessReader xmlReader = new XmlProcessReader( configuration.getSemanticModules() );
         
@@ -186,7 +189,7 @@
         try {
             Thread.currentThread().setContextClassLoader( newLoader );
             Process process = xmlReader.read(reader);
-            buildProcess( process );
+            buildProcess( process, url );
         } finally {
             Thread.currentThread().setContextClassLoader( oldLoader );
         }

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/lang/descr/FunctionDescr.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/lang/descr/FunctionDescr.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/lang/descr/FunctionDescr.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -42,6 +42,8 @@
     private int               offset;
 
     private String            className;
+    
+    private String            url;    
 
     public FunctionDescr(final String name,
                          final String returnType) {
@@ -55,8 +57,16 @@
 
     public String getNamespace() {
         return this.namespace;
+    }        
+
+    public String getUrl() {
+        return url;
     }
 
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
     public String getName() {
         return this.name;
     }

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/lang/descr/ProcessDescr.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/lang/descr/ProcessDescr.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/lang/descr/ProcessDescr.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -7,11 +7,12 @@
     implements
     Dialectable,
     Namespaceable {
-    
-    private String            namespace;
-    private String            dialect;    
+
+    private String namespace;
+    private String dialect;
     private String name;
     private String className;
+    private String url;
 
     public ProcessDescr() {
 
@@ -20,8 +21,16 @@
     public ProcessDescr(String name) {
         super();
         this.name = name;
+    }    
+    
+    public String getUrl() {
+        return url;
     }
 
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
     public String getName() {
         return name;
     }
@@ -37,7 +46,7 @@
     public void setClassName(String className) {
         this.className = className;
     }
-    
+
     public void setNamespace(String namespace) {
         this.namespace = namespace;
     }
@@ -45,13 +54,13 @@
     public String getNamespace() {
         return this.namespace;
     }
-    
+
     public void setDialect(String dialect) {
         this.dialect = dialect;
     }
 
     public String getDialect() {
         return this.dialect;
-    }    
+    }
 
 }

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -19,6 +19,7 @@
 import java.io.IOException;
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -43,6 +44,8 @@
     private String            salience;
 
     private String            className;
+    
+    private String               url;
 
 
     public RuleDescr() {
@@ -74,6 +77,7 @@
         attributes    = (List)in.readObject();
         salience    = (String)in.readObject();
         className    = (String)in.readObject();
+        url = ( String ) in.readObject();
     }
 
     public void writeExternal(ObjectOutput out) throws IOException {
@@ -90,6 +94,7 @@
         out.writeObject(attributes);
         out.writeObject(salience);
         out.writeObject(className);
+        out.writeObject( url );
     }
     
     public void setNamespace(String namespace) {
@@ -98,9 +103,17 @@
     
     public String getNamespace() {
         return this.namespace;
-    }
+    }        
     
 
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
     public String getName() {
         return this.name;
     }

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/ActionNodeBuilder.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/ActionNodeBuilder.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/ActionNodeBuilder.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -3,7 +3,7 @@
 import org.drools.compiler.Dialect;
 import org.drools.lang.descr.ActionDescr;
 import org.drools.lang.descr.ProcessDescr;
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.rule.builder.ProcessBuildContext;
 import org.drools.workflow.core.Node;
 import org.drools.workflow.core.impl.DroolsConsequenceAction;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/EventBasedNodeBuilder.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/EventBasedNodeBuilder.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/EventBasedNodeBuilder.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -3,7 +3,7 @@
 import java.util.Map;
 
 import org.drools.lang.descr.ProcessDescr;
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.process.core.timer.Timer;
 import org.drools.rule.builder.ProcessBuildContext;
 import org.drools.workflow.core.DroolsAction;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/ExtendedNodeBuilder.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/ExtendedNodeBuilder.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/ExtendedNodeBuilder.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -5,7 +5,7 @@
 import org.drools.compiler.Dialect;
 import org.drools.lang.descr.ActionDescr;
 import org.drools.lang.descr.ProcessDescr;
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.rule.builder.ProcessBuildContext;
 import org.drools.workflow.core.DroolsAction;
 import org.drools.workflow.core.Node;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/ProcessNodeBuilder.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/ProcessNodeBuilder.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/ProcessNodeBuilder.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -1,7 +1,7 @@
 package org.drools.process.builder;
 
 import org.drools.lang.descr.ProcessDescr;
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.rule.builder.ProcessBuildContext;
 import org.drools.workflow.core.Node;
 

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/SplitNodeBuilder.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/SplitNodeBuilder.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/process/builder/SplitNodeBuilder.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -7,7 +7,7 @@
 import org.drools.compiler.Dialect;
 import org.drools.compiler.ReturnValueDescr;
 import org.drools.lang.descr.ProcessDescr;
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.rule.builder.ProcessBuildContext;
 import org.drools.workflow.core.Connection;
 import org.drools.workflow.core.Constraint;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/rule/builder/ProcessBuildContext.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/rule/builder/ProcessBuildContext.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/rule/builder/ProcessBuildContext.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -5,7 +5,7 @@
 import org.drools.compiler.PackageBuilder;
 import org.drools.lang.descr.BaseDescr;
 import org.drools.lang.descr.ProcessDescr;
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.rule.Package;
 
 public class ProcessBuildContext extends PackageBuildContext {

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -48,7 +48,7 @@
 import org.drools.lang.descr.ProcessDescr;
 import org.drools.lang.descr.QueryDescr;
 import org.drools.lang.descr.RuleDescr;
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.rule.Function;
 import org.drools.rule.JavaDialectRuntimeData;
 import org.drools.rule.LineMappings;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/ProcessBuildData.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/ProcessBuildData.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/ProcessBuildData.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -6,9 +6,10 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.drools.process.core.Process;
 import org.drools.workflow.core.Node;
 
+import  org.drools.knowledge.definitions.process.Process;
+
 public class ProcessBuildData {
     
     private Process process;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/XmlProcessReader.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/XmlProcessReader.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/XmlProcessReader.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -6,10 +6,10 @@
 
 import javax.xml.parsers.SAXParser;
 
-import org.drools.process.core.Process;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 
+import org.drools.knowledge.definitions.process.Process;
 
 public class XmlProcessReader {
     private ExtensibleXmlParser parser;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/ExceptionHandlerHandler.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/ExceptionHandlerHandler.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/ExceptionHandlerHandler.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -3,7 +3,7 @@
 import java.util.HashSet;
 
 import org.drools.process.core.ContextContainer;
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.process.core.context.exception.ActionExceptionHandler;
 import org.drools.process.core.context.exception.ExceptionHandler;
 import org.drools.process.core.context.exception.ExceptionScope;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/GlobalHandler.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/GlobalHandler.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/GlobalHandler.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -4,7 +4,7 @@
 import java.util.HashSet;
 import java.util.Map;
 
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.workflow.core.impl.WorkflowProcessImpl;
 import org.drools.xml.BaseAbstractHandler;
 import org.drools.xml.ExtensibleXmlParser;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/ImportHandler.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/ImportHandler.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/ImportHandler.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -3,7 +3,7 @@
 import java.util.ArrayList;
 import java.util.HashSet;
 
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.workflow.core.impl.WorkflowProcessImpl;
 import org.drools.xml.BaseAbstractHandler;
 import org.drools.xml.ExtensibleXmlParser;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/ProcessHandler.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/ProcessHandler.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/ProcessHandler.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -62,7 +62,7 @@
     }
 
     public Class generateNodeFor() {
-        return org.drools.process.core.Process.class;
+        return org.drools.knowledge.definitions.process.Process.class;
     }    
 
 }

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/SwimlaneHandler.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/SwimlaneHandler.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/xml/processes/SwimlaneHandler.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -2,7 +2,7 @@
 
 import java.util.HashSet;
 
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.process.core.context.swimlane.Swimlane;
 import org.drools.process.core.context.swimlane.SwimlaneContext;
 import org.drools.workflow.core.impl.WorkflowProcessImpl;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -69,7 +69,7 @@
 import org.drools.lang.descr.TypeFieldDescr;
 import org.drools.lang.descr.VariableRestrictionDescr;
 import org.drools.process.core.Context;
-import org.drools.process.core.Process;
+import org.drools.process.core.InternalProcess;
 import org.drools.process.core.context.variable.Variable;
 import org.drools.reteoo.ReteooRuleBase;
 import org.drools.rule.Behavior;
@@ -96,6 +96,7 @@
 import org.drools.util.DroolsStreamUtils;
 import org.drools.util.LinkedList;
 import org.drools.workflow.core.impl.WorkflowProcessImpl;
+import org.drools.knowledge.definitions.process.Process;
 
 public class PackageBuilderTest extends DroolsTestCase {
 
@@ -1382,7 +1383,7 @@
 
     class MockRuleFlow
         implements
-        Process {
+        InternalProcess {
 
         private String id;
 
@@ -1470,6 +1471,16 @@
 
         }
 
+        public String getURL() {
+            // TODO Auto-generated method stub
+            return null;
+        }
+
+        public void setURL(String url) {
+            // TODO Auto-generated method stub
+            
+        }
+
     }
 
     class MockActivation

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/process/builder/StoreNodeBuilder.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/process/builder/StoreNodeBuilder.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/process/builder/StoreNodeBuilder.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -3,7 +3,7 @@
 import org.drools.compiler.Dialect;
 import org.drools.lang.descr.ActionDescr;
 import org.drools.lang.descr.ProcessDescr;
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.rule.builder.ProcessBuildContext;
 import org.drools.workflow.core.Node;
 import org.drools.workflow.core.impl.DroolsConsequenceAction;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/xml/StoreHandler.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/xml/StoreHandler.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/xml/StoreHandler.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -2,7 +2,7 @@
 
 import java.util.HashSet;
 
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.workflow.core.impl.DroolsConsequenceAction;
 import org.drools.workflow.core.impl.WorkflowProcessImpl;
 import org.drools.workflow.core.node.ActionNode;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/ProcessIntegrationException.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/ProcessIntegrationException.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/ProcessIntegrationException.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.rule.Rule;
 
 /**

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/RuleBaseConfiguration.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/RuleBaseConfiguration.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/RuleBaseConfiguration.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -33,7 +33,7 @@
 import org.drools.common.PriorityQueueAgendaGroupFactory;
 import org.drools.process.core.Context;
 import org.drools.process.core.ParameterDefinition;
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.process.core.WorkDefinition;
 import org.drools.process.core.datatype.DataType;
 import org.drools.process.core.impl.ParameterDefinitionImpl;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -45,7 +45,7 @@
 import org.drools.event.RuleBaseEventListener;
 import org.drools.event.RuleBaseEventSupport;
 import org.drools.marshalling.Marshaller;
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.rule.CompositeClassLoader;
 import org.drools.rule.DialectRuntimeRegistry;
 import org.drools.rule.FactType;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -58,7 +58,8 @@
 import org.drools.event.RuleFlowEventSupport;
 import org.drools.event.WorkingMemoryEventListener;
 import org.drools.event.WorkingMemoryEventSupport;
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
+import org.drools.process.core.ContextContainer;
 import org.drools.process.core.context.variable.VariableScope;
 import org.drools.process.instance.InternalProcessInstance;
 import org.drools.process.instance.ProcessInstance;
@@ -1494,7 +1495,7 @@
         processInstanceManager.addProcessInstance( processInstance );
         // set variable default values
         // TODO: should be part of processInstanceImpl?
-        VariableScope variableScope = (VariableScope) process.getDefaultContext( VariableScope.VARIABLE_SCOPE );
+        VariableScope variableScope = (VariableScope) ((ContextContainer) process).getDefaultContext( VariableScope.VARIABLE_SCOPE );
         VariableScopeInstance variableScopeInstance = (VariableScopeInstance) processInstance.getContextInstance( VariableScope.VARIABLE_SCOPE );
         // set input parameters
         if ( parameters != null ) {

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/InternalRuleBase.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/InternalRuleBase.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/InternalRuleBase.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -25,7 +25,7 @@
 import org.drools.RuleBase;
 import org.drools.RuleBaseConfiguration;
 import org.drools.StatefulSession;
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.reteoo.Rete;
 import org.drools.reteoo.ReteooWorkingMemory;
 import org.drools.rule.CompositeClassLoader;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -100,7 +100,7 @@
         return new FutureAdapter( this.session.asyncInsert( array ) );
     }
 
-    public Future<Object> asyncInsert(Iterable iterable) {
+    public Future<Object> asyncInsert(Iterable<?> iterable) {
         return new FutureAdapter( this.session.asyncInsert( iterable ) );
     }
 

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/knowledge/definitions/impl/KnowledgePackageImp.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/knowledge/definitions/impl/KnowledgePackageImp.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/knowledge/definitions/impl/KnowledgePackageImp.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -33,9 +33,9 @@
     }
     
     public Collection<Process> getProcesses() {
-    	Collection<org.drools.process.core.Process> processes = ( Collection<org.drools.process.core.Process> ) pkg.getRuleFlows().values();
+    	Collection<org.drools.process.core.InternalProcess> processes = ( Collection<org.drools.process.core.InternalProcess> ) pkg.getRuleFlows().values();
     	List<Process> list = new ArrayList<Process>( processes.size() );
-    	for( org.drools.process.core.Process process : processes ) {
+    	for( org.drools.process.core.InternalProcess process : processes ) {
     		list.add( new ProcessImpl( process ) );
     	}
     	return list;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/knowledge/definitions/process/impl/ProcessImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/knowledge/definitions/process/impl/ProcessImpl.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/knowledge/definitions/process/impl/ProcessImpl.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -1,6 +1,6 @@
 package org.drools.knowledge.definitions.process.impl;
 
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 
 public class ProcessImpl implements org.drools.knowledge.definitions.process.Process {
 	private Process process;

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/InternalProcess.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/InternalProcess.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/InternalProcess.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -0,0 +1,59 @@
+package org.drools.process.core;
+
+import org.drools.knowledge.definitions.process.Process;
+
+public interface InternalProcess extends Process, ContextContainer {
+
+    /**
+     * Sets the id of this process.
+     * The id should uniquely identify this process.
+     * @param id the id of the process
+     */
+    void setId(String id);
+
+    /**
+     * Sets the name of this process.
+     * @param name the name of this process
+     */
+    void setName(String name);
+
+    /**
+     * Sets the version of this process.
+     * @param version the version of this process
+     */
+    void setVersion(String version);
+
+    /**
+     * Returns the version of this process.
+     * If no version is specified, null is returned.
+     * @return the version of this process
+     */
+    String getVersion();
+
+    /**
+     * Sets the type of this process.
+     * @param type the type of this process
+     */
+    void setType(String type);
+
+    /**
+     * Returns the type of this process.
+     * @return the type of this process
+     */
+    String getType();
+    
+    void setURL(String url);
+    
+    String getURL();
+    
+    /**
+     * Sets the package name of this RuleFlow process
+     * 
+     * @param packageName   the package name of this RuleFlow process
+     */
+    void setPackageName(String packageName);
+    
+    void setMetaData(String name, Object value);
+    
+    Object getMetaData(String name);
+}

Deleted: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/Process.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/Process.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/Process.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -1,101 +0,0 @@
-package org.drools.process.core;
-
-
-
-/*
- * 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.
- */
-
-/**
- * Represents a some process definition.
- * A process has a name and a unique id.
- * When a new version of a process is created, the name stays the same,
- * but the id and the version of the process should be different.
- * Different types of processes could be defined (like RuleFlow).
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public interface Process extends ContextContainer {
-
-    /**
-     * Sets the id of this process.
-     * The id should uniquely identify this process.
-     * @param id the id of the process
-     */
-    void setId(String id);
-
-    /**
-     * Returns the id of this process.
-     * @return the id of this process
-     */
-    String getId();
-
-    /**
-     * Sets the name of this process.
-     * @param name the name of this process
-     */
-    void setName(String name);
-
-    /**
-     * Returns the name of this process.
-     * If no name is specified, null is returned.
-     * @return the name of this process
-     */
-    String getName();
-
-    /**
-     * Sets the version of this process.
-     * @param version the version of this process
-     */
-    void setVersion(String version);
-
-    /**
-     * Returns the version of this process.
-     * If no version is specified, null is returned.
-     * @return the version of this process
-     */
-    String getVersion();
-
-    /**
-     * Sets the type of this process.
-     * @param type the type of this process
-     */
-    void setType(String type);
-
-    /**
-     * Returns the type of this process.
-     * @return the type of this process
-     */
-    String getType();
-    
-    /**
-     * Sets the package name of this RuleFlow process
-     * 
-     * @param packageName	the package name of this RuleFlow process
-     */
-    void setPackageName(String packageName);
-
-    /**
-     * Returns the package name of this RuleFlow process
-     * 
-     * @return	the package name of this RuleFlow process
-     */
-    String getPackageName();
-    
-    void setMetaData(String name, Object value);
-    
-    Object getMetaData(String name);
-
-}

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/impl/ProcessImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/impl/ProcessImpl.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/impl/ProcessImpl.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -23,7 +23,8 @@
 
 import org.drools.process.core.Context;
 import org.drools.process.core.ContextContainer;
-import org.drools.process.core.Process;
+import org.drools.process.core.InternalProcess;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.process.core.context.AbstractContext;
 
 /**
@@ -31,7 +32,7 @@
  * 
  * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
  */
-public class ProcessImpl implements Process, Serializable {
+public class ProcessImpl implements InternalProcess, Serializable {
     
     private static final long serialVersionUID = 400L;
 
@@ -40,6 +41,7 @@
     private String version;
     private String type;
     private String packageName;
+    private String url;
     private ContextContainer contextContainer = new ContextContainerImpl();
     private Map<String, Object> metaData = new HashMap<String, Object>();
     
@@ -82,6 +84,8 @@
 	public void setPackageName(String packageName) {
 		this.packageName = packageName;
 	}
+	
+	
 
 	public List<Context> getContexts(String contextType) {
 	    return this.contextContainer.getContexts(contextType);
@@ -133,5 +137,13 @@
     public Object getMetaData(String name) {
         return this.metaData.get(name);
     }
+
+    public String getURL() {
+        return this.url;
+    }
+
+    public void setURL(String url) {
+        this.url = url;        
+    }
     
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/validation/ProcessValidationError.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/validation/ProcessValidationError.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/validation/ProcessValidationError.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -16,8 +16,7 @@
  * limitations under the License.
  */
 
-import org.drools.process.core.Process;
-
+import org.drools.knowledge.definitions.process.Process;
 /**
  * Represents a RuleFlow validation error. 
  * 

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/validation/ProcessValidator.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/validation/ProcessValidator.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/validation/ProcessValidator.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -1,7 +1,5 @@
 package org.drools.process.core.validation;
 
-import org.drools.process.core.Process;
-
 /*
  * Copyright 2005 JBoss Inc
  * 
@@ -18,6 +16,8 @@
  * limitations under the License.
  */
 
+
+import org.drools.knowledge.definitions.process.Process;
 /**
  * A validator for validating a RuleFlow process. 
  * 

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/validation/impl/ProcessValidationErrorImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/validation/impl/ProcessValidationErrorImpl.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/core/validation/impl/ProcessValidationErrorImpl.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -1,6 +1,6 @@
 package org.drools.process.core.validation.impl;
 
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.process.core.validation.ProcessValidationError;
 
 public class ProcessValidationErrorImpl implements ProcessValidationError {

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/InternalProcessInstance.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/InternalProcessInstance.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/InternalProcessInstance.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -19,7 +19,7 @@
 import org.drools.Agenda;
 import org.drools.WorkingMemory;
 import org.drools.common.InternalWorkingMemory;
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 
 /**
  * A process instance is the representation of a process during its execution.

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/ProcessInstanceFactoryRegistry.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/ProcessInstanceFactoryRegistry.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/ProcessInstanceFactoryRegistry.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -3,7 +3,7 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.ruleflow.core.RuleFlowProcess;
 import org.drools.ruleflow.instance.RuleFlowProcessInstanceFactory;
 

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/impl/ProcessInstanceImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/impl/ProcessInstanceImpl.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/impl/ProcessInstanceImpl.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -27,9 +27,10 @@
 import org.drools.common.InternalWorkingMemory;
 import org.drools.process.core.Context;
 import org.drools.process.core.ContextContainer;
-import org.drools.process.core.Process;
+import org.drools.process.core.InternalProcess;
 import org.drools.process.instance.ContextInstance;
 import org.drools.process.instance.InternalProcessInstance;
+import org.drools.knowledge.definitions.process.Process;
 
 /**
  * Default implementation of a process instance.
@@ -40,7 +41,7 @@
 
     private long id;
     private String processId;
-    private transient Process process;
+    private transient InternalProcess process;
     private int state = STATE_PENDING;
     private Map<String, ContextInstance> contextInstances = new HashMap<String, ContextInstance>();
     private Map<String, List<ContextInstance>> subContextInstances = new HashMap<String, List<ContextInstance>>();
@@ -56,12 +57,12 @@
 
     public void setProcess(final Process process) {
         this.processId = process.getId();
-        this.process = process;
+        this.process = ( InternalProcess ) process;
     }
 
     public Process getProcess() {
         if (this.process == null) {
-            this.process = ((InternalRuleBase) workingMemory.getRuleBase())
+            this.process = ( InternalProcess ) ((InternalRuleBase) workingMemory.getRuleBase())
                 .getProcess(processId);
         }
         return this.process;
@@ -95,7 +96,7 @@
     }
     
     public ContextContainer getContextContainer() {
-        return getProcess();
+        return ( ContextContainer ) getProcess();
     }
     
     public void setContextInstance(String contextId, ContextInstance contextInstance) {
@@ -107,7 +108,7 @@
         if (contextInstance != null) {
             return contextInstance;
         }
-        Context context = getProcess().getDefaultContext(contextId);
+        Context context = ((ContextContainer)getProcess()).getDefaultContext(contextId);
         if (context != null) {
             contextInstance = getContextInstance(context);
             return contextInstance;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/rule/Package.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/rule/Package.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/rule/Package.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -36,7 +36,7 @@
 import org.drools.common.DroolsObjectInputStream;
 import org.drools.common.DroolsObjectOutputStream;
 import org.drools.facttemplates.FactTemplate;
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 
 /**
  * Collection of related <code>Rule</code>s.

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/rule/Rule.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/rule/Rule.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/rule/Rule.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -20,6 +20,7 @@
 import java.io.IOException;
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
+import java.net.URL;
 import java.util.Calendar;
 import java.util.Iterator;
 import java.util.Map;
@@ -62,10 +63,10 @@
     private String            pkg;
 
     /** Name of the rule. */
-    private String      name;
+    private String            name;
 
     /** Salience value. */
-    private Salience               salience;
+    private Salience          salience;
 
     /** The Rule is dirty after patterns have been added */
     private boolean           dirty;
@@ -109,61 +110,66 @@
     private Calendar          dateExpires;
 
     private boolean           enabled;
+    
+    private String            url;
 
     public void writeExternal(ObjectOutput out) throws IOException {
-        out.writeObject(pkg);
-        out.writeObject(name);
-        out.writeObject(salience);
-        out.writeBoolean(dirty);
-        out.writeObject(declarations);
-        out.writeObject(declarationArray);
-        out.writeObject(lhsRoot);
-        out.writeObject(dialect);
-        out.writeObject(agendaGroup);
-        
+        out.writeObject( pkg );
+        out.writeObject( name );
+        out.writeObject( salience );
+        out.writeBoolean( dirty );
+        out.writeObject( declarations );
+        out.writeObject( declarationArray );
+        out.writeObject( lhsRoot );
+        out.writeObject( dialect );
+        out.writeObject( agendaGroup );
+
         if ( this.consequence instanceof CompiledInvoker ) {
-            out.writeObject(  null );
+            out.writeObject( null );
         } else {
-            out.writeObject(this.consequence);   
-        } 
-        
-        out.writeObject(duration);
-        out.writeLong(loadOrder);
-        out.writeBoolean(noLoop);
-        out.writeBoolean(autoFocus);
-        out.writeObject(activationGroup);
-        out.writeObject(ruleFlowGroup);
-        out.writeBoolean(lockOnActive);
-        out.writeBoolean(hasLogicalDependency);
-        out.writeBoolean(semanticallyValid);
-        out.writeObject(dateEffective);
-        out.writeObject(dateExpires);
-        out.writeBoolean(enabled);
+            out.writeObject( this.consequence );
+        }
+
+        out.writeObject( duration );
+        out.writeLong( loadOrder );
+        out.writeBoolean( noLoop );
+        out.writeBoolean( autoFocus );
+        out.writeObject( activationGroup );
+        out.writeObject( ruleFlowGroup );
+        out.writeBoolean( lockOnActive );
+        out.writeBoolean( hasLogicalDependency );
+        out.writeBoolean( semanticallyValid );
+        out.writeObject( dateEffective );
+        out.writeObject( dateExpires );
+        out.writeBoolean( enabled );
     }
-    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
-        pkg = (String)in.readObject();
-        name = (String)in.readObject();
-        salience = (Salience)in.readObject();
+
+    public void readExternal(ObjectInput in) throws IOException,
+                                            ClassNotFoundException {
+        pkg = (String) in.readObject();
+        name = (String) in.readObject();
+        salience = (Salience) in.readObject();
         dirty = in.readBoolean();
-        declarations    = (Map)in.readObject();
-        declarationArray = (Declaration[])in.readObject();
-        lhsRoot = (GroupElement)in.readObject();
-        dialect = (String)in.readObject();
-        agendaGroup = (String)in.readObject();
-        consequence = (Consequence)in.readObject();
-        duration = (Duration)in.readObject();
-        loadOrder   = in.readLong();
+        declarations = (Map) in.readObject();
+        declarationArray = (Declaration[]) in.readObject();
+        lhsRoot = (GroupElement) in.readObject();
+        dialect = (String) in.readObject();
+        agendaGroup = (String) in.readObject();
+        consequence = (Consequence) in.readObject();
+        duration = (Duration) in.readObject();
+        loadOrder = in.readLong();
         noLoop = in.readBoolean();
         autoFocus = in.readBoolean();
-        activationGroup = (String)in.readObject();
-        ruleFlowGroup = (String)in.readObject();
+        activationGroup = (String) in.readObject();
+        ruleFlowGroup = (String) in.readObject();
         lockOnActive = in.readBoolean();
         hasLogicalDependency = in.readBoolean();
         semanticallyValid = in.readBoolean();
-        dateEffective   = (Calendar)in.readObject();
-        dateExpires = (Calendar)in.readObject();
+        dateEffective = (Calendar) in.readObject();
+        dateExpires = (Calendar) in.readObject();
         enabled = in.readBoolean();
     }
+
     // ------------------------------------------------------------
     // Constructors
     // ------------------------------------------------------------
@@ -209,8 +215,16 @@
               null,
               AgendaGroup.MAIN );
     }
+    
+    
 
+    public String getUrl() {
+        return url;
+    }
 
+    public void setUrl(String url) {
+        this.url = url;
+    }
 
     public String getDialect() {
         return dialect;
@@ -292,7 +306,7 @@
         return this.pkg;
     }
 
-    public void setPackage( String pkg ) {
+    public void setPackage(String pkg) {
         this.pkg = pkg;
     }
 
@@ -324,9 +338,9 @@
     }
 
     public String getAgendaGroup() {
-    	if( this.agendaGroup == null || this.agendaGroup.equals( "" ) ) {
-    		return AgendaGroup.MAIN;
-    	}
+        if ( this.agendaGroup == null || this.agendaGroup.equals( "" ) ) {
+            return AgendaGroup.MAIN;
+        }
         return this.agendaGroup;
     }
 
@@ -516,10 +530,10 @@
 
         return specificity;
     }
-    
+
     public void wire(Object object) {
         if ( object instanceof Salience ) {
-            setSalience( (Salience ) object );
+            setSalience( (Salience) object );
         } else {
             setConsequence( (Consequence) object );
         }
@@ -610,7 +624,6 @@
         this.dateExpires = expiresDate;
     }
 
-
     public Calendar getDateEffective() {
         return this.dateEffective;
     }

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/ruleflow/core/validation/RuleFlowProcessValidator.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/ruleflow/core/validation/RuleFlowProcessValidator.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/ruleflow/core/validation/RuleFlowProcessValidator.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -22,7 +22,7 @@
 import java.util.List;
 import java.util.Map;
 
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.process.core.Work;
 import org.drools.process.core.context.variable.Variable;
 import org.drools.process.core.validation.ProcessValidationError;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/workflow/core/WorkflowProcess.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/workflow/core/WorkflowProcess.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/workflow/core/WorkflowProcess.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -19,14 +19,14 @@
 import java.util.List;
 import java.util.Map;
 
-import org.drools.process.core.Process;
+import org.drools.process.core.InternalProcess;
 
 /**
  * Represents a RuleFlow process. 
  * 
  * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
  */
-public interface WorkflowProcess extends Process, NodeContainer {
+public interface WorkflowProcess extends InternalProcess, NodeContainer {
 
     /**
      * Returns the imports of this RuleFlow process.

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/workflow/instance/node/SubProcessNodeInstance.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/workflow/instance/node/SubProcessNodeInstance.java	2008-09-30 02:19:39 UTC (rev 23201)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/workflow/instance/node/SubProcessNodeInstance.java	2008-09-30 03:55:04 UTC (rev 23202)
@@ -20,7 +20,7 @@
 import java.util.Map;
 
 import org.drools.common.InternalRuleBase;
-import org.drools.process.core.Process;
+import org.drools.knowledge.definitions.process.Process;
 import org.drools.process.core.context.variable.VariableScope;
 import org.drools.process.instance.EventListener;
 import org.drools.process.instance.InternalProcessInstance;




More information about the jboss-svn-commits mailing list