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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Nov 5 20:16:38 EST 2008


Author: mark.proctor at jboss.com
Date: 2008-11-05 20:16:38 -0500 (Wed, 05 Nov 2008)
New Revision: 23731

Added:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/PropertiesConfiguration.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ClassObjectFilter.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ObjectFilter.java
Modified:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseConfiguration.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderConfiguration.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemory.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ProcessActionTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/TruthMaintenanceTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/RuleBaseConfiguration.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/StatelessSessionResult.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ObjectStore.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SingleThreadedObjectStore.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteStatelessSessionResult.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/JavaIteratorAdapter.java
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/business/SolutionBusiness.java
Log:
JBRULES-1734 Drools API 
-Added Property access for knowledgebuilder and knowledgebase configurations
-fixed issue where ObjectFilter and ClassObjectFilter where not in org.drools namespace

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseConfiguration.java	2008-11-05 23:07:53 UTC (rev 23730)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/KnowledgeBaseConfiguration.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -1,5 +1,5 @@
 package org.drools;
 
-public interface KnowledgeBaseConfiguration {
+public interface KnowledgeBaseConfiguration  extends PropertiesConfiguration  {
 
 }

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/PropertiesConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/PropertiesConfiguration.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/PropertiesConfiguration.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -0,0 +1,6 @@
+package org.drools;
+
+public interface PropertiesConfiguration {
+    public void setProperty(String name, String value);
+    public String getProperty(String name);
+}

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderConfiguration.java	2008-11-05 23:07:53 UTC (rev 23730)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderConfiguration.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -1,6 +1,7 @@
 package org.drools.builder;
 
-public interface KnowledgeBuilderConfiguration {
-    public void setProperty(String name, String value);
-    public String getProperty(String name);
+import org.drools.PropertiesConfiguration;
+
+public interface KnowledgeBuilderConfiguration extends PropertiesConfiguration {
+
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemory.java	2008-11-05 23:07:53 UTC (rev 23730)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemory.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -2,8 +2,8 @@
 
 import java.util.Collection;
 
+import org.drools.runtime.ObjectFilter;
 import org.drools.event.rule.WorkingMemoryEventManager;
-import org.drools.runtime.ObjectFilter;
 import org.drools.time.SessionClock;
 
 public interface WorkingMemory extends WorkingMemoryEventManager, WorkingMemoryEntryPoint {

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-11-05 23:07:53 UTC (rev 23730)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -42,6 +42,7 @@
 import org.drools.CheeseEqual;
 import org.drools.Cheesery;
 import org.drools.Child;
+import org.drools.ClassObjectFilter;
 import org.drools.DomainObjectHolder;
 import org.drools.FactA;
 import org.drools.FactB;
@@ -112,7 +113,6 @@
 import org.drools.rule.InvalidRulePackage;
 import org.drools.rule.Package;
 import org.drools.rule.builder.dialect.java.JavaDialectConfiguration;
-import org.drools.runtime.ClassObjectFilter;
 import org.drools.FactHandle;
 import org.drools.WorkingMemory;
 import org.drools.spi.Activation;

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ProcessActionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ProcessActionTest.java	2008-11-05 23:07:53 UTC (rev 23730)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ProcessActionTest.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -9,6 +9,7 @@
 import junit.framework.TestCase;
 
 import org.drools.Message;
+import org.drools.runtime.ObjectFilter;
 import org.drools.RuleBase;
 import org.drools.RuleBaseFactory;
 import org.drools.compiler.DroolsError;
@@ -19,7 +20,6 @@
 import org.drools.process.instance.WorkItemHandler;
 import org.drools.process.instance.WorkItemManager;
 import org.drools.rule.Package;
-import org.drools.runtime.ObjectFilter;
 import org.drools.WorkingMemory;
 
 public class ProcessActionTest extends TestCase {

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/TruthMaintenanceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/TruthMaintenanceTest.java	2008-11-05 23:07:53 UTC (rev 23730)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/TruthMaintenanceTest.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -9,6 +9,7 @@
 
 import org.drools.Cheese;
 import org.drools.CheeseEqual;
+import org.drools.ClassObjectFilter;
 import org.drools.KnowledgeBase;
 import org.drools.KnowledgeBaseConfiguration;
 import org.drools.KnowledgeBaseFactory;
@@ -31,7 +32,6 @@
 import org.drools.event.WorkingMemoryEventListener;
 import org.drools.impl.StatefulKnowledgeSessionImpl;
 import org.drools.rule.Package;
-import org.drools.runtime.ClassObjectFilter;
 import org.drools.runtime.StatefulKnowledgeSession;
 import org.drools.runtime.rule.FactHandle;
 import org.drools.util.ObjectHashMap;

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java	2008-11-05 23:07:53 UTC (rev 23730)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -13,6 +13,7 @@
 
 import org.drools.Agenda;
 import org.drools.FactException;
+import org.drools.ObjectFilter;
 import org.drools.QueryResults;
 import org.drools.RuleBase;
 import org.drools.WorkingMemoryEntryPoint;
@@ -48,7 +49,6 @@
 import org.drools.rule.EntryPoint;
 import org.drools.rule.Rule;
 import org.drools.rule.TimeMachine;
-import org.drools.runtime.ObjectFilter;
 import org.drools.FactHandle;
 import org.drools.spi.Activation;
 import org.drools.spi.AgendaFilter;
@@ -376,12 +376,12 @@
         return null;
     }
 
-    public Iterator< ? > iterateFactHandles(ObjectFilter filter) {
+    public Iterator< ? > iterateFactHandles(org.drools.runtime.ObjectFilter filter) {
         // TODO Auto-generated method stub
         return null;
     }
 
-    public Iterator< ? > iterateObjects(ObjectFilter filter) {
+    public Iterator< ? > iterateObjects(org.drools.runtime.ObjectFilter filter) {
         // TODO Auto-generated method stub
         return null;
     }

Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ClassObjectFilter.java (from rev 23720, labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/ClassObjectFilter.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ClassObjectFilter.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ClassObjectFilter.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -0,0 +1,16 @@
+package org.drools;
+
+
+/**
+ * Filters Objects by Class, only accepting Classes of the specified type
+ * @author mproctor
+ *
+ */
+public class ClassObjectFilter extends  org.drools.runtime.ClassObjectFilter {
+
+    public ClassObjectFilter(Class clazz) {
+        super( clazz );
+    }
+
+    
+}

Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ObjectFilter.java (from rev 23720, labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/ObjectFilter.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ObjectFilter.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ObjectFilter.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -0,0 +1,10 @@
+package org.drools;
+
+/**
+ * ObjectFilter is used with WorkingMemories to filter out instances during Iteration
+ * @author mproctor
+ *
+ */
+public interface ObjectFilter extends org.drools.runtime.ObjectFilter {
+
+}

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/RuleBaseConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/RuleBaseConfiguration.java	2008-11-05 23:07:53 UTC (rev 23730)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/RuleBaseConfiguration.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -235,7 +235,114 @@
         init( classLoader,
               null );
     }
+    
+    public boolean isEmpty(String value) {
+        if ( value == null || value.trim().length() == 0 ) {
+            return true;
+        } else {
+            return false;
+        }
+    }
 
+    public void setProperty(String name,
+                            String value) {
+        if ( name == null ) {
+            return;
+        }
+
+        if ( name.equals( "drools.sequential.agenda" ) ) {
+            setSequentialAgenda( SequentialAgenda.determineSequentialAgenda( isEmpty( value ) ? "sequential" : value ) );
+        } else if ( name.equals( "drools.sequential" ) ) {
+            setSequential( isEmpty( value) ? false : Boolean.valueOf( value ) );
+        } else if ( name.equals( "drools.maintainTms" ) ) {
+            setMaintainTms( isEmpty( value) ? false : Boolean.valueOf( value ) );
+        } else if ( name.equals( "drools.removeIdentities" ) ) {
+            setRemoveIdentities( isEmpty( value) ? false : Boolean.valueOf( value ) );
+        } else if ( name.equals( "drools.shareAlphaNodes" ) ) {
+            setShareAlphaNodes( isEmpty( value) ? false : Boolean.valueOf( value ) );
+        } else if ( name.equals( "drools.shareBetaNodes" ) ) {
+            setShareBetaNodes( isEmpty( value) ? false : Boolean.valueOf( value ) );
+        } else if ( name.equals( "drools.alphaNodeHashingThreshold" ) ) {
+            setAlphaNodeHashingThreshold( isEmpty( value) ? 3 : Integer.parseInt( value ));
+        } else if ( name.equals( "drools.compositeKeyDepth" ) ) {
+            setCompositeKeyDepth( isEmpty( value) ? 3 : Integer.parseInt( value ) );
+        } else if ( name.equals( "drools.indexLeftBetaMemory" ) ) {
+            setIndexLeftBetaMemory( isEmpty( value) ? true : Boolean.valueOf( value ) );
+        } else if ( name.equals( "drools.indexRightBetaMemory" ) ) {
+            setIndexRightBetaMemory( isEmpty( value) ? true : Boolean.valueOf( value ) );
+        } else if ( name.equals( "drools.assertBehaviour" ) ) {
+            setAssertBehaviour( AssertBehaviour.determineAssertBehaviour( isEmpty( value) ? "identity" : value ) );
+        } else if ( name.equals( "drools.logicalOverride" ) ) {
+            setLogicalOverride( LogicalOverride.determineLogicalOverride( isEmpty( value) ? "discard" : value ) );
+        } else if ( name.equals( "drools.executorService" ) ) {
+            setExecutorService( isEmpty( value) ? "org.drools.concurrent.DefaultExecutorService" : value );
+        } else if ( name.equals( "drools.consequenceExceptionHandler" ) ) {
+            setConsequenceExceptionHandler( RuleBaseConfiguration.determineConsequenceExceptionHandler( isEmpty( value) ? "org.drools.base.DefaultConsequenceExceptionHandler" : value ) );
+        } else if ( name.equals( "drools.ruleBaseUpdateHandler" ) ) {
+            setRuleBaseUpdateHandler( isEmpty( value) ? "org.drools.base.FireAllRulesRuleBaseUpdateListener" : value );
+        } else if ( name.equals( "drools.conflictResolver" ) ) {
+            setConflictResolver( RuleBaseConfiguration.determineConflictResolver( isEmpty( value) ? "org.drools.conflict.DepthConflictResolver" : value ) );
+        } else if ( name.equals( "drools.conflictResolver" ) ) {
+            setAdvancedProcessRuleIntegration(  isEmpty( value) ? false : Boolean.valueOf( value ) );
+        } else if ( name.equals( "drools.multithreadEvaluation" ) ) {
+            setMultithreadEvaluation(  isEmpty( value) ? false : Boolean.valueOf( value ) );
+        }  else if ( name.equals( "drools.maxThreads" ) ) {
+            setMaxThreads(  isEmpty( value) ? -1 : Integer.parseInt( value ) );
+        } else if ( name.equals( "drools.eventProcessingMode" ) ) {
+            setEventProcessingMode( EventProcessingMode.determineAssertBehaviour( isEmpty( value) ? "cloud" : value ) );
+        } 
+    }
+
+    public String getProperty(String name) {
+        if ( name == null ) {
+            return null;
+        }
+
+        if ( name.equals( "drools.sequential.agenda" ) ) {
+            return getSequentialAgenda().toExternalForm();
+        } else if ( name.equals( "drools.sequential" ) ) {
+            return Boolean.toString( isSequential() );
+        } else if ( name.equals( "drools.maintainTms" ) ) {
+            return Boolean.toString( isMaintainTms() );
+        } else if ( name.equals( "drools.removeIdentities" ) ) {
+            return Boolean.toString( isRemoveIdentities() );
+        } else if ( name.equals( "drools.shareAlphaNodes" ) ) {
+            return Boolean.toString( isShareAlphaNodes() );
+        } else if ( name.equals( "drools.shareBetaNodes" ) ) {
+            return Boolean.toString( isShareBetaNodes() );
+        } else if ( name.equals( "drools.alphaNodeHashingThreshold" ) ) {
+            return Integer.toString( getAlphaNodeHashingThreshold() );
+        } else if ( name.equals( "drools.compositeKeyDepth" ) ) {
+            return Integer.toString( getCompositeKeyDepth() );
+        } else if ( name.equals( "drools.indexLeftBetaMemory" ) ) {
+            return Boolean.toString( isIndexLeftBetaMemory() );
+        } else if ( name.equals( "drools.indexRightBetaMemory" ) ) {
+            return Boolean.toString( isIndexRightBetaMemory() );
+        } else if ( name.equals( "drools.assertBehaviour" ) ) {
+            return getAssertBehaviour().toExternalForm();
+        } else if ( name.equals( "drools.logicalOverride" ) ) {
+            return getLogicalOverride().toExternalForm();
+        } else if ( name.equals( "drools.executorService" ) ) {
+            return getExecutorService();
+        } else if ( name.equals( "drools.consequenceExceptionHandler" ) ) {
+            return getConsequenceExceptionHandler().getClass().getName();
+        } else if ( name.equals( "drools.ruleBaseUpdateHandler" ) ) {
+            return getRuleBaseUpdateHandler();
+        } else if ( name.equals( "drools.conflictResolver" ) ) {
+            return getConflictResolver().getClass().getName();
+        } else if ( name.equals( "drools.conflictResolver" ) ) {
+            return Boolean.toString( isAdvancedProcessRuleIntegration() );
+        } else if ( name.equals( "drools.multithreadEvaluation" ) ) {
+            Boolean.toString( isMultithreadEvaluation() );
+        }  else if ( name.equals( "drools.maxThreads" ) ) {
+            return Integer.toString( getMaxThreads() );
+        } else if ( name.equals( "drools.eventProcessingMode" ) ) {
+            return getEventProcessingMode().toExternalForm();
+        } 
+        
+        return null;
+    }
+
     /**
      * A constructor that sets the classloader to be used as the parent classloader
      * of this rule base classloaders, and the properties to be used
@@ -540,7 +647,7 @@
     public boolean isMultithreadEvaluation() {
         return this.multithread;
     }
-    
+
     /**
      * If multi-thread evaluation is enabled, this parameter configures the 
      * maximum number of threads each session can use for concurrent Rete
@@ -551,10 +658,10 @@
      *                   of threads equal to the number of partitions in the
      *                   rule base. Default number of threads is 0. 
      */
-    public void setMaxThreads( final int maxThreads ) {
-    	this.maxThreads = maxThreads;
+    public void setMaxThreads(final int maxThreads) {
+        this.maxThreads = maxThreads;
     }
-    
+
     /**
      * Returns the configured number of maximum threads to use for concurrent
      * propagation when multi-thread evaluation is enabled. Default is zero.
@@ -562,7 +669,7 @@
      * @return
      */
     public int getMaxThreads() {
-    	return this.maxThreads;
+        return this.maxThreads;
     }
 
     private void initProcessNodeInstanceFactoryRegistry() {
@@ -692,39 +799,39 @@
                                                                                   null,
                                                                                   RuleBaseConfiguration.class ) );
         try {
-        	List<Map<String, Object>> workDefinitionsMap = (List<Map<String, Object>>) MVEL.eval( content,
-                                                                                              new HashMap() );
-	        for ( Map<String, Object> workDefinitionMap : workDefinitionsMap ) {
-	            WorkDefinitionExtensionImpl workDefinition = new WorkDefinitionExtensionImpl();
-	            workDefinition.setName( (String) workDefinitionMap.get( "name" ) );
-	            workDefinition.setDisplayName( (String) workDefinitionMap.get( "displayName" ) );
-	            workDefinition.setIcon( (String) workDefinitionMap.get( "icon" ) );
-	            workDefinition.setCustomEditor( (String) workDefinitionMap.get( "customEditor" ) );
-	            Set<ParameterDefinition> parameters = new HashSet<ParameterDefinition>();
-	            Map<String, DataType> parameterMap = (Map<String, DataType>) workDefinitionMap.get( "parameters" );
-	            if ( parameterMap != null ) {
-	                for ( Map.Entry<String, DataType> entry : parameterMap.entrySet() ) {
-	                    parameters.add( new ParameterDefinitionImpl( entry.getKey(),
-	                                                                 entry.getValue() ) );
-	                }
-	            }
-	            workDefinition.setParameters( parameters );
-	            Set<ParameterDefinition> results = new HashSet<ParameterDefinition>();
-	            Map<String, DataType> resultMap = (Map<String, DataType>) workDefinitionMap.get( "results" );
-	            if ( resultMap != null ) {
-	                for ( Map.Entry<String, DataType> entry : resultMap.entrySet() ) {
-	                    results.add( new ParameterDefinitionImpl( entry.getKey(),
-	                                                              entry.getValue() ) );
-	                }
-	            }
-	            workDefinition.setResults( results );
-	            this.workDefinitions.put( workDefinition.getName(),
-	                                      workDefinition );
-	        }
-        } catch (Throwable t) {
-        	System.err.println("Error occured while loading work definitions " + location);
-        	System.err.println("Continuing without reading these work definitions");
-        	t.printStackTrace();
+            List<Map<String, Object>> workDefinitionsMap = (List<Map<String, Object>>) MVEL.eval( content,
+                                                                                                  new HashMap() );
+            for ( Map<String, Object> workDefinitionMap : workDefinitionsMap ) {
+                WorkDefinitionExtensionImpl workDefinition = new WorkDefinitionExtensionImpl();
+                workDefinition.setName( (String) workDefinitionMap.get( "name" ) );
+                workDefinition.setDisplayName( (String) workDefinitionMap.get( "displayName" ) );
+                workDefinition.setIcon( (String) workDefinitionMap.get( "icon" ) );
+                workDefinition.setCustomEditor( (String) workDefinitionMap.get( "customEditor" ) );
+                Set<ParameterDefinition> parameters = new HashSet<ParameterDefinition>();
+                Map<String, DataType> parameterMap = (Map<String, DataType>) workDefinitionMap.get( "parameters" );
+                if ( parameterMap != null ) {
+                    for ( Map.Entry<String, DataType> entry : parameterMap.entrySet() ) {
+                        parameters.add( new ParameterDefinitionImpl( entry.getKey(),
+                                                                     entry.getValue() ) );
+                    }
+                }
+                workDefinition.setParameters( parameters );
+                Set<ParameterDefinition> results = new HashSet<ParameterDefinition>();
+                Map<String, DataType> resultMap = (Map<String, DataType>) workDefinitionMap.get( "results" );
+                if ( resultMap != null ) {
+                    for ( Map.Entry<String, DataType> entry : resultMap.entrySet() ) {
+                        results.add( new ParameterDefinitionImpl( entry.getKey(),
+                                                                  entry.getValue() ) );
+                    }
+                }
+                workDefinition.setResults( results );
+                this.workDefinitions.put( workDefinition.getName(),
+                                          workDefinition );
+            }
+        } catch ( Throwable t ) {
+            System.err.println( "Error occured while loading work definitions " + location );
+            System.err.println( "Continuing without reading these work definitions" );
+            t.printStackTrace();
         }
     }
 
@@ -1078,6 +1185,10 @@
                     throw new IllegalArgumentException( "Illegal enum value '" + this.value + "' for AssertBehaviour" );
             }
         }
+        
+        public String toExternalForm() {
+            return (this.value == 0) ? "identity" : "equality";
+        }
 
         public String toString() {
             return "AssertBehaviour : " + ((this.value == 0) ? "identity" : "equality");
@@ -1140,6 +1251,10 @@
             }
             return false;
         }
+        
+        public String toExternalForm() {
+            return (this.value == 0) ? "preserve" : "discard";
+        }
 
         public String toString() {
             return "LogicalOverride : " + ((this.value == 0) ? "preserve" : "discard");
@@ -1193,6 +1308,10 @@
                     throw new IllegalArgumentException( "Illegal enum value '" + this.value + "' for SequentialAgenda" );
             }
         }
+        
+        public String toExternalForm() {
+            return (this.value == 0) ? "sequential" : "dynamic";
+        }
 
         public String toString() {
             return "SequentialAgenda : " + ((this.value == 0) ? "sequential" : "dynamic");
@@ -1219,25 +1338,32 @@
      */
     public static enum EventProcessingMode {
 
-        CLOUD("cloud"), STREAM("stream");
+        CLOUD(
+                "cloud"), STREAM(
+                "stream");
 
         private String string;
-        EventProcessingMode( String mode ) {
+
+        EventProcessingMode(String mode) {
             this.string = mode;
         }
-        
+
         public String getId() {
             return string;
         }
-        
+
         public String toString() {
             return string;
         }
         
+        public String toExternalForm() {
+            return this.string;
+        }        
+
         public static EventProcessingMode determineAssertBehaviour(String mode) {
-            if( STREAM.getId().equalsIgnoreCase( mode ) ) {
+            if ( STREAM.getId().equalsIgnoreCase( mode ) ) {
                 return STREAM;
-            } else if( CLOUD.getId().equalsIgnoreCase( mode ) ) {
+            } else if ( CLOUD.getId().equalsIgnoreCase( mode ) ) {
                 return CLOUD;
             }
             throw new IllegalArgumentException( "Illegal enum value '" + mode + "' for EventProcessingMode" );

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/StatelessSessionResult.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/StatelessSessionResult.java	2008-11-05 23:07:53 UTC (rev 23730)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/StatelessSessionResult.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -2,7 +2,6 @@
 
 import java.util.Iterator;
 
-import org.drools.runtime.ObjectFilter;
 import org.drools.spi.GlobalResolver;
 
 /**
@@ -29,7 +28,7 @@
      * @return
      *             java.util.Iterators.
      */
-    Iterator iterateObjects(ObjectFilter filter);   
+    Iterator iterateObjects(org.drools.runtime.ObjectFilter filter);   
     
     /**
      * Retrieve the QueryResults of the specified query.

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java	2008-11-05 23:07:53 UTC (rev 23730)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -24,7 +24,6 @@
 import org.drools.process.instance.WorkItemManager;
 import org.drools.process.instance.event.SignalManager;
 import org.drools.process.instance.timer.TimerManager;
-import org.drools.runtime.ObjectFilter;
 import org.drools.FactHandle;
 import org.drools.spi.AgendaFilter;
 import org.drools.spi.AsyncExceptionHandler;
@@ -166,7 +165,7 @@
      * @return
      *     the Iterator
      */
-    Iterator<?> iterateObjects(ObjectFilter filter);
+    Iterator<?> iterateObjects(org.drools.runtime.ObjectFilter filter);
 
     /**
      * Returns an Iterator for the FactHandles in the Working Memory. This Iterator is not thread safe.
@@ -186,7 +185,7 @@
      * @return
      *     the Iterator
      */
-    Iterator<?> iterateFactHandles(ObjectFilter filter);
+    Iterator<?> iterateFactHandles(org.drools.runtime.ObjectFilter filter);
 
     /**
      * Set the focus to the specified AgendaGroup

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java	2008-11-05 23:07:53 UTC (rev 23730)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -40,6 +40,7 @@
 
 import org.drools.Agenda;
 import org.drools.FactException;
+import org.drools.runtime.ObjectFilter;
 import org.drools.QueryResults;
 import org.drools.RuleBase;
 import org.drools.RuleBaseConfiguration;
@@ -86,7 +87,6 @@
 import org.drools.rule.Rule;
 import org.drools.rule.TimeMachine;
 import org.drools.ruleflow.core.RuleFlowProcess;
-import org.drools.runtime.ObjectFilter;
 import org.drools.FactHandle;
 import org.drools.spi.Activation;
 import org.drools.spi.AgendaFilter;
@@ -702,7 +702,7 @@
      * This class is not thread safe, changes to the working memory during
      * iteration may give unexpected results
      */
-    public Iterator iterateObjects(ObjectFilter filter) {
+    public Iterator iterateObjects(org.drools.runtime.ObjectFilter filter) {
         return this.objectStore.iterateObjects( filter );
     }
 
@@ -718,7 +718,7 @@
      * This class is not thread safe, changes to the working memory during
      * iteration may give unexpected results
      */
-    public Iterator iterateFactHandles(ObjectFilter filter) {
+    public Iterator iterateFactHandles(org.drools.runtime.ObjectFilter filter) {
         return this.objectStore.iterateFactHandles( filter );
     }
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ObjectStore.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ObjectStore.java	2008-11-05 23:07:53 UTC (rev 23730)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ObjectStore.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -34,7 +34,7 @@
     /**
      * This class is not thread safe, changes to the working memory during iteration may give unexpected results
      */
-    public abstract Iterator iterateObjects(ObjectFilter filter);
+    public abstract Iterator iterateObjects(org.drools.runtime.ObjectFilter filter);
 
     /**
      * This class is not thread safe, changes to the working memory during iteration may give unexpected results
@@ -44,6 +44,6 @@
     /**
      * This class is not thread safe, changes to the working memory during iteration may give unexpected results
      */
-    public abstract Iterator iterateFactHandles(ObjectFilter filter);
+    public abstract Iterator iterateFactHandles(org.drools.runtime.ObjectFilter filter);
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SingleThreadedObjectStore.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SingleThreadedObjectStore.java	2008-11-05 23:07:53 UTC (rev 23730)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SingleThreadedObjectStore.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -10,9 +10,9 @@
 import java.util.Iterator;
 import java.util.concurrent.locks.Lock;
 
+import org.drools.runtime.ObjectFilter;
 import org.drools.RuleBaseConfiguration;
 import org.drools.RuleBaseConfiguration.AssertBehaviour;
-import org.drools.runtime.ObjectFilter;
 import org.drools.util.JavaIteratorAdapter;
 import org.drools.util.ObjectHashMap;
 import org.drools.util.AbstractHashTable.HashTableIterator;
@@ -161,7 +161,7 @@
     /* (non-Javadoc)
      * @see org.drools.common.ObjectStore#iterateObjects(org.drools.ObjectFilter)
      */
-    public Iterator iterateObjects(ObjectFilter filter) {
+    public Iterator iterateObjects(org.drools.runtime.ObjectFilter filter) {
         HashTableIterator iterator = new HashTableIterator( this.assertMap );
         iterator.reset();
         return new JavaIteratorAdapter( iterator,
@@ -182,7 +182,7 @@
     /* (non-Javadoc)
      * @see org.drools.common.ObjectStore#iterateFactHandles(org.drools.ObjectFilter)
      */
-    public Iterator iterateFactHandles(ObjectFilter filter) {
+    public Iterator iterateFactHandles(org.drools.runtime.ObjectFilter filter) {
         HashTableIterator iterator = new HashTableIterator( this.assertMap );
         iterator.reset();
         return new JavaIteratorAdapter( iterator,

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java	2008-11-05 23:07:53 UTC (rev 23730)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -8,6 +8,7 @@
 import java.util.concurrent.Future;
 
 import org.drools.KnowledgeBase;
+import org.drools.runtime.ObjectFilter;
 import org.drools.WorkingMemory;
 import org.drools.common.InternalFactHandle;
 import org.drools.common.ObjectStore;
@@ -45,7 +46,6 @@
 import org.drools.process.instance.ProcessInstance;
 import org.drools.process.instance.WorkItemManager;
 import org.drools.reteoo.ReteooStatefulSession;
-import org.drools.runtime.ObjectFilter;
 import org.drools.runtime.StatefulKnowledgeSession;
 import org.drools.runtime.rule.FactHandle;
 import org.drools.runtime.rule.WorkingMemoryEntryPoint;
@@ -230,7 +230,7 @@
                                        ObjectStoreWrapper.FACT_HANDLE );
     }
 
-    public Collection< ? extends FactHandle> getFactHandles(ObjectFilter filter) {
+    public Collection< ? extends FactHandle> getFactHandles(org.drools.runtime.ObjectFilter filter) {
         return new ObjectStoreWrapper( session.getObjectStore(),
                                        filter,
                                        ObjectStoreWrapper.FACT_HANDLE );
@@ -242,7 +242,7 @@
                                        ObjectStoreWrapper.OBJECT );
     }
 
-    public Collection< ? > getObjects(ObjectFilter filter) {
+    public Collection< ? > getObjects(org.drools.runtime.ObjectFilter filter) {
         return new ObjectStoreWrapper( session.getObjectStore(),
                                        filter,
                                        ObjectStoreWrapper.OBJECT );
@@ -279,13 +279,13 @@
 
     public static class ObjectStoreWrapper extends AbstractImmutableCollection {
         public ObjectStore      store;
-        public ObjectFilter     filter;
+        public org.drools.runtime.ObjectFilter     filter;
         public int              type;           // 0 == object, 1 == facthandle
         public static final int OBJECT      = 0;
         public static final int FACT_HANDLE = 1;
 
         public ObjectStoreWrapper(ObjectStore store,
-                                  ObjectFilter filter,
+                                  org.drools.runtime.ObjectFilter filter,
                                   int type) {
             this.store = store;
             this.filter = filter;

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteStatelessSessionResult.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteStatelessSessionResult.java	2008-11-05 23:07:53 UTC (rev 23730)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteStatelessSessionResult.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -6,11 +6,11 @@
 import java.io.ObjectOutput;
 import java.util.Iterator;
 
+import org.drools.runtime.ObjectFilter;
 import org.drools.QueryResults;
 import org.drools.StatelessSessionResult;
 import org.drools.common.InternalWorkingMemory;
 import org.drools.common.ObjectStore;
-import org.drools.runtime.ObjectFilter;
 import org.drools.spi.GlobalResolver;
 
 public class ReteStatelessSessionResult
@@ -59,7 +59,7 @@
         return this.objectStore.iterateObjects();
     }
 
-    public Iterator iterateObjects(ObjectFilter filter) {
+    public Iterator iterateObjects(org.drools.runtime.ObjectFilter filter) {
         return this.objectStore.iterateObjects( filter );
     }
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/JavaIteratorAdapter.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/JavaIteratorAdapter.java	2008-11-05 23:07:53 UTC (rev 23730)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/JavaIteratorAdapter.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -2,8 +2,8 @@
 
 import java.util.NoSuchElementException;
 
+import org.drools.runtime.ObjectFilter;
 import org.drools.common.InternalFactHandle;
-import org.drools.runtime.ObjectFilter;
 import org.drools.util.ObjectHashMap.ObjectEntry;
 
 public class JavaIteratorAdapter

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/business/SolutionBusiness.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/business/SolutionBusiness.java	2008-11-05 23:07:53 UTC (rev 23730)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/business/SolutionBusiness.java	2008-11-06 01:16:38 UTC (rev 23731)
@@ -10,8 +10,8 @@
 import java.util.List;
 import java.util.Map;
 
+import org.drools.ClassObjectFilter;
 import org.drools.WorkingMemory;
-import org.drools.runtime.ClassObjectFilter;
 import org.drools.solver.core.Solver;
 import org.drools.solver.core.localsearch.DefaultLocalSearchSolver;
 import org.drools.solver.core.localsearch.LocalSearchSolverScope;




More information about the jboss-svn-commits mailing list