[jboss-svn-commits] JBL Code SVN: r23918 - in labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples: cdss and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Nov 18 06:08:34 EST 2008


Author: Rikkola
Date: 2008-11-18 06:08:34 -0500 (Tue, 18 Nov 2008)
New Revision: 23918

Modified:
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/FibonacciExample.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/HelloWorldExample.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/HonestPoliticianExample.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/NumberGuessExample.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/PricingRuleDTExample.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/cdss/CDSSExample.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/sudoku/rules/DroolsUtil.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketExample.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketExampleWithDSL.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketWithDT.java
Log:
Third part of drools-examples that use drools-api

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/FibonacciExample.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/FibonacciExample.java	2008-11-18 08:54:36 UTC (rev 23917)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/FibonacciExample.java	2008-11-18 11:08:34 UTC (rev 23918)
@@ -4,6 +4,7 @@
 
 import org.drools.KnowledgeBase;
 import org.drools.KnowledgeBaseFactory;
+import org.drools.audit.WorkingMemoryFileLogger;
 import org.drools.builder.KnowledgeBuilder;
 import org.drools.builder.KnowledgeBuilderFactory;
 import org.drools.builder.KnowledgeType;
@@ -22,14 +23,14 @@
 
         final StatefulKnowledgeSession session = knowledgeBase.newStatefulKnowledgeSession();
 
-        //        final WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger( session );
-        //        logger.setFileName( "log/fibonacci" );
+        final WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger( session );
+        logger.setFileName( "log/fibonacci" );
 
         session.insert( new Fibonacci( 10 ) );
 
         session.fireAllRules();
 
-        //        logger.writeToDisk();
+        logger.writeToDisk();
 
         session.dispose(); // Stateful rule session must always be disposed when finished
 

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/HelloWorldExample.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/HelloWorldExample.java	2008-11-18 08:54:36 UTC (rev 23917)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/HelloWorldExample.java	2008-11-18 11:08:34 UTC (rev 23918)
@@ -8,6 +8,7 @@
 
 import org.drools.KnowledgeBase;
 import org.drools.KnowledgeBaseFactory;
+import org.drools.audit.WorkingMemoryFileLogger;
 import org.drools.builder.KnowledgeBuilder;
 import org.drools.builder.KnowledgeBuilderFactory;
 import org.drools.builder.KnowledgeType;
@@ -46,21 +47,21 @@
         session.setGlobal( "list",
                            new ArrayList() );
 
-//        session.addEventListener( new DebugAgendaEventListener() );
-//        session.addEventListener( new DebugWorkingMemoryEventListener() );
-        
-//        final WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger( session );
-//        logger.setFileName( "log/helloworld" );        
+        //        session.addEventListener( new DebugAgendaEventListener() );
+        //        session.addEventListener( new DebugWorkingMemoryEventListener() );
 
+        final WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger( session );
+        logger.setFileName( "log/helloworld" );
+
         final Message message = new Message();
         message.setMessage( "Hello World" );
         message.setStatus( Message.HELLO );
         session.insert( message );
-        
+
         session.fireAllRules();
-        
-//        logger.writeToDisk();
-        
+
+        logger.writeToDisk();
+
         session.dispose();
     }
 
@@ -91,13 +92,14 @@
         public void setStatus(final int status) {
             this.status = status;
         }
-        
+
         public static Message doSomething(Message message) {
             return message;
         }
-        
-        public boolean isSomething(String msg, List list) {
-            list.add( this );        
+
+        public boolean isSomething(String msg,
+                                   List list) {
+            list.add( this );
             return this.message.equals( msg );
         }
     }

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/HonestPoliticianExample.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/HonestPoliticianExample.java	2008-11-18 08:54:36 UTC (rev 23917)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/HonestPoliticianExample.java	2008-11-18 11:08:34 UTC (rev 23918)
@@ -3,12 +3,14 @@
 import java.io.File;
 import java.io.InputStreamReader;
 
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.StatefulSession;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
 import org.drools.audit.WorkingMemoryFileLogger;
-import org.drools.compiler.PackageBuilder;
-import org.drools.compiler.PackageBuilderConfiguration;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderConfiguration;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.KnowledgeType;
+import org.drools.runtime.StatefulKnowledgeSession;
 
 public class HonestPoliticianExample {
 
@@ -17,70 +19,78 @@
      */
     public static void main(final String[] args) throws Exception {
 
-        PackageBuilderConfiguration conf = new PackageBuilderConfiguration();
-        conf.setDumpDir( new File("target") );
-        final PackageBuilder builder = new PackageBuilder(conf);
-        builder.addPackageFromDrl( new InputStreamReader( HonestPoliticianExample.class.getResourceAsStream( "HonestPolitician.drl" ) ) );
+        KnowledgeBuilderConfiguration conf = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
+        conf.setProperty( "drools.dump.dir",
+                          "target" );
 
-        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-        ruleBase.addPackage( builder.getPackage() );
+        final KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+        builder.addResource( new InputStreamReader( HonestPoliticianExample.class.getResourceAsStream( "HonestPolitician.drl" ) ),
+                             KnowledgeType.DRL );
 
-        final StatefulSession session = ruleBase.newStatefulSession();
+        final KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();
+        knowledgeBase.addKnowledgePackages( builder.getKnowledgePackages() );
 
+        final StatefulKnowledgeSession session = knowledgeBase.newStatefulKnowledgeSession();
+
         final WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger( session );
         logger.setFileName( "log/honest-politician" );
 
-        final Politician blair  = new Politician("blair", true);
-        final Politician bush  = new Politician("bush", true);
-        final Politician chirac  = new Politician("chirac", true);
-        final Politician schroder   = new Politician("schroder", true);
-        
+        final Politician blair = new Politician( "blair",
+                                                 true );
+        final Politician bush = new Politician( "bush",
+                                                true );
+        final Politician chirac = new Politician( "chirac",
+                                                  true );
+        final Politician schroder = new Politician( "schroder",
+                                                    true );
+
         session.insert( blair );
         session.insert( bush );
         session.insert( chirac );
         session.insert( schroder );
 
         session.fireAllRules();
-        
+
         logger.writeToDisk();
-        
+
         session.dispose();
     }
-    
+
     public static class Politician {
-    	private String name;
-    	
-    	private boolean honest;
-    	
-    	public Politician() {
-    		
-    	}
-    	
-		public Politician(String name, boolean honest) {
-			super();
-			this.name = name;
-			this.honest = honest;
-		}
-		
-		public boolean isHonest() {
-			return honest;
-		}
-		
-		public void setHonest(boolean honest) {
-			this.honest = honest;
-		}
+        private String  name;
 
-		public String getName() {
-			return name;
-		}    			    
+        private boolean honest;
+
+        public Politician() {
+
+        }
+
+        public Politician(String name,
+                          boolean honest) {
+            super();
+            this.name = name;
+            this.honest = honest;
+        }
+
+        public boolean isHonest() {
+            return honest;
+        }
+
+        public void setHonest(boolean honest) {
+            this.honest = honest;
+        }
+
+        public String getName() {
+            return name;
+        }
     }
 
     public static class Hope {
-    	
-    	public Hope() {
-    		
-    	}
-    	
+
+        public Hope() {
+
+        }
+
     }
-    
+
 }

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/NumberGuessExample.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/NumberGuessExample.java	2008-11-18 08:54:36 UTC (rev 23917)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/NumberGuessExample.java	2008-11-18 11:08:34 UTC (rev 23918)
@@ -5,6 +5,7 @@
 
 import org.drools.KnowledgeBase;
 import org.drools.KnowledgeBaseFactory;
+import org.drools.audit.WorkingMemoryFileLogger;
 import org.drools.builder.KnowledgeBuilder;
 import org.drools.builder.KnowledgeBuilderFactory;
 import org.drools.builder.KnowledgeType;
@@ -24,8 +25,8 @@
 
         final StatefulKnowledgeSession session = knowledgeBase.newStatefulKnowledgeSession();
 
-//        final WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger( session );
-//        logger.setFileName( "log/numberguess" );
+        final WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger( session );
+        logger.setFileName( "log/numberguess" );
 
         session.insert( new GameRules( 100,
                                        5 ) );
@@ -35,7 +36,7 @@
         session.startProcess( "Number Guess" );
         session.fireAllRules();
 
-//        logger.writeToDisk();
+        logger.writeToDisk();
 
         session.dispose();
     }

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/PricingRuleDTExample.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/PricingRuleDTExample.java	2008-11-18 08:54:36 UTC (rev 23917)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/PricingRuleDTExample.java	2008-11-18 11:08:34 UTC (rev 23918)
@@ -2,76 +2,62 @@
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.InputStreamReader;
 import java.io.StringReader;
 
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.StatefulSession;
-import org.drools.StatelessSession;
-import org.drools.WorkingMemory;
-import org.drools.compiler.DroolsParserException;
-import org.drools.compiler.PackageBuilder;
-import org.drools.decisiontable.InputType;
-import org.drools.decisiontable.SpreadsheetCompiler;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.builder.DecisionTableConfiguration;
+import org.drools.builder.DecisionTableInputType;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.KnowledgeType;
 import org.drools.examples.decisiontable.Driver;
 import org.drools.examples.decisiontable.Policy;
+import org.drools.runtime.StatelessKnowledgeSession;
 
 /**
  * This shows off a decision table.
  */
 public class PricingRuleDTExample {
 
-    public static final void main(String[] args) throws Exception {    	
-    	PricingRuleDTExample launcher = new PricingRuleDTExample();
-    	launcher.executeExample();
+    public static final void main(String[] args) throws Exception {
+        PricingRuleDTExample launcher = new PricingRuleDTExample();
+        launcher.executeExample();
     }
-    
+
     public int executeExample() throws Exception {
-    	
-    	//first we compile the decision table into a whole lot of rules.
-    	SpreadsheetCompiler compiler = new SpreadsheetCompiler();
-    	String drl = compiler.compile(getSpreadsheetStream(), InputType.XLS);
 
-    	//UNCOMMENT ME TO SEE THE DRL THAT IS GENERATED
-    	//System.out.println(drl);
+        DecisionTableConfiguration conf = KnowledgeBuilderFactory.newDecisionTableConfiguration();
+        conf.setInputType( DecisionTableInputType.XLS );
 
-    	RuleBase ruleBase = buildRuleBase(drl);
-    	
+        KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+        builder.addResource( new InputStreamReader( getSpreadsheetStream(),
+                                                    "windows-1252" ),
+                             KnowledgeType.DTABLE,
+                             conf );
+
+        KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();
+        knowledgeBase.addKnowledgePackages( builder.getKnowledgePackages() );
+
         // typical decision tables are used statelessly
-		StatelessSession session = ruleBase.newStatelessSession();
-		
-		//now create some test data
-		Driver driver = new Driver();
-		Policy policy = new Policy();
-		
-        session.execute( new Object[] { driver, policy } );
-		
-		System.out.println("BASE PRICE IS: " + policy.getBasePrice());
-		System.out.println("DISCOUNT IS: " + policy.getDiscountPercent());
-		
-        return policy.getBasePrice();
-    	
-    }
+        StatelessKnowledgeSession session = knowledgeBase.newStatelessKnowledgeSession();
 
+        //now create some test data
+        Driver driver = new Driver();
+        Policy policy = new Policy();
 
-    /** Build the rule base from the generated DRL */
-	private RuleBase buildRuleBase(String drl) throws DroolsParserException, IOException, Exception {
-		//now we build the rule package and rulebase, as if they are normal rules
-		PackageBuilder builder = new PackageBuilder();
-		builder.addPackageFromDrl( new StringReader(drl) );
-		
-		//add the package to a rulebase (deploy the rule package).
-		RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-		ruleBase.addPackage( builder.getPackage() );
-		return ruleBase;
-	}
-    
+        session.executeObject( new Object[]{driver, policy} );
 
-    private InputStream getSpreadsheetStream() {
-    	return this.getClass().getResourceAsStream("ExamplePolicyPricing.xls");
-	}
+        System.out.println( "BASE PRICE IS: " + policy.getBasePrice() );
+        System.out.println( "DISCOUNT IS: " + policy.getDiscountPercent() );
 
+        return policy.getBasePrice();
 
+    }
 
-    
+    private InputStream getSpreadsheetStream() {
+        return this.getClass().getResourceAsStream( "ExamplePolicyPricing.xls" );
+    }
+
 }

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/cdss/CDSSExample.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/cdss/CDSSExample.java	2008-11-18 08:54:36 UTC (rev 23917)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/cdss/CDSSExample.java	2008-11-18 11:08:34 UTC (rev 23918)
@@ -5,15 +5,16 @@
 import java.util.Iterator;
 import java.util.List;
 
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.WorkingMemory;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
 import org.drools.audit.WorkingMemoryFileLogger;
-import org.drools.compiler.PackageBuilder;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.KnowledgeType;
 import org.drools.examples.cdss.data.Diagnose;
 import org.drools.examples.cdss.data.Patient;
 import org.drools.examples.cdss.service.RecommendationService;
-import org.drools.rule.Package;
+import org.drools.runtime.StatefulKnowledgeSession;
 
 /**
  * This is a sample file to launch a rule package from a rule source file.
@@ -22,79 +23,81 @@
 
     public static final void main(String[] args) {
         try {
-        	
-        	//load up the rulebase
-            RuleBase ruleBase = readRule();
-            WorkingMemory workingMemory = ruleBase.newStatefulSession();
-            WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger(workingMemory);
 
+            //load up the rulebase
+            KnowledgeBase knowledgeBase = readRule();
+
+            StatefulKnowledgeSession workingMemory = knowledgeBase.newStatefulKnowledgeSession();
+            WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger( workingMemory );
+
             // set globals
             RecommendationService recommendationService = new RecommendationService();
-            workingMemory.setGlobal("recommendationService", recommendationService);
-            
+            workingMemory.setGlobal( "recommendationService",
+                                     recommendationService );
+
             // create patient
             Patient patient = new Patient();
-            patient.setName("John Doe");
-            patient.setAge(20);
-            workingMemory.insert(patient);
-            
+            patient.setName( "John Doe" );
+            patient.setAge( 20 );
+            workingMemory.insert( patient );
+
             // Go!
-            Diagnose diagnose = new Diagnose(Terminology.DIAGNOSE_X);
-            workingMemory.insert(diagnose);
+            Diagnose diagnose = new Diagnose( Terminology.DIAGNOSE_X );
+            workingMemory.insert( diagnose );
             workingMemory.fireAllRules();
-            
+
             // Print out recommendations
             List recommendations = recommendationService.getRecommendations();
-            for (Iterator iterator = recommendations.iterator(); iterator.hasNext(); ) {
-            	System.out.println(iterator.next());
+            for ( Iterator iterator = recommendations.iterator(); iterator.hasNext(); ) {
+                System.out.println( iterator.next() );
             }
             recommendations.clear();
-            
+
             // Simulate a diagnose: incomplete results
-            diagnose = new Diagnose(Terminology.DIAGNOSE_X_TYPE_UNKNOWN);
-            workingMemory.insert(diagnose);
+            diagnose = new Diagnose( Terminology.DIAGNOSE_X_TYPE_UNKNOWN );
+            workingMemory.insert( diagnose );
             workingMemory.fireAllRules();
-            
+
             // Print out recommendations
             recommendations = recommendationService.getRecommendations();
-            for (Iterator iterator = recommendations.iterator(); iterator.hasNext(); ) {
-            	System.out.println(iterator.next());
+            for ( Iterator iterator = recommendations.iterator(); iterator.hasNext(); ) {
+                System.out.println( iterator.next() );
             }
             recommendations.clear();
-            
+
             // Simulate a diagnose: type2
-            diagnose = new Diagnose(Terminology.DIAGNOSE_X_TYPE2);
-            workingMemory.insert(diagnose);
+            diagnose = new Diagnose( Terminology.DIAGNOSE_X_TYPE2 );
+            workingMemory.insert( diagnose );
             workingMemory.fireAllRules();
-            
+
             logger.writeToDisk();
 
-        } catch (Throwable t) {
+        } catch ( Throwable t ) {
             t.printStackTrace();
         }
     }
 
-	private static RuleBase readRule() throws Exception {
-		PackageBuilder builder = new PackageBuilder();
-		Reader reader = new InputStreamReader(
-			CDSSExample.class.getResourceAsStream("/org/drools/examples/cdss/GenericRules.drl"));
-		builder.addPackageFromDrl(reader);
-		reader = new InputStreamReader(
-			CDSSExample.class.getResourceAsStream("/org/drools/examples/cdss/ClinicalPathwayX.drl"));
-		builder.addPackageFromDrl(reader);
-		reader = new InputStreamReader(
-			CDSSExample.class.getResourceAsStream("/org/drools/examples/cdss/ClinicalPathwayX.rf"));
-		builder.addRuleFlow(reader);
-		reader = new InputStreamReader(
-			CDSSExample.class.getResourceAsStream("/org/drools/examples/cdss/TreatmentX.rf"));
-		builder.addRuleFlow(reader);
-		reader = new InputStreamReader(
-			CDSSExample.class.getResourceAsStream("/org/drools/examples/cdss/TreatmentY.rf"));
-		builder.addRuleFlow(reader);
+    private static KnowledgeBase readRule() throws Exception {
+        KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+        Reader reader = new InputStreamReader( CDSSExample.class.getResourceAsStream( "/org/drools/examples/cdss/GenericRules.drl" ) );
+        builder.addResource( reader,
+                             KnowledgeType.DRL );
+        reader = new InputStreamReader( CDSSExample.class.getResourceAsStream( "/org/drools/examples/cdss/ClinicalPathwayX.drl" ) );
+        builder.addResource( reader,
+                             KnowledgeType.DRL );
+        reader = new InputStreamReader( CDSSExample.class.getResourceAsStream( "/org/drools/examples/cdss/ClinicalPathwayX.rf" ) );
+        builder.addResource( reader,
+                             KnowledgeType.DRF );
+        reader = new InputStreamReader( CDSSExample.class.getResourceAsStream( "/org/drools/examples/cdss/TreatmentX.rf" ) );
+        builder.addResource( reader,
+                             KnowledgeType.DRF );
+        reader = new InputStreamReader( CDSSExample.class.getResourceAsStream( "/org/drools/examples/cdss/TreatmentY.rf" ) );
+        builder.addResource( reader,
+                             KnowledgeType.DRF );
 
-		Package pkg = builder.getPackage();
-		RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-		ruleBase.addPackage( pkg );
-		return ruleBase;
-	}
+        KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();
+        knowledgeBase.addKnowledgePackages( builder.getKnowledgePackages() );
+
+        return knowledgeBase;
+    }
 }

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/sudoku/rules/DroolsUtil.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/sudoku/rules/DroolsUtil.java	2008-11-18 08:54:36 UTC (rev 23917)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/sudoku/rules/DroolsUtil.java	2008-11-18 11:08:34 UTC (rev 23918)
@@ -15,7 +15,6 @@
 import org.drools.builder.KnowledgeBuilder;
 import org.drools.builder.KnowledgeBuilderFactory;
 import org.drools.builder.KnowledgeType;
-import org.drools.definition.KnowledgePackage;
 
 public class DroolsUtil {
     private static DroolsUtil INSTANCE;

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketExample.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketExample.java	2008-11-18 08:54:36 UTC (rev 23917)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketExample.java	2008-11-18 11:08:34 UTC (rev 23918)
@@ -4,6 +4,7 @@
 
 import org.drools.KnowledgeBase;
 import org.drools.KnowledgeBaseFactory;
+import org.drools.audit.ThreadedWorkingMemoryFileLogger;
 import org.drools.builder.KnowledgeBuilder;
 import org.drools.builder.KnowledgeBuilderFactory;
 import org.drools.builder.KnowledgeType;
@@ -26,9 +27,9 @@
 
         final StatefulKnowledgeSession session = knowledgeBase.newStatefulKnowledgeSession();
 
-        //        ThreadedWorkingMemoryFileLogger logger = new ThreadedWorkingMemoryFileLogger(session);
-        //        logger.setFileName( "log/trouble_ticket" );
-        //        logger.start(1000);
+        ThreadedWorkingMemoryFileLogger logger = new ThreadedWorkingMemoryFileLogger( session );
+        logger.setFileName( "log/trouble_ticket" );
+        logger.start( 1000 );
 
         final Customer a = new Customer( "A",
                                          "Drools",
@@ -76,8 +77,8 @@
 
         session.dispose();
 
-        //        logger.stop();
-        //        logger.writeToDisk();
+        logger.stop();
+        logger.writeToDisk();
     }
 
 }

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketExampleWithDSL.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketExampleWithDSL.java	2008-11-18 08:54:36 UTC (rev 23917)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketExampleWithDSL.java	2008-11-18 11:08:34 UTC (rev 23918)
@@ -3,12 +3,14 @@
 import java.io.InputStreamReader;
 import java.io.Reader;
 
-import org.drools.FactHandle;
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.StatefulSession;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
 import org.drools.audit.WorkingMemoryFileLogger;
-import org.drools.compiler.PackageBuilder;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.KnowledgeType;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.rule.FactHandle;
 
 public class TroubleTicketExampleWithDSL {
 
@@ -17,15 +19,18 @@
      */
     public static void main(final String[] args) throws Exception {
 
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( getSource(),
-                                   getDSL() );
+        final KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder();
 
-        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-        ruleBase.addPackage( builder.getPackage() );
+        builder.addResource( getDSL(),
+                             KnowledgeType.DSL );
+        builder.addResource( getSource(),
+                             KnowledgeType.DSLR );
 
-        final StatefulSession session = ruleBase.newStatefulSession();
+        final KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();
+        knowledgeBase.addKnowledgePackages( builder.getKnowledgePackages() );
 
+        final StatefulKnowledgeSession session = knowledgeBase.newStatefulKnowledgeSession();
+
         final WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger( session );
         logger.setFileName( "log/state" );
 
@@ -70,7 +75,7 @@
         } catch ( final InterruptedException e ) {
             e.printStackTrace();
         }
-        
+
         System.err.println( "[[ awake ]]" );
 
         session.fireAllRules();

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketWithDT.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketWithDT.java	2008-11-18 08:54:36 UTC (rev 23917)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketWithDT.java	2008-11-18 11:08:34 UTC (rev 23918)
@@ -1,47 +1,46 @@
 package org.drools.examples.troubleticket;
 
-import java.io.IOException;
 import java.io.InputStream;
-import java.io.StringReader;
+import java.io.InputStreamReader;
 
-import org.drools.FactHandle;
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.StatefulSession;
-import org.drools.StatelessSession;
-import org.drools.WorkingMemory;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
 import org.drools.audit.WorkingMemoryFileLogger;
-import org.drools.compiler.DroolsParserException;
-import org.drools.compiler.PackageBuilder;
-import org.drools.decisiontable.InputType;
-import org.drools.decisiontable.SpreadsheetCompiler;
-import org.drools.examples.decisiontable.Driver;
-import org.drools.examples.decisiontable.Policy;
+import org.drools.builder.DecisionTableConfiguration;
+import org.drools.builder.DecisionTableInputType;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.KnowledgeType;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.rule.FactHandle;
 
 /**
  * This shows off a decision table.
  */
 public class TroubleTicketWithDT {
 
-    public static final void main(String[] args) throws Exception {    	
-    	TroubleTicketWithDT launcher = new TroubleTicketWithDT();
-    	launcher.executeExample();
+    public static final void main(String[] args) throws Exception {
+        TroubleTicketWithDT launcher = new TroubleTicketWithDT();
+        launcher.executeExample();
     }
-    
+
     public void executeExample() throws Exception {
-    	
-    	//first we compile the decision table into a whole lot of rules.
-    	SpreadsheetCompiler compiler = new SpreadsheetCompiler();
-    	String drl = compiler.compile(getSpreadsheetStream(), InputType.XLS);
 
-    	//UNCOMMENT ME TO SEE THE DRL THAT IS GENERATED
-    	//System.out.println(drl);
+        final DecisionTableConfiguration conf = KnowledgeBuilderFactory.newDecisionTableConfiguration();
+        conf.setInputType( DecisionTableInputType.XLS );
 
-    	RuleBase ruleBase = buildRuleBase(drl);
-    	
+        final KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+        builder.addResource( new InputStreamReader( getSpreadsheetStream(),
+                                                    "windows-1252" ),
+                             KnowledgeType.DTABLE,
+                             conf );
+
+        final KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();
+        knowledgeBase.addKnowledgePackages( builder.getKnowledgePackages() );
+
         // typical decision tables are used statelessly
-		StatefulSession session = ruleBase.newStatefulSession();
-		
+        StatefulKnowledgeSession session = knowledgeBase.newStatefulKnowledgeSession();
+
         final WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger( session );
         logger.setFileName( "log/trouble_ticket" );
 
@@ -92,28 +91,11 @@
         session.dispose();
 
         logger.writeToDisk();
-    	
+
     }
 
-
-    /** Build the rule base from the generated DRL */
-	private RuleBase buildRuleBase(String drl) throws DroolsParserException, IOException, Exception {
-		//now we build the rule package and rulebase, as if they are normal rules
-		PackageBuilder builder = new PackageBuilder();
-		builder.addPackageFromDrl( new StringReader(drl) );
-		
-		//add the package to a rulebase (deploy the rule package).
-		RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-		ruleBase.addPackage( builder.getPackage() );
-		return ruleBase;
-	}
-    
-
     private InputStream getSpreadsheetStream() {
-    	return this.getClass().getResourceAsStream("TroubleTicket.xls");
-	}
+        return this.getClass().getResourceAsStream( "TroubleTicket.xls" );
+    }
 
-
-
-    
 }




More information about the jboss-svn-commits mailing list