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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Nov 17 03:07:18 EST 2008


Author: Rikkola
Date: 2008-11-17 03:07:17 -0500 (Mon, 17 Nov 2008)
New Revision: 23893

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/GolfingExample.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/PetStore.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/ShoppingExample.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/tutorials/banking/RuleRunner.java
Log:
First 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-17 06:17:22 UTC (rev 23892)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/FibonacciExample.java	2008-11-17 08:07:17 UTC (rev 23893)
@@ -2,46 +2,52 @@
 
 import java.io.InputStreamReader;
 
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
 import org.drools.RuleBase;
 import org.drools.RuleBaseFactory;
 import org.drools.StatefulSession;
 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;
 
 public class FibonacciExample {
 
     public static void main(final String[] args) throws Exception {
 
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( FibonacciExample.class.getResourceAsStream( "Fibonacci.drl" ) ) );
+        final KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+        builder.addResource( new InputStreamReader( FibonacciExample.class.getResourceAsStream( "Fibonacci.drl" ) ),
+                             KnowledgeType.DRL );
 
-        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-        ruleBase.addPackage( builder.getPackage() );
+        final KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();
+        knowledgeBase.addKnowledgePackages( builder.getKnowledgePackages() );
 
-        final StatefulSession session = ruleBase.newStatefulSession();
+        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
-        
+
     }
 
     public static class Fibonacci {
         private int  sequence;
 
         private long value;
-        
+
         public Fibonacci() {
-        	
+
         }
-        
+
         public Fibonacci(final int sequence) {
             this.sequence = sequence;
             this.value = -1;

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/GolfingExample.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/GolfingExample.java	2008-11-17 06:17:22 UTC (rev 23892)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/GolfingExample.java	2008-11-17 08:07:17 UTC (rev 23893)
@@ -2,11 +2,14 @@
 
 import java.io.InputStreamReader;
 
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.StatefulSession;
-import org.drools.compiler.PackageBuilder;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.KnowledgeType;
+import org.drools.runtime.StatefulKnowledgeSession;
 
+
 public class GolfingExample {
 
     /**
@@ -14,13 +17,13 @@
      */
     public static void main(final String[] args) throws Exception {
 
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( GolfingExample.class.getResourceAsStream( "golf.drl" ) ) );
+        final KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+        builder.addResource( new InputStreamReader( GolfingExample.class.getResourceAsStream( "golf.drl" ) ) , KnowledgeType.DRL);
 
-        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-        ruleBase.addPackage( builder.getPackage() );
+        final KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();
+        knowledgeBase.addKnowledgePackages( builder.getKnowledgePackages() );
 
-        final StatefulSession session = ruleBase.newStatefulSession();
+        final StatefulKnowledgeSession session = knowledgeBase.newStatefulKnowledgeSession();
         
         String[] names = new String[] { "Fred", "Joe", "Bob", "Tom" };
         String[] colors = new String[] { "red", "blue", "plaid", "orange" };
@@ -35,7 +38,10 @@
         }
 
         session.fireAllRules();
+        
         session.dispose();
+        
+        
     }
 
 

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/PetStore.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/PetStore.java	2008-11-17 06:17:22 UTC (rev 23892)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/PetStore.java	2008-11-17 08:07:17 UTC (rev 23893)
@@ -29,11 +29,14 @@
 import javax.swing.table.TableColumnModel;
 
 import org.drools.FactException;
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.WorkingMemory;
-import org.drools.compiler.PackageBuilder;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.KnowledgeType;
+import org.drools.runtime.StatefulKnowledgeSession;
 
+
 public class PetStore {
 
     public static void main(String[] args) {
@@ -45,10 +48,11 @@
             //            ruleBaseLoader.addFromRuleSetLoader( ruleSetLoader );
             //            RuleBase ruleBase = ruleBaseLoader.buildRuleBase();
 
-            PackageBuilder builder = new PackageBuilder();
-            builder.addPackageFromDrl( new InputStreamReader( PetStore.class.getResourceAsStream( "PetStore.drl" ) ) );
-            RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-            ruleBase.addPackage( builder.getPackage() );
+            KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+            
+            builder.addResource( new InputStreamReader( PetStore.class.getResourceAsStream( "PetStore.drl" ) ) ,KnowledgeType.DRL);
+            KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();
+            knowledgeBase.addKnowledgePackages( builder.getKnowledgePackages() );
 
             //RuleB
 
@@ -63,7 +67,7 @@
             //The callback is responsible for populating working memory and
             // fireing all rules
             PetStoreUI ui = new PetStoreUI( stock,
-                                            new CheckoutCallback( ruleBase ) );
+                                            new CheckoutCallback( knowledgeBase ) );
             ui.createAndShowGUI();
         } catch ( Exception e ) {
             e.printStackTrace();
@@ -369,11 +373,11 @@
      *  
      */
     public static class CheckoutCallback {
-        RuleBase  ruleBase;
+        KnowledgeBase knowledgeBase;
         JTextArea output;
 
-        public CheckoutCallback(RuleBase ruleBase) {
-            this.ruleBase = ruleBase;
+        public CheckoutCallback(KnowledgeBase knowledgeBase) {
+            this.knowledgeBase= knowledgeBase;
         }
 
         public void setOutput(JTextArea output) {
@@ -399,25 +403,26 @@
             }
 
             //add the JFrame to the ApplicationData to allow for user interaction
-            WorkingMemory workingMemory = ruleBase.newStatefulSession();
-            workingMemory.setGlobal( "frame",
+            
+            StatefulKnowledgeSession statefulKnowledgeSession = knowledgeBase.newStatefulKnowledgeSession();
+            statefulKnowledgeSession.setGlobal( "frame",
                                      frame );
-            workingMemory.setGlobal( "textArea",
+            statefulKnowledgeSession.setGlobal( "textArea",
                                      this.output );
 
-            workingMemory.insert( new Product( "Gold Fish",
+            statefulKnowledgeSession.insert( new Product( "Gold Fish",
                                                5 ) );
-            workingMemory.insert( new Product( "Fish Tank",
+            statefulKnowledgeSession.insert( new Product( "Fish Tank",
                                                25 ) );
-            workingMemory.insert( new Product( "Fish Food",
+            statefulKnowledgeSession.insert( new Product( "Fish Food",
                                                2 ) );
             
-            workingMemory.insert( new Product( "Fish Food Sample",
+            statefulKnowledgeSession.insert( new Product( "Fish Food Sample",
                                                0 ) );            
            
 
-            workingMemory.insert( order );
-            workingMemory.fireAllRules();
+            statefulKnowledgeSession.insert( order );
+            statefulKnowledgeSession.fireAllRules();
 
             //returns the state of the cart
             return order.toString();

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/ShoppingExample.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/ShoppingExample.java	2008-11-17 06:17:22 UTC (rev 23892)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/ShoppingExample.java	2008-11-17 08:07:17 UTC (rev 23893)
@@ -1,26 +1,26 @@
 package org.drools.examples;
 
 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.WorkingMemory;
-import org.drools.compiler.PackageBuilder;
-import org.drools.rule.Package;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+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 ShoppingExample {
 
     public static final void main(String[] args) throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( ShoppingExample.class.getResourceAsStream( "Shopping.drl" ) ) );
+        final KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+        builder.addResource( new InputStreamReader( ShoppingExample.class.getResourceAsStream( "Shopping.drl" ) ) ,KnowledgeType.DRL);
 
-        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-        ruleBase.addPackage( builder.getPackage() );
+        final KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();
+        knowledgeBase.addKnowledgePackages( builder.getKnowledgePackages() );
 
-        final StatefulSession session = ruleBase.newStatefulSession();
+        final StatefulKnowledgeSession session = knowledgeBase.newStatefulKnowledgeSession();
 
         Customer mark = new Customer( "mark",
                                       0 );
@@ -36,6 +36,9 @@
 
         session.insert( new Purchase( mark,
                                       shoes ) );
+        
+        
+        
         FactHandle hatPurchaseHandle = session.insert( new Purchase( mark,
                                                                      hat ) );
 

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-17 06:17:22 UTC (rev 23892)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketExample.java	2008-11-17 08:07:17 UTC (rev 23893)
@@ -2,13 +2,13 @@
 
 import java.io.InputStreamReader;
 
-import org.drools.FactHandle;
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.StatefulSession;
-import org.drools.audit.ThreadedWorkingMemoryFileLogger;
-import org.drools.audit.WorkingMemoryFileLogger;
-import org.drools.compiler.PackageBuilder;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+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 TroubleTicketExample {
 
@@ -17,17 +17,18 @@
      */
     public static void main(final String[] args) throws Exception {
 
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( TroubleTicketExample.class.getResourceAsStream( "TroubleTicket.drl" ) ) );
+        final KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+        builder.addResource( new InputStreamReader( TroubleTicketExample.class.getResourceAsStream( "TroubleTicket.drl" ) ),
+                             KnowledgeType.DRL );
 
-        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-        ruleBase.addPackage( builder.getPackage() );
+        final KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();
+        knowledgeBase.addKnowledgePackages( builder.getKnowledgePackages() );
 
-        final StatefulSession session = ruleBase.newStatefulSession();
+        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",
@@ -74,9 +75,9 @@
         System.err.println( "[[ awake ]]" );
 
         session.dispose();
-        
-        logger.stop();
-        logger.writeToDisk();
+
+        //        logger.stop();
+        //        logger.writeToDisk();
     }
 
 }

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/RuleRunner.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/RuleRunner.java	2008-11-17 06:17:22 UTC (rev 23892)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/RuleRunner.java	2008-11-17 08:07:17 UTC (rev 23893)
@@ -1,13 +1,17 @@
 package org.drools.tutorials.banking;
 
 import java.io.InputStreamReader;
+import java.util.Collection;
 
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.WorkingMemory;
-import org.drools.compiler.PackageBuilder;
-import org.drools.rule.Package;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.KnowledgeType;
+import org.drools.definition.KnowledgePackage;
+import org.drools.runtime.StatefulKnowledgeSession;
 
+
 public class RuleRunner {
 
     public RuleRunner() {
@@ -16,25 +20,25 @@
     public void runRules(String[] rules,
                          Object[] facts) throws Exception {
 
-        RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-        PackageBuilder builder = new PackageBuilder();
+        KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();
+        KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder();
 
         for ( int i = 0; i < rules.length; i++ ) {
             String ruleFile = rules[i];
             System.out.println( "Loading file: " + ruleFile );            
-            builder.addPackageFromDrl(new InputStreamReader( RuleRunner.class.getResourceAsStream( ruleFile ) ) );
+            builder.addResource( new InputStreamReader( RuleRunner.class.getResourceAsStream( ruleFile ) ), KnowledgeType.DRL );
         }
 
-        Package pkg = builder.getPackage();
-        ruleBase.addPackage( pkg );
-        WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        Collection<KnowledgePackage> pkgs = builder.getKnowledgePackages();
+        knowledgeBase.addKnowledgePackages( pkgs );
+        StatefulKnowledgeSession statefullKnowledgeSession = knowledgeBase.newStatefulKnowledgeSession();
 
         for ( int i = 0; i < facts.length; i++ ) {
             Object fact = facts[i];
             System.out.println( "Inserting fact: " + fact );
-            workingMemory.insert( fact );
+            statefullKnowledgeSession.insert( fact );
         }
 
-        workingMemory.fireAllRules();
+        statefullKnowledgeSession.fireAllRules();
     }
 }




More information about the jboss-svn-commits mailing list