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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Nov 19 00:57:30 EST 2008


Author: mark.proctor at jboss.com
Date: 2008-11-19 00:57:30 -0500 (Wed, 19 Nov 2008)
New Revision: 23941

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/Agenda.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/AgendaGroupDelegate.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/CellGridImpl.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayRuleDelegate.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/RuleFlowDelegate.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/PetStore.drl
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/StateExampleUsingAgendGroup.drl
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-agendagroup.drl
Log:
JBRULES-1734 Drools API 
-updated more examples to use new drools api

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/Agenda.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/Agenda.java	2008-11-19 05:10:23 UTC (rev 23940)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/Agenda.java	2008-11-19 05:57:30 UTC (rev 23941)
@@ -128,5 +128,11 @@
      * @return
      */
     public String getFocusName();
+    
+    AgendaGroup getAgendaGroup(String name);
+    
+    ActivationGroup getActivationGroup(String name);
+    
+    RuleFlowGroup getRuleFlowGroup(String name);    
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/AgendaGroupDelegate.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/AgendaGroupDelegate.java	2008-11-19 05:10:23 UTC (rev 23940)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/AgendaGroupDelegate.java	2008-11-19 05:57:30 UTC (rev 23941)
@@ -3,26 +3,32 @@
 import java.io.InputStreamReader;
 import java.io.Reader;
 
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
 import org.drools.RuleBase;
 import org.drools.RuleBaseFactory;
 import org.drools.StatefulSession;
+import org.drools.api.KnowledgeSessionTest;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.KnowledgeType;
 import org.drools.compiler.PackageBuilder;
+import org.drools.runtime.StatefulKnowledgeSession;
 
 public class AgendaGroupDelegate implements ConwayRuleDelegate {
-    private StatefulSession session;
+    private StatefulKnowledgeSession session;
     
     public AgendaGroupDelegate() {
         final Reader drl = new InputStreamReader( AgendaGroupDelegate.class.getResourceAsStream( "/org/drools/examples/conway/conway-agendagroup.drl" ) );
 
         try {
-            PackageBuilder builder = new PackageBuilder();
-            builder.addPackageFromDrl( drl );
-
-            RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-            ruleBase.addPackage( builder.getPackage() );
-
-            this.session = ruleBase.newStatefulSession();
-
+            KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+            kbuilder.addResource( drl, KnowledgeType.DRL );
+            
+            KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+            kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+            
+            this.session = kbase.newStatefulKnowledgeSession();
         } catch ( Exception e ) {
             throw new RuntimeException( e );
         }
@@ -31,7 +37,7 @@
     /* (non-Javadoc)
      * @see org.drools.examples.conway.ConwayRuleDelegate#getSession()
      */
-    public StatefulSession getSession() {
+    public StatefulKnowledgeSession getSession() {
         return this.session;
     }
     
@@ -39,9 +45,9 @@
      * @see org.drools.examples.conway.ConwayRuleDelegate#init()
      */
     public void init() {
-        this.session.setFocus( "register neighbor" );
+        this.session.getAgenda().getAgendaGroup( "register neighbor" ).setFocus();
         this.session.fireAllRules();     
-        session.clearAgendaGroup( "calculate" );
+        this.session.getAgenda().getAgendaGroup( "calculate" ).clear();
     }
     
     /* (non-Javadoc)
@@ -52,12 +58,12 @@
      */
     public boolean nextGeneration() {
         // System.out.println( "next generation" );
-        session.setFocus( "kill" );
-        session.setFocus( "birth" );
-        session.setFocus( "reset calculate" );
-        session.setFocus( "rest" );
-        session.setFocus( "evaluate" );
-        session.setFocus( "calculate" );        
+        this.session.getAgenda().getAgendaGroup( "kill" ).setFocus();
+        this.session.getAgenda().getAgendaGroup( "birth" ).setFocus();
+        this.session.getAgenda().getAgendaGroup( "reset calculate" ).setFocus();
+        this.session.getAgenda().getAgendaGroup( "rest" ).setFocus();
+        this.session.getAgenda().getAgendaGroup( "evaluate" ).setFocus();
+        this.session.getAgenda().getAgendaGroup( "calculate" ).setFocus();        
         return session.fireAllRules() != 0;
         //return session.getAgenda().getAgendaGroup( "calculate" ).size() != 0;
     }
@@ -69,9 +75,9 @@
      * @see org.drools.examples.conway.ConwayRuleDelegate#killAll()
      */
     public void killAll() {
-        this.session.setFocus( "calculate" );
-        this.session.setFocus( "kill all" );
-        this.session.setFocus( "calculate" );
+        this.session.getAgenda().getAgendaGroup( "calculate" ).setFocus();
+        this.session.getAgenda().getAgendaGroup( "kill all" ).setFocus();
+        this.session.getAgenda().getAgendaGroup( "calculate" ).setFocus();
         this.session.fireAllRules();
     }
     

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/CellGridImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/CellGridImpl.java	2008-11-19 05:10:23 UTC (rev 23940)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/CellGridImpl.java	2008-11-19 05:57:30 UTC (rev 23941)
@@ -12,6 +12,7 @@
 import org.drools.event.AgendaGroupPoppedEvent;
 import org.drools.event.DefaultAgendaEventListener;
 import org.drools.examples.conway.patterns.ConwayPattern;
+import org.drools.runtime.StatefulKnowledgeSession;
 
 /**
  * A <code>CellGrid</code> represents a grid of <code>Cell</code> objects.
@@ -24,7 +25,7 @@
 
     private final Cell[][]     cells;
 
-    private final StatefulSession    session;
+    private final StatefulKnowledgeSession    session;
 
     private final ConwayRuleDelegate delegate;
 

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayRuleDelegate.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayRuleDelegate.java	2008-11-19 05:10:23 UTC (rev 23940)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/ConwayRuleDelegate.java	2008-11-19 05:57:30 UTC (rev 23941)
@@ -1,10 +1,10 @@
 package org.drools.examples.conway;
 
-import org.drools.StatefulSession;
+import org.drools.runtime.StatefulKnowledgeSession;
 
 public interface ConwayRuleDelegate {
 
-    public abstract StatefulSession getSession();
+    public abstract StatefulKnowledgeSession getSession();
 
     public abstract void init();
 

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/RuleFlowDelegate.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/RuleFlowDelegate.java	2008-11-19 05:10:23 UTC (rev 23940)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/conway/RuleFlowDelegate.java	2008-11-19 05:57:30 UTC (rev 23941)
@@ -3,13 +3,19 @@
 import java.io.InputStreamReader;
 import java.io.Reader;
 
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
 import org.drools.RuleBase;
 import org.drools.RuleBaseFactory;
 import org.drools.StatefulSession;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.KnowledgeType;
 import org.drools.compiler.PackageBuilder;
+import org.drools.runtime.StatefulKnowledgeSession;
 
 public class RuleFlowDelegate implements ConwayRuleDelegate {
-    private StatefulSession session;
+    private StatefulKnowledgeSession session;
     
     public RuleFlowDelegate() {
         final Reader drl = new InputStreamReader( CellGridImpl.class.getResourceAsStream( "/org/drools/examples/conway/conway-ruleflow.drl" ) );
@@ -18,17 +24,17 @@
         final Reader registerNeighborRf = new InputStreamReader( CellGridImpl.class.getResourceAsStream( "/org/drools/examples/conway/registerNeighbor.rf" ) );
 
         try {
-            PackageBuilder builder = new PackageBuilder();
-            builder.addPackageFromDrl( drl );
-            builder.addRuleFlow( generationRf );
-            builder.addRuleFlow( killAllRf );
-            builder.addRuleFlow( registerNeighborRf );
+            KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+            kbuilder.addResource( drl, KnowledgeType.DRL );
+            kbuilder.addResource(  generationRf, KnowledgeType.DRF );
+            kbuilder.addResource( killAllRf, KnowledgeType.DRF );
+            kbuilder.addResource( registerNeighborRf, KnowledgeType.DRF );
+            
+            KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+            kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+            
+            this.session = kbase.newStatefulKnowledgeSession();
 
-            RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-            ruleBase.addPackage( builder.getPackage() );
-
-            this.session = ruleBase.newStatefulSession();
-
         } catch ( Exception e ) {
             throw new RuntimeException( e );
         }
@@ -37,7 +43,7 @@
     /* (non-Javadoc)
      * @see org.drools.examples.conway.ConwayRuleDelegate#getSession()
      */
-    public StatefulSession getSession() {
+    public StatefulKnowledgeSession getSession() {
         return this.session;
     }
     
@@ -47,7 +53,7 @@
     public void init() {
         this.session.startProcess( "register neighbor" );
         this.session.fireAllRules();
-        session.clearRuleFlowGroup( "calculate" );
+        session.getAgenda().getRuleFlowGroup( "calculate" ).clear();       
     }
     
     /* (non-Javadoc)

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/PetStore.drl
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/PetStore.drl	2008-11-19 05:10:23 UTC (rev 23940)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/PetStore.drl	2008-11-19 05:57:30 UTC (rev 23941)
@@ -25,8 +25,8 @@
 		$item : Purchase() from $order.items
 	then
 		insert( $item );
-		drools.setFocus( "show items" );		
-		drools.setFocus( "evaluate" );		
+		drools.getKnowledgeRuntime().getAgenda().getAgendaGroup( "show items" ).setFocus();		
+		drools.getKnowledgeRuntime().getAgenda().getAgendaGroup( "evaluate" ).setFocus();		
 end
 
 

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/StateExampleUsingAgendGroup.drl
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/StateExampleUsingAgendGroup.drl	2008-11-19 05:10:23 UTC (rev 23940)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/StateExampleUsingAgendGroup.drl	2008-11-19 05:57:30 UTC (rev 23941)
@@ -29,7 +29,7 @@
 	then
 		System.out.println(c.getName() + " finished" );
 		c.setState( State.FINISHED );
-		drools.setFocus( "B to D" );
+		drools.getKnowledgeRuntime().getAgenda().getAgendaGroup( "B to D" ).setFocus();
 end
 
 rule "B to D"

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-agendagroup.drl
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-agendagroup.drl	2008-11-19 05:10:23 UTC (rev 23940)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-agendagroup.drl	2008-11-19 05:57:30 UTC (rev 23941)
@@ -86,8 +86,7 @@
 	agenda-group "reset calculate"
 when
 then
-	WorkingMemory wm = drools.getWorkingMemory();
-	wm.clearAgendaGroup( "calculate" );
+	drools.getKnowledgeRuntime().getAgenda().getAgendaGroup( "calculate" ).clear();
 end
 
 rule "kill"




More information about the jboss-svn-commits mailing list