[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