⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 petstore.java.drl

📁 rule engine drools-2.0-beta-18
💻 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() &gt;= 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() &gt;= 10.00</java:condition>        <java:condition>cart.getGrossCost() &lt; 19.9</java:condition>        <java:condition>cart.getDiscount() &lt; 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() &gt;= 20.00</java:condition>        <java:condition>cart.getDiscount() &lt; 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 + -