[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