[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