?? petstore.java.drl
字號:
<?xml version="1.0"?><rule-set name="PetStore Rules" xmlns="http://drools.org/rules" xmlns:java="http://drools.org/semantics/java" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:schemaLocation="http://drools.org/rules rules.xsd http://drools.org/semantics/java java.xsd"> <application-data identifier="frame">javax.swing.JFrame</application-data> <!-- assert each item in the shopping cart into the Working Memory --> <rule name="Explode Cart" salience="20"> <parameter identifier="cart"> <class>org.drools.examples.petstore.ShoppingCart</class> </parameter> <java:condition>cart.getState( "Exploded" ) == false</java:condition> <java:consequence> import java.util.Iterator; System.out.println( "Examining each item in the shopping cart." ); Iterator itemIter = cart.getItems().iterator(); while ( itemIter.hasNext() ) { drools.assertObject( itemIter.next() ); } cart.setState( "Exploded", true); drools.modifyObject( cart ); </java:consequence> </rule> <!-- Free Fish Food sample when we buy a Gold Fish if we haven't already bought Fish Food and dont already have a Fish Food Sample--> <rule name="Free Fish Food Sample"> <parameter identifier="cart"> <class>org.drools.examples.petstore.ShoppingCart</class> </parameter> <parameter identifier="item"> <class>org.drools.examples.petstore.CartItem</class> </parameter> <java:condition>cart.getItems( "Fish Food Sample" ).size() == 0</java:condition> <java:condition>cart.getItems( "Fish Food" ).size() == 0</java:condition> <java:condition>item.getName().equals( "Gold Fish" )</java:condition> <java:consequence> System.out.println( "Adding free Fish Food Sample to cart" ); cart.addItem( new org.drools.examples.petstore.CartItem( "Fish Food Sample", 0.00 ) ); drools.modifyObject( cart ); </java:consequence> </rule> <!-- Suggest a tank if we have bought more than 5 gold fish and dont already have one--> <rule name="Suggest Tank" salience="10"> <parameter identifier="cart"> <class>org.drools.examples.petstore.ShoppingCart</class> </parameter> <java:condition>cart.getState( "Suggested Fish Tank" ) == false</java:condition> <java:condition>cart.getItems( "Gold Fish" ).size() >= 5</java:condition> <java:condition>cart.getItems( "Fish Tank" ).size() == 0</java:condition> <java:consequence> import javax.swing.JOptionPane; Object[] options = {"Yes", "No"}; int n = JOptionPane.showOptionDialog(frame, "Would you like to buy a tank for your " + cart.getItems( "Gold Fish" ).size() + " fish?", "Purchase Suggestion", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]); System.out.print( "SUGGESTION: Would you like to buy a tank for your " + cart.getItems( "Gold Fish" ).size() + " fish? - " ); if (n == 0) { cart.addItem( new org.drools.examples.petstore.CartItem( "Fish Tank", 25.00 ) ); System.out.println( "Yes" ); } else { System.out.println( "No" ); } cart.setState( "Suggested Fish Tank", true ); drools.modifyObject( cart ); </java:consequence> </rule> <!-- Give 5% discount if gross cost is more than 20.00 --> <rule name="Apply 5% Discount"> <parameter identifier="cart"> <class>org.drools.examples.petstore.ShoppingCart</class> </parameter> <java:condition>cart.getGrossCost() >= 10.00</java:condition> <java:condition>cart.getGrossCost() < 19.9</java:condition> <java:condition>cart.getDiscount() < 0.05</java:condition> <java:consequence> System.out.println( "Applying 5% discount to cart" ); cart.setDiscount( 0.05 ); </java:consequence> </rule> <!-- Give 10% discount if gross cost is more than 20.00 --> <rule name="Apply 10% Discount"> <parameter identifier="cart"> <class>org.drools.examples.petstore.ShoppingCart</class> </parameter> <java:condition>cart.getGrossCost() >= 20.00</java:condition> <java:condition>cart.getDiscount() < 0.10</java:condition> <java:consequence> System.out.println( "Applying 10% discount to cart" ); cart.setDiscount( 0.10 ); </java:consequence> </rule> </rule-set>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -