[jboss-svn-commits] JBL Code SVN: r18485 - in labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main: java/org/drools/examples/troubleticket and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sat Feb 16 03:38:51 EST 2008
Author: mark.proctor at jboss.com
Date: 2008-02-16 03:38:51 -0500 (Sat, 16 Feb 2008)
New Revision: 18485
Added:
labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/
labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/Customer.java
labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/Ticket.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
labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/troubleticket/
labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/troubleticket/TroubleTicket.drl
labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/troubleticket/TroubleTicket.xls
labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/troubleticket/TroubleTicketWithDSL.dslr
labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/troubleticket/ticketing.dsl
Removed:
labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/TroubleTicketExample.java
labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/TroubleTicketExampleWithDSL.java
labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/TroubleTicket.drl
labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/TroubleTicketWithDSL.dslr
labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/ticketing.dsl
Log:
JBRULES-1469 Add DecisionTable example for the TroubleTicket example
Deleted: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/TroubleTicketExample.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/TroubleTicketExample.java 2008-02-15 21:45:03 UTC (rev 18484)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/TroubleTicketExample.java 2008-02-16 08:38:51 UTC (rev 18485)
@@ -1,136 +0,0 @@
-package org.drools.examples;
-
-import java.io.InputStreamReader;
-
-import org.drools.FactHandle;
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.StatefulSession;
-import org.drools.audit.WorkingMemoryFileLogger;
-import org.drools.compiler.PackageBuilder;
-
-public class TroubleTicketExample {
-
- /**
- * @param args
- */
- public static void main(final String[] args) throws Exception {
-
- final PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl( new InputStreamReader( TroubleTicketExample.class.getResourceAsStream( "TroubleTicket.drl" ) ) );
-
- final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
- ruleBase.addPackage( builder.getPackage() );
-
- final StatefulSession session = ruleBase.newStatefulSession();
-
- final WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger( session );
- logger.setFileName( "log/trouble_ticket" );
-
- final Customer a = new Customer( "A",
- "Gold" );
- final Customer b = new Customer( "B",
- "Platinum" );
- final Customer c = new Customer( "C",
- "Silver" );
- final Customer d = new Customer( "D",
- "Silver" );
-
- final Ticket t1 = new Ticket( a );
- final Ticket t2 = new Ticket( b );
- final Ticket t3 = new Ticket( c );
- final Ticket t4 = new Ticket( d );
-
- session.insert( a );
- session.insert( b );
- session.insert( c );
- session.insert( d );
-
- session.insert( t1 );
- session.insert( t2 );
- final FactHandle ft3 = session.insert( t3 );
- session.insert( t4 );
-
- session.fireAllRules();
-
- t3.setStatus( "Done" );
-
- session.update( ft3,
- t3 );
-
- try {
- System.err.println( "[[ Sleeping 5 seconds ]]" );
- Thread.sleep( 5000 );
- } catch ( final InterruptedException e ) {
- e.printStackTrace();
- }
-
- System.err.println( "[[ awake ]]" );
-
- session.dispose();
-
- logger.writeToDisk();
- }
-
- public static class Customer {
- private String name;
- private String subscription;
-
- public Customer() {
-
- }
-
- public Customer(final String name,
- final String subscription) {
- super();
- this.name = name;
- this.subscription = subscription;
- }
-
- public String getName() {
- return this.name;
- }
-
- public String getSubscription() {
- return this.subscription;
- }
-
- public String toString() {
- return "[Customer " + this.name + " : " + this.subscription + "]";
- }
-
- }
-
- public static class Ticket {
- private Customer customer;
- private String status;
-
- public Ticket() {
-
- }
-
- public Ticket(final Customer customer) {
- super();
- this.customer = customer;
- this.status = "New";
- }
-
- public String getStatus() {
- return this.status;
- }
-
- public void setStatus(final String status) {
- this.status = status;
- }
-
- public Customer getCustomer() {
- return this.customer;
- }
-
- public String toString() {
- return "[Ticket " + this.customer + " : " + this.status + "]";
- }
-
- }
-
-}
Deleted: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/TroubleTicketExampleWithDSL.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/TroubleTicketExampleWithDSL.java 2008-02-15 21:45:03 UTC (rev 18484)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/TroubleTicketExampleWithDSL.java 2008-02-16 08:38:51 UTC (rev 18485)
@@ -1,147 +0,0 @@
-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.audit.WorkingMemoryFileLogger;
-import org.drools.compiler.PackageBuilder;
-
-public class TroubleTicketExampleWithDSL {
-
- /**
- * @param args
- */
- public static void main(final String[] args) throws Exception {
-
- final PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl( getSource(),
- getDSL() );
-
- final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
- ruleBase.addPackage( builder.getPackage() );
-
- final StatefulSession session = ruleBase.newStatefulSession();
-
- final WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger( session );
- logger.setFileName( "log/state" );
-
- final Customer a = new Customer( "A",
- "Gold" );
- final Customer b = new Customer( "B",
- "Platinum" );
- final Customer c = new Customer( "C",
- "Silver" );
- final Customer d = new Customer( "D",
- "Silver" );
-
- final Ticket t1 = new Ticket( a );
- final Ticket t2 = new Ticket( b );
- final Ticket t3 = new Ticket( c );
- final Ticket t4 = new Ticket( d );
-
- final FactHandle fa = session.insert( a );
- final FactHandle fb = session.insert( b );
- final FactHandle fc = session.insert( c );
- final FactHandle fd = session.insert( d );
-
- final FactHandle ft1 = session.insert( t1 );
- final FactHandle ft2 = session.insert( t2 );
- final FactHandle ft3 = session.insert( t3 );
- final FactHandle ft4 = session.insert( t4 );
-
- session.fireAllRules();
-
- t3.setStatus( "Done" );
-
- session.update( ft3,
- t3 );
-
- try {
- System.err.println( "[[ Sleeping 5 seconds ]]" );
- Thread.sleep( 5000 );
- } catch ( final InterruptedException e ) {
- e.printStackTrace();
- }
-
- session.fireAllRules();
-
- session.dispose();
-
- logger.writeToDisk();
- }
-
- private static Reader getDSL() {
- return new InputStreamReader( TroubleTicketExampleWithDSL.class.getResourceAsStream( "ticketing.dsl" ) );
-
- }
-
- private static InputStreamReader getSource() {
- return new InputStreamReader( TroubleTicketExampleWithDSL.class.getResourceAsStream( "TroubleTicketWithDSL.dslr" ) );
- }
-
- public static class Customer {
- private String name;
- private String subscription;
-
- public Customer() {
-
- }
-
- public Customer(final String name,
- final String subscription) {
- super();
- this.name = name;
- this.subscription = subscription;
- }
-
- public String getName() {
- return this.name;
- }
-
- public String getSubscription() {
- return this.subscription;
- }
-
- public String toString() {
- return "[Customer " + this.name + " : " + this.subscription + "]";
- }
-
- }
-
- public static class Ticket {
- private Customer customer;
- private String status;
-
- public Ticket() {
-
- }
-
- public Ticket(final Customer customer) {
- super();
- this.customer = customer;
- this.status = "New";
- }
-
- public String getStatus() {
- return this.status;
- }
-
- public void setStatus(final String status) {
- this.status = status;
- }
-
- public Customer getCustomer() {
- return this.customer;
- }
-
- public String toString() {
- return "[Ticket " + this.customer + " : " + this.status + "]";
- }
-
- }
-
-}
Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/Customer.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/Customer.java (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/Customer.java 2008-02-16 08:38:51 UTC (rev 18485)
@@ -0,0 +1,40 @@
+/**
+ *
+ */
+package org.drools.examples.troubleticket;
+
+public class Customer {
+ private String name;
+ private String subscription;
+ private String project;
+
+ public Customer() {
+
+ }
+
+ public Customer(final String name,
+ final String project,
+ final String subscription) {
+ super();
+ this.name = name;
+ this.project = project;
+ this.subscription = subscription;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public String getSubscription() {
+ return this.subscription;
+ }
+
+ public String getProject() {
+ return this.project;
+ }
+
+ public String toString() {
+ return "[Customer " + this.name + " : " + this.project + " : " + this.subscription + "]";
+ }
+
+}
\ No newline at end of file
Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/Ticket.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/Ticket.java (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/Ticket.java 2008-02-16 08:38:51 UTC (rev 18485)
@@ -0,0 +1,36 @@
+/**
+ *
+ */
+package org.drools.examples.troubleticket;
+
+public class Ticket {
+ private Customer customer;
+ private String status;
+
+ public Ticket() {
+
+ }
+
+ public Ticket(final Customer customer) {
+ super();
+ this.customer = customer;
+ this.status = "New";
+ }
+
+ public String getStatus() {
+ return this.status;
+ }
+
+ public void setStatus(final String status) {
+ this.status = status;
+ }
+
+ public Customer getCustomer() {
+ return this.customer;
+ }
+
+ public String toString() {
+ return "[Ticket " + this.customer + " : " + this.status + "]";
+ }
+
+}
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketExample.java (from rev 18477, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/TroubleTicketExample.java)
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketExample.java (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketExample.java 2008-02-16 08:38:51 UTC (rev 18485)
@@ -0,0 +1,82 @@
+package org.drools.examples.troubleticket;
+
+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;
+
+public class TroubleTicketExample {
+
+ /**
+ * @param args
+ */
+ public static void main(final String[] args) throws Exception {
+
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new InputStreamReader( TroubleTicketExample.class.getResourceAsStream( "TroubleTicket.drl" ) ) );
+
+ final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+ ruleBase.addPackage( builder.getPackage() );
+
+ final StatefulSession session = ruleBase.newStatefulSession();
+
+ ThreadedWorkingMemoryFileLogger logger = new ThreadedWorkingMemoryFileLogger(session);
+ logger.setFileName( "log/trouble_ticket" );
+ logger.start(1000);
+
+ final Customer a = new Customer( "A",
+ "Drools",
+ "Gold" );
+ final Customer b = new Customer( "B",
+ "Drools",
+ "Platinum" );
+ final Customer c = new Customer( "C",
+ "Drools",
+ "Silver" );
+ final Customer d = new Customer( "D",
+ "Drools",
+ "Silver" );
+
+ final Ticket t1 = new Ticket( a );
+ final Ticket t2 = new Ticket( b );
+ final Ticket t3 = new Ticket( c );
+ final Ticket t4 = new Ticket( d );
+
+ session.insert( a );
+ session.insert( b );
+ session.insert( c );
+ session.insert( d );
+
+ session.insert( t1 );
+ session.insert( t2 );
+ final FactHandle ft3 = session.insert( t3 );
+ session.insert( t4 );
+
+ session.fireAllRules();
+
+ t3.setStatus( "Done" );
+
+ session.update( ft3,
+ t3 );
+
+ try {
+ System.err.println( "[[ Sleeping 5 seconds ]]" );
+ Thread.sleep( 5000 );
+ } catch ( final InterruptedException e ) {
+ e.printStackTrace();
+ }
+
+ System.err.println( "[[ awake ]]" );
+
+ session.dispose();
+
+ logger.stop();
+ logger.writeToDisk();
+ }
+
+}
Copied: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketExampleWithDSL.java (from rev 18477, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/TroubleTicketExampleWithDSL.java)
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketExampleWithDSL.java (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketExampleWithDSL.java 2008-02-16 08:38:51 UTC (rev 18485)
@@ -0,0 +1,92 @@
+package org.drools.examples.troubleticket;
+
+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.audit.WorkingMemoryFileLogger;
+import org.drools.compiler.PackageBuilder;
+
+public class TroubleTicketExampleWithDSL {
+
+ /**
+ * @param args
+ */
+ public static void main(final String[] args) throws Exception {
+
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( getSource(),
+ getDSL() );
+
+ final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+ ruleBase.addPackage( builder.getPackage() );
+
+ final StatefulSession session = ruleBase.newStatefulSession();
+
+ final WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger( session );
+ logger.setFileName( "log/state" );
+
+ final Customer a = new Customer( "A",
+ "Drools",
+ "Gold" );
+ final Customer b = new Customer( "B",
+ "Drools",
+ "Platinum" );
+ final Customer c = new Customer( "C",
+ "Drools",
+ "Silver" );
+ final Customer d = new Customer( "D",
+ "Drools",
+ "Silver" );
+
+ final Ticket t1 = new Ticket( a );
+ final Ticket t2 = new Ticket( b );
+ final Ticket t3 = new Ticket( c );
+ final Ticket t4 = new Ticket( d );
+
+ final FactHandle fa = session.insert( a );
+ final FactHandle fb = session.insert( b );
+ final FactHandle fc = session.insert( c );
+ final FactHandle fd = session.insert( d );
+
+ final FactHandle ft1 = session.insert( t1 );
+ final FactHandle ft2 = session.insert( t2 );
+ final FactHandle ft3 = session.insert( t3 );
+ final FactHandle ft4 = session.insert( t4 );
+
+ session.fireAllRules();
+
+ t3.setStatus( "Done" );
+
+ session.update( ft3,
+ t3 );
+
+ try {
+ System.err.println( "[[ Sleeping 5 seconds ]]" );
+ Thread.sleep( 5000 );
+ } catch ( final InterruptedException e ) {
+ e.printStackTrace();
+ }
+
+ System.err.println( "[[ awake ]]" );
+
+ session.fireAllRules();
+
+ session.dispose();
+
+ logger.writeToDisk();
+ }
+
+ private static Reader getDSL() {
+ return new InputStreamReader( TroubleTicketExampleWithDSL.class.getResourceAsStream( "ticketing.dsl" ) );
+
+ }
+
+ private static InputStreamReader getSource() {
+ return new InputStreamReader( TroubleTicketExampleWithDSL.class.getResourceAsStream( "TroubleTicketWithDSL.dslr" ) );
+ }
+
+}
Added: 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 (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/troubleticket/TroubleTicketWithDT.java 2008-02-16 08:38:51 UTC (rev 18485)
@@ -0,0 +1,119 @@
+package org.drools.examples.troubleticket;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringReader;
+
+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.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;
+
+/**
+ * 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 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);
+
+ RuleBase ruleBase = buildRuleBase(drl);
+
+ // typical decision tables are used statelessly
+ StatefulSession session = ruleBase.newStatefulSession();
+
+ final WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger( session );
+ logger.setFileName( "log/trouble_ticket" );
+
+ final Customer a = new Customer( "A",
+ "Drools",
+ "Gold" );
+ final Customer b = new Customer( "B",
+ "Drools",
+ "Platinum" );
+ final Customer c = new Customer( "C",
+ "Drools",
+ "Silver" );
+ final Customer d = new Customer( "D",
+ "Drools",
+ "Silver" );
+
+ final Ticket t1 = new Ticket( a );
+ final Ticket t2 = new Ticket( b );
+ final Ticket t3 = new Ticket( c );
+ final Ticket t4 = new Ticket( d );
+
+ session.insert( a );
+ session.insert( b );
+ session.insert( c );
+ session.insert( d );
+
+ session.insert( t1 );
+ session.insert( t2 );
+ final FactHandle ft3 = session.insert( t3 );
+ session.insert( t4 );
+
+ session.fireAllRules();
+
+ t3.setStatus( "Done" );
+
+ session.update( ft3,
+ t3 );
+
+ try {
+ System.err.println( "[[ Sleeping 5 seconds ]]" );
+ Thread.sleep( 5000 );
+ } catch ( final InterruptedException e ) {
+ e.printStackTrace();
+ }
+
+ System.err.println( "[[ awake ]]" );
+
+ 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");
+ }
+
+
+
+
+}
Deleted: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/TroubleTicket.drl
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/TroubleTicket.drl 2008-02-15 21:45:03 UTC (rev 18484)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/TroubleTicket.drl 2008-02-16 08:38:51 UTC (rev 18485)
@@ -1,62 +0,0 @@
-package org.drools.examples
-
-import org.drools.examples.TroubleTicketExample.Customer;
-import org.drools.examples.TroubleTicketExample.Ticket;
-
-rule "New Ticket"
- salience 10
- when
- customer : Customer( )
- ticket : Ticket( customer == customer, status == "New" )
- then
- System.out.println( "New : " + ticket );
-end
-
-rule "Silver Priority"
- duration 3000
- when
- customer : Customer( subscription == "Silver" )
- ticket : Ticket( customer == customer, status == "New" )
- then
- ticket.setStatus( "Escalate" );
- update( ticket );
-end
-
-rule "Gold Priority"
- duration 1000
- when
- customer : Customer( subscription == "Gold" )
- ticket : Ticket( customer == customer, status == "New" )
- then
- ticket.setStatus( "Escalate" );
- update( ticket );
-end
-
-rule "Platinum Priority"
- when
- customer : Customer( subscription == "Platinum" )
- ticket : Ticket( customer == customer, status == "New" )
- then;
- ticket.setStatus( "Escalate" );
- update( ticket );
-end
-
-rule "Escalate"
- when
- customer : Customer( )
- ticket : Ticket( customer == customer, status == "Escalate" )
- then
- sendEscalationEmail( customer, ticket );
-end
-
-rule "Done"
- when
- customer : Customer( )
- ticket : Ticket( customer == customer, status == "Done" )
- then
- System.out.println( "Done : " + ticket );
-end
-
-function void sendEscalationEmail( Customer customer, Ticket ticket ) {
- System.out.println( "Email : " + ticket );
-}
\ No newline at end of file
Deleted: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/TroubleTicketWithDSL.dslr
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/TroubleTicketWithDSL.dslr 2008-02-15 21:45:03 UTC (rev 18484)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/TroubleTicketWithDSL.dslr 2008-02-16 08:38:51 UTC (rev 18485)
@@ -1,62 +0,0 @@
-package org.drools.examples
-expander ticketing.dsl
-
-
-rule "New Ticket"
- salience 10
- when
- There is a customer ticket with status of "New"
- then
- Log "New ticket..."
-end
-
-rule "Silver Priorty"
- #if after a certain time, we still have an issue, then escalate
- duration 3000
- when
- There is a "Silver" customer with a ticket status of "New"
-
- then
- Escalate the ticket
-end
-
-rule "Gold Priority"
- duration 1000
- when
- There is a "Gold" customer with a ticket status of "New"
- then
- Escalate the ticket
-end
-
-rule "Platinum Priority"
- #we don't want to make the high rollers wait !
- when
- There is a "Platinum" customer with a ticket status of "New"
- then
- Escalate the ticket
-end
-
-
-
-rule "Escalate"
- when
- There is a customer ticket with status of "Escalate"
- then
- Send escalation email
-end
-
-rule "Done"
- when
- There is a customer ticket with status of "Done"
- then
- Log "Done"
-end
-
-# This is the same as the non DSL version. This could be kept in another file of course.
-function void sendEscalationEmail( Customer customer, Ticket ticket ) {
- System.out.println( "Email : " + ticket );
-}
-
-#hey, the imports can appear anywhere !
-import org.drools.examples.TroubleTicketExampleWithDSL.Customer;
-import org.drools.examples.TroubleTicketExampleWithDSL.Ticket;
Deleted: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/ticketing.dsl
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/ticketing.dsl 2008-02-15 21:45:03 UTC (rev 18484)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/ticketing.dsl 2008-02-16 08:38:51 UTC (rev 18485)
@@ -1,5 +0,0 @@
-[condition][]There is a customer ticket with status of "{status}"=customer : Customer( ) ticket : Ticket( customer == customer, status == "{status}" )
-[condition][]There is a "{subscription}" customer with a ticket status of "{status}"=customer : Customer(subscription == "{subscription}") ticket : Ticket( customer == customer, status == "{status}")
-[consequence][]Log "{message}"=System.out.println("{message} ");
-[consequence][]Escalate the ticket=ticket.setStatus("Escalate"); update(ticket);
-[consequence][]Send escalation email=sendEscalationEmail( customer, ticket );
Copied: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/troubleticket/TroubleTicket.drl (from rev 18477, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/TroubleTicket.drl)
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/troubleticket/TroubleTicket.drl (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/troubleticket/TroubleTicket.drl 2008-02-16 08:38:51 UTC (rev 18485)
@@ -0,0 +1,59 @@
+package org.drools.examples.troubleticket
+
+import org.drools.examples.troubleticket.Customer;
+import org.drools.examples.troubleticket.Ticket;
+
+rule "New Ticket"
+ salience 10
+ when
+ customer : Customer( )
+ ticket : Ticket( customer == customer, status == "New" )
+ then
+ System.out.println( "New : " + ticket );
+end
+
+rule "Silver Priority"
+ duration 3000
+ when
+ customer : Customer( subscription == "Silver" )
+ ticket : Ticket( customer == customer, status == "New" )
+ then
+ modify( ticket ) { setStatus( "Escalate" ) };
+end
+
+rule "Gold Priority"
+ duration 1000
+ when
+ customer : Customer( subscription == "Gold" )
+ ticket : Ticket( customer == customer, status == "New" )
+ then
+ modify( ticket ) { setStatus( "Escalate" ) };
+end
+
+rule "Platinum Priority"
+ when
+ customer : Customer( subscription == "Platinum" )
+ ticket : Ticket( customer == customer, status == "New" )
+ then;
+ modify( ticket ) { setStatus( "Escalate" ) };
+end
+
+rule "Escalate"
+ when
+ customer : Customer( )
+ ticket : Ticket( customer == customer, status == "Escalate" )
+ then
+ sendEscalationEmail( customer, ticket );
+end
+
+rule "Done"
+ when
+ customer : Customer( )
+ ticket : Ticket( customer == customer, status == "Done" )
+ then
+ System.out.println( "Done : " + ticket );
+end
+
+function void sendEscalationEmail( Customer customer, Ticket ticket ) {
+ System.out.println( "Email : " + ticket );
+}
\ No newline at end of file
Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/troubleticket/TroubleTicket.xls
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/troubleticket/TroubleTicket.xls
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Copied: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/troubleticket/TroubleTicketWithDSL.dslr (from rev 18477, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/TroubleTicketWithDSL.dslr)
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/troubleticket/TroubleTicketWithDSL.dslr (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/troubleticket/TroubleTicketWithDSL.dslr 2008-02-16 08:38:51 UTC (rev 18485)
@@ -0,0 +1,62 @@
+package org.drools.examples.troubleticket
+expander ticketing.dsl
+
+
+rule "New Ticket"
+ salience 10
+ when
+ There is a customer ticket with status of "New"
+ then
+ Log "New ticket..."
+end
+
+rule "Silver Priorty"
+ #if after a certain time, we still have an issue, then escalate
+ duration 3000
+ when
+ There is a "Silver" customer with a ticket status of "New"
+
+ then
+ Escalate the ticket
+end
+
+rule "Gold Priority"
+ duration 1000
+ when
+ There is a "Gold" customer with a ticket status of "New"
+ then
+ Escalate the ticket
+end
+
+rule "Platinum Priority"
+ #we don't want to make the high rollers wait !
+ when
+ There is a "Platinum" customer with a ticket status of "New"
+ then
+ Escalate the ticket
+end
+
+
+
+rule "Escalate"
+ when
+ There is a customer ticket with status of "Escalate"
+ then
+ Send escalation email
+end
+
+rule "Done"
+ when
+ There is a customer ticket with status of "Done"
+ then
+ Log "Done"
+end
+
+# This is the same as the non DSL version. This could be kept in another file of course.
+function void sendEscalationEmail( Customer customer, Ticket ticket ) {
+ System.out.println( "Email : " + ticket );
+}
+
+#hey, the imports can appear anywhere !
+import org.drools.examples.troubleticket.Customer;
+import org.drools.examples.troubleticket.Ticket;
Copied: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/troubleticket/ticketing.dsl (from rev 18477, labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/ticketing.dsl)
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/troubleticket/ticketing.dsl (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/troubleticket/ticketing.dsl 2008-02-16 08:38:51 UTC (rev 18485)
@@ -0,0 +1,5 @@
+[condition][]There is a customer ticket with status of "{status}"=customer : Customer( ) ticket : Ticket( customer == customer, status == "{status}" )
+[condition][]There is a "{subscription}" customer with a ticket status of "{status}"=customer : Customer(subscription == "{subscription}") ticket : Ticket( customer == customer, status == "{status}")
+[consequence][]Log "{message}"=System.out.println("{message} ");
+[consequence][]Escalate the ticket=ticket.setStatus("Escalate"); update(ticket);
+[consequence][]Send escalation email=sendEscalationEmail( customer, ticket );
More information about the jboss-svn-commits
mailing list