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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Nov 8 01:57:27 EST 2008


Author: mark.proctor at jboss.com
Date: 2008-11-08 01:57:27 -0500 (Sat, 08 Nov 2008)
New Revision: 23786

Added:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeType.java
Modified:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilder.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/RuleBuilder.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemoryEntryPoint.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/builder/impl/KnowledgeBuilderImpl.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ClockType.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/RuleBaseConfiguration.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/SessionConfiguration.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/StringUtils.java
Log:
JBRULES-1734 Drools API 
-get/set property is now working for SessionConfiguration

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilder.java	2008-11-08 06:27:51 UTC (rev 23785)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilder.java	2008-11-08 06:57:27 UTC (rev 23786)
@@ -1,10 +1,14 @@
 package org.drools.builder;
 
+import java.io.Reader;
+import java.net.URL;
 import java.util.Collection;
 
 import org.drools.definition.KnowledgePackage;
 
 public interface KnowledgeBuilder extends RuleBuilder, ProcessBuilder {
-	
+    public void addResorce(URL url, KnowledgeType type);    
+    public void addResource(Reader reader, KnowledgeType type);
+    
 	Collection<KnowledgePackage> getKnowledgePackages();
 }

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeType.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeType.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeType.java	2008-11-08 06:57:27 UTC (rev 23786)
@@ -0,0 +1,5 @@
+package org.drools.builder;
+
+public enum KnowledgeType {
+    DRL, DSLR, DSL, XDRL, DRF, XLS;
+}

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/RuleBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/RuleBuilder.java	2008-11-08 06:27:51 UTC (rev 23785)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/RuleBuilder.java	2008-11-08 06:57:27 UTC (rev 23786)
@@ -4,6 +4,7 @@
 import java.net.URL;
 
 public interface RuleBuilder {
+ 
     public void addPackageFromDrl(URL url);
     public void addPackageFromDrl(Reader reader);
     public void addPackageFromXml(URL url);

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemoryEntryPoint.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemoryEntryPoint.java	2008-11-08 06:27:51 UTC (rev 23785)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemoryEntryPoint.java	2008-11-08 06:57:27 UTC (rev 23786)
@@ -3,7 +3,7 @@
 public interface WorkingMemoryEntryPoint {
 
     FactHandle insert(Object object);
-
+    
     void retract(FactHandle handle);
 
     void update(FactHandle handle,

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/builder/impl/KnowledgeBuilderImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/builder/impl/KnowledgeBuilderImpl.java	2008-11-08 06:27:51 UTC (rev 23785)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/builder/impl/KnowledgeBuilderImpl.java	2008-11-08 06:57:27 UTC (rev 23786)
@@ -7,6 +7,7 @@
 import java.util.List;
 
 import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeType;
 import org.drools.compiler.PackageBuilder;
 import org.drools.definition.KnowledgePackage;
 import org.drools.knowledge.definitions.impl.KnowledgePackageImp;
@@ -15,9 +16,57 @@
 public class KnowledgeBuilderImpl implements KnowledgeBuilder {
 	private PackageBuilder pkgBuilder;
 	
+	private StringBuilder dslStore;
+	
 	public KnowledgeBuilderImpl(PackageBuilder pkgBuilder) {
 		this.pkgBuilder = pkgBuilder;
 	}
+	
+	public void addResource(URL url, KnowledgeType type) {
+        try {
+    	    switch ( type ) {
+    	        case DRL : {
+    	            pkgBuilder.addPackageFromDrl( url );
+    	            break;
+    	        } 
+    	        case DSLR : {
+    	            break;
+    	        }
+    	        case DSL : {
+    	            if ( dslStore == null ) {
+    	                dslStore = new StringBuilder();
+    	            }
+    	            break;
+    	        }
+    	        case XDRL : {
+    	            pkgBuilder.addPackageFromXml( url );
+    	            break;
+    	        }
+    	        case DRF : {
+    	            pkgBuilder.addProcessFromXml( url );
+    	            break;
+    	        }
+    	        case XLS : {
+    	            //pkgBuilder.
+    	        }
+    	    }
+        } catch (Exception e) {
+            throw new RuntimeException( e );
+        }   
+	}
+	
+	public void processDsl() {
+	    
+	}
+	
+	public void X() {
+	    try {
+            Class compiler = Class.forName( "org.drools.decisiontable.SpreadsheetCompiler" );
+        } catch ( ClassNotFoundException e ) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+	}
 
 	public void addPackageFromDrl(URL url) {
         try {
@@ -74,5 +123,17 @@
 		}
 		return list;
 	}
+
+    public void addResorce(URL url,
+                           KnowledgeType type) {
+        // TODO Auto-generated method stub
+        
+    }
+
+    public void addResource(Reader reader,
+                            KnowledgeType type) {
+        // TODO Auto-generated method stub
+        
+    }
 	
 }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java	2008-11-08 06:27:51 UTC (rev 23785)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java	2008-11-08 06:57:27 UTC (rev 23786)
@@ -37,6 +37,7 @@
 import org.drools.util.ChainedProperties;
 import org.drools.util.ClassUtils;
 import org.drools.util.ConfFileUtils;
+import org.drools.util.StringUtils;
 import org.drools.workflow.core.Node;
 import org.drools.xml.DefaultSemanticModule;
 import org.drools.xml.Handler;
@@ -170,12 +171,11 @@
     }
     
     public void setProperty(String name, String value) {
-        if ( name == null ) {
+        name = name.trim();
+        if ( StringUtils.isEmpty( name ) ) {
             return;
         }
         
-        name = name.trim();
-        
         if ( name.equals( "drools.dialect.default" ) ) {
             setDefaultDialect( value );    
         } else if ( name.startsWith( "drools.accumulate.function" ) ) {
@@ -188,6 +188,11 @@
     }
     
     public String getProperty(String name) {
+        name = name.trim();
+        if ( StringUtils.isEmpty( name ) ) {
+            return null;
+        }
+        
         if ( name.equals( "drools.dialect.default" ) ) {
             return getDefaultDialect( );    
         } else if ( name.startsWith( "drools.accumulate.function" ) ) {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ClockType.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ClockType.java	2008-11-08 06:27:51 UTC (rev 23785)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ClockType.java	2008-11-08 06:57:27 UTC (rev 23786)
@@ -51,6 +51,10 @@
         this.string = string;
     }
     
+    public String toExternalForm() {
+        return this.string;
+    }
+    
     public String toString() {
         return this.string;
     }

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-08 06:27:51 UTC (rev 23785)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/RuleBaseConfiguration.java	2008-11-08 06:57:27 UTC (rev 23786)
@@ -50,6 +50,7 @@
 import org.drools.spi.ConsequenceExceptionHandler;
 import org.drools.util.ChainedProperties;
 import org.drools.util.ConfFileUtils;
+import org.drools.util.StringUtils;
 import org.drools.workflow.core.Node;
 import org.drools.workflow.instance.impl.NodeInstanceFactory;
 import org.drools.workflow.instance.impl.NodeInstanceFactoryRegistry;
@@ -235,65 +236,60 @@
               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 ) {
+        name = name.trim();
+        if ( StringUtils.isEmpty( name ) ) {
             return;
         }
 
         if ( name.equals( "drools.sequential.agenda" ) ) {
-            setSequentialAgenda( SequentialAgenda.determineSequentialAgenda( isEmpty( value ) ? "sequential" : value ) );
+            setSequentialAgenda( SequentialAgenda.determineSequentialAgenda( StringUtils.isEmpty( value ) ? "sequential" : value ) );
         } else if ( name.equals( "drools.sequential" ) ) {
-            setSequential( isEmpty( value ) ? false : Boolean.valueOf( value ) );
+            setSequential( StringUtils.isEmpty( value ) ? false : Boolean.valueOf( value ) );
         } else if ( name.equals( "drools.maintainTms" ) ) {
-            setMaintainTms( isEmpty( value ) ? false : Boolean.valueOf( value ) );
+            setMaintainTms( StringUtils.isEmpty( value ) ? false : Boolean.valueOf( value ) );
         } else if ( name.equals( "drools.removeIdentities" ) ) {
-            setRemoveIdentities( isEmpty( value ) ? false : Boolean.valueOf( value ) );
+            setRemoveIdentities( StringUtils.isEmpty( value ) ? false : Boolean.valueOf( value ) );
         } else if ( name.equals( "drools.shareAlphaNodes" ) ) {
-            setShareAlphaNodes( isEmpty( value ) ? false : Boolean.valueOf( value ) );
+            setShareAlphaNodes( StringUtils.isEmpty( value ) ? false : Boolean.valueOf( value ) );
         } else if ( name.equals( "drools.shareBetaNodes" ) ) {
-            setShareBetaNodes( isEmpty( value ) ? false : Boolean.valueOf( value ) );
+            setShareBetaNodes( StringUtils.isEmpty( value ) ? false : Boolean.valueOf( value ) );
         } else if ( name.equals( "drools.alphaNodeHashingThreshold" ) ) {
-            setAlphaNodeHashingThreshold( isEmpty( value ) ? 3 : Integer.parseInt( value ) );
+            setAlphaNodeHashingThreshold( StringUtils.isEmpty( value ) ? 3 : Integer.parseInt( value ) );
         } else if ( name.equals( "drools.compositeKeyDepth" ) ) {
-            setCompositeKeyDepth( isEmpty( value ) ? 3 : Integer.parseInt( value ) );
+            setCompositeKeyDepth( StringUtils.isEmpty( value ) ? 3 : Integer.parseInt( value ) );
         } else if ( name.equals( "drools.indexLeftBetaMemory" ) ) {
-            setIndexLeftBetaMemory( isEmpty( value ) ? true : Boolean.valueOf( value ) );
+            setIndexLeftBetaMemory( StringUtils.isEmpty( value ) ? true : Boolean.valueOf( value ) );
         } else if ( name.equals( "drools.indexRightBetaMemory" ) ) {
-            setIndexRightBetaMemory( isEmpty( value ) ? true : Boolean.valueOf( value ) );
+            setIndexRightBetaMemory( StringUtils.isEmpty( value ) ? true : Boolean.valueOf( value ) );
         } else if ( name.equals( "drools.assertBehaviour" ) ) {
-            setAssertBehaviour( AssertBehaviour.determineAssertBehaviour( isEmpty( value ) ? "identity" : value ) );
+            setAssertBehaviour( AssertBehaviour.determineAssertBehaviour( StringUtils.isEmpty( value ) ? "identity" : value ) );
         } else if ( name.equals( "drools.logicalOverride" ) ) {
-            setLogicalOverride( LogicalOverride.determineLogicalOverride( isEmpty( value ) ? "discard" : value ) );
+            setLogicalOverride( LogicalOverride.determineLogicalOverride( StringUtils.isEmpty( value ) ? "discard" : value ) );
         } else if ( name.equals( "drools.executorService" ) ) {
-            setExecutorService( isEmpty( value ) ? "org.drools.concurrent.DefaultExecutorService" : value );
+            setExecutorService( StringUtils.isEmpty( value ) ? "org.drools.concurrent.DefaultExecutorService" : value );
         } else if ( name.equals( "drools.consequenceExceptionHandler" ) ) {
-            setConsequenceExceptionHandler( isEmpty( value ) ? "org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler" : value );
+            setConsequenceExceptionHandler( StringUtils.isEmpty( value ) ? "org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler" : value );
         } else if ( name.equals( "drools.ruleBaseUpdateHandler" ) ) {
-            setRuleBaseUpdateHandler( isEmpty( value ) ? "org.drools.base.FireAllRulesRuleBaseUpdateListener" : value );
+            setRuleBaseUpdateHandler( StringUtils.isEmpty( value ) ? "org.drools.base.FireAllRulesRuleBaseUpdateListener" : value );
         } else if ( name.equals( "drools.conflictResolver" ) ) {
-            setConflictResolver( RuleBaseConfiguration.determineConflictResolver( isEmpty( value ) ? "org.drools.conflict.DepthConflictResolver" : value ) );
+            setConflictResolver( RuleBaseConfiguration.determineConflictResolver( StringUtils.isEmpty( value ) ? "org.drools.conflict.DepthConflictResolver" : value ) );
         } else if ( name.equals( "drools.advancedProcessRuleIntegration" ) ) {
-            setAdvancedProcessRuleIntegration( isEmpty( value ) ? false : Boolean.valueOf( value ) );
+            setAdvancedProcessRuleIntegration( StringUtils.isEmpty( value ) ? false : Boolean.valueOf( value ) );
         } else if ( name.equals( "drools.multithreadEvaluation" ) ) {
-            setMultithreadEvaluation( isEmpty( value ) ? false : Boolean.valueOf( value ) );
+            setMultithreadEvaluation( StringUtils.isEmpty( value ) ? false : Boolean.valueOf( value ) );
         } else if ( name.equals( "drools.maxThreads" ) ) {
-            setMaxThreads( isEmpty( value ) ? -1 : Integer.parseInt( value ) );
+            setMaxThreads( StringUtils.isEmpty( value ) ? -1 : Integer.parseInt( value ) );
         } else if ( name.equals( "drools.eventProcessingMode" ) ) {
-            setEventProcessingMode( EventProcessingMode.determineAssertBehaviour( isEmpty( value ) ? "cloud" : value ) );
+            setEventProcessingMode( EventProcessingMode.determineAssertBehaviour( StringUtils.isEmpty( value ) ? "cloud" : value ) );
         }
     }
 
     public String getProperty(String name) {
-        if ( name == null ) {
+        name = name.trim();
+        if ( StringUtils.isEmpty( name ) ) {
             return null;
         }
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/SessionConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/SessionConfiguration.java	2008-11-08 06:27:51 UTC (rev 23785)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/SessionConfiguration.java	2008-11-08 06:57:27 UTC (rev 23786)
@@ -24,6 +24,7 @@
 
 import org.drools.runtime.KnowledgeSessionConfiguration;
 import org.drools.util.ChainedProperties;
+import org.drools.util.StringUtils;
 
 /**
  * SessionConfiguration
@@ -102,6 +103,35 @@
         setClockType( ClockType.resolveClockType( this.chainedProperties.getProperty( "drools.clockType",
                                                                                       "realtime" ) ) );
     }
+    
+    public void setProperty(String name,
+                            String value) {
+        name = name.trim();
+        if ( StringUtils.isEmpty( name ) ) {
+            return;
+        }
+        
+        if ( name.equals( "drools.keepReference" ) ) {
+            setKeepReference(  StringUtils.isEmpty( value ) ? true : Boolean.parseBoolean( value ) );
+        } else if ( name.equals( "drools.clockType" ) ) {
+            setClockType( ClockType.resolveClockType(  StringUtils.isEmpty( value ) ? "realtime" : value ) );
+        }
+    }   
+    
+    public String getProperty(String name) {
+        name = name.trim();
+        if ( StringUtils.isEmpty( name ) ) {
+            return null;
+        }
+        
+        if ( name.equals( "drools.keepReference" ) ) {
+            return Boolean.toString( this.keepReference );
+        } else if ( name.equals( "drools.clockType" ) ) {
+            return this.clockType.toExternalForm();
+        }
+        
+        return null;
+    } 
 
     /**
      * Makes the configuration object immutable. Once it becomes immutable,

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/StringUtils.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/StringUtils.java	2008-11-08 06:27:51 UTC (rev 23785)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/StringUtils.java	2008-11-08 06:57:27 UTC (rev 23786)
@@ -195,7 +195,7 @@
      * @return <code>true</code> if the String is empty or null
      */
     public static boolean isEmpty(final String str) {
-        return str == null || str.length() == 0;
+        return str == null || str.length() == 0 || str.trim().length() == 0;
     }
 
     // Padding




More information about the jboss-svn-commits mailing list