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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Oct 8 00:00:09 EDT 2007


Author: mark.proctor at jboss.com
Date: 2007-10-08 00:00:09 -0400 (Mon, 08 Oct 2007)
New Revision: 15633

Added:
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Account.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/AllocatedCashflow.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Cashflow.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example1.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example2.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example3.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example4.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example5.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example6.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/RuleRunner.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/SimpleDate.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/TypedCashflow.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example1.drl
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example2.drl
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example3.drl
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example4.drl
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example5.drl
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example6.drl
Log:
JBRULES-1257 Banking Tutorial from John Dunning

Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Account.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Account.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Account.java	2007-10-08 04:00:09 UTC (rev 15633)
@@ -0,0 +1,33 @@
+package org.drools.tutorials.banking;
+
+public class Account {
+    private long   accountNo;
+    private double balance = 0;
+
+    public Account() {
+    }
+
+    public Account(long accountNo) {
+        this.accountNo = accountNo;
+    }
+
+    public long getAccountNo() {
+        return accountNo;
+    }
+
+    public void setAccountNo(long accountNo) {
+        this.accountNo = accountNo;
+    }
+
+    public double getBalance() {
+        return balance;
+    }
+
+    public void setBalance(double balance) {
+        this.balance = balance;
+    }
+
+    public String toString() {
+        return "Account[" + "accountNo=" + accountNo + ",balance=" + balance + "]";
+    }
+}

Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/AllocatedCashflow.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/AllocatedCashflow.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/AllocatedCashflow.java	2007-10-08 04:00:09 UTC (rev 15633)
@@ -0,0 +1,34 @@
+package org.drools.tutorials.banking;
+
+import java.util.Date;
+
+public class AllocatedCashflow extends TypedCashflow {
+    private Account account;
+
+    public AllocatedCashflow() {
+    }
+
+    public AllocatedCashflow(Account account,
+                             Date date,
+                             int type,
+                             double amount) {
+        super( date,
+               type,
+               amount );
+        this.account = account;
+    }
+
+    public Account getAccount() {
+        return account;
+    }
+
+    public void setAccount(Account account) {
+        this.account = account;
+    }
+
+    public String toString() {
+        return "AllocatedCashflow[" + "account=" + account + ",date=" + getDate() + 
+                                  ",type=" + (getType() == CREDIT ? "Credit" : "Debit") + 
+                                  ",amount=" + getAmount() + "]";
+    }
+}
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Cashflow.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Cashflow.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Cashflow.java	2007-10-08 04:00:09 UTC (rev 15633)
@@ -0,0 +1,39 @@
+package org.drools.tutorials.banking;
+
+import java.util.Date;
+
+public class Cashflow {
+
+    private Date   date;
+
+    private double amount;
+
+    public Cashflow() {
+    }
+
+    public Cashflow(Date date,
+                    double amount) {
+        this.date = date;
+        this.amount = amount;
+    }
+
+    public Date getDate() {
+        return date;
+    }
+
+    public void setDate(Date date) {
+        this.date = date;
+    }
+
+    public double getAmount() {
+        return amount;
+    }
+
+    public void setAmount(double amount) {
+        this.amount = amount;
+    }
+
+    public String toString() {
+        return "Cashflow[date=" + date + ",amount=" + amount + "]";
+    }
+}

Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example1.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example1.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example1.java	2007-10-08 04:00:09 UTC (rev 15633)
@@ -0,0 +1,8 @@
+package org.drools.tutorials.banking;
+
+public class Example1 {
+    public static void main(String[] args) throws Exception {
+        new RuleRunner().runRules( new String[] { "Example1.drl" },
+                                   new Object[0] );
+    }
+}

Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example2.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example2.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example2.java	2007-10-08 04:00:09 UTC (rev 15633)
@@ -0,0 +1,13 @@
+package org.drools.tutorials.banking;
+
+public class Example2 {
+    public static void main(String[] args) throws Exception {
+        Number[] numbers = new Number[] {wrap(3), wrap(1), wrap(4), wrap(1), wrap(5)};
+        new RuleRunner().runRules( new String[] { "Example2.drl" },
+                                   numbers );
+    }
+    
+    private static Integer wrap(int i) {
+        return new Integer(i);
+    }
+}

Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example3.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example3.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example3.java	2007-10-08 04:00:09 UTC (rev 15633)
@@ -0,0 +1,13 @@
+package org.drools.tutorials.banking;
+
+public class Example3 {
+    public static void main(String[] args) throws Exception {
+        Number[] numbers = new Number[] {wrap(3), wrap(1), wrap(4), wrap(1), wrap(5)};
+        new RuleRunner().runRules( new String[] { "Example3.drl" },
+                                   numbers );
+    }
+    
+    private static Integer wrap(int i) {
+        return new Integer(i);
+    }
+}

Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example4.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example4.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example4.java	2007-10-08 04:00:09 UTC (rev 15633)
@@ -0,0 +1,16 @@
+package org.drools.tutorials.banking;
+
+public class Example4 {    
+    public static void main(String[] args) throws Exception {
+        Object[] cashflows = {
+            new Cashflow(new SimpleDate("01/01/2007"), 300.00),
+            new Cashflow(new SimpleDate("05/01/2007"), 100.00),
+            new Cashflow(new SimpleDate("11/01/2007"), 500.00),
+            new Cashflow(new SimpleDate("07/01/2007"), 800.00),
+            new Cashflow(new SimpleDate("02/01/2007"), 400.00),
+        };
+        
+        new RuleRunner().runRules( new String[] { "Example4.drl" },
+                                   cashflows );
+    }
+}

Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example5.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example5.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example5.java	2007-10-08 04:00:09 UTC (rev 15633)
@@ -0,0 +1,21 @@
+package org.drools.tutorials.banking;
+
+public class Example5 {    
+    public static void main(String[] args) throws Exception {      
+        Object[] cashflows = {
+            new TypedCashflow(new SimpleDate("01/01/2007"),    
+                              TypedCashflow.CREDIT, 300.00),
+            new TypedCashflow(new SimpleDate("05/01/2007"),
+                              TypedCashflow.CREDIT, 100.00),
+            new TypedCashflow(new SimpleDate("11/01/2007"),
+                              TypedCashflow.CREDIT, 500.00),
+            new TypedCashflow(new SimpleDate("07/01/2007"),
+                              TypedCashflow.DEBIT, 800.00),
+            new TypedCashflow(new SimpleDate("02/01/2007"),
+                              TypedCashflow.DEBIT, 400.00),
+        };
+        
+        new RuleRunner().runRules( new String[] { "Example5.drl" },
+                                   cashflows );
+    }
+}

Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example6.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example6.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/Example6.java	2007-10-08 04:00:09 UTC (rev 15633)
@@ -0,0 +1,34 @@
+package org.drools.tutorials.banking;
+
+public class Example6 {    
+    public static void main(String[] args) throws Exception {      
+        Account acc1 = new Account(1);
+        Account acc2 = new Account(2);
+           
+        Object[] cashflows = {
+            new AllocatedCashflow(acc1,new SimpleDate("01/01/2007"),
+                                  TypedCashflow.CREDIT, 300.00),
+            new AllocatedCashflow(acc1,new SimpleDate("05/02/2007"),
+                                  TypedCashflow.CREDIT, 100.00),
+            new AllocatedCashflow(acc2,new SimpleDate("11/03/2007"),
+                                  TypedCashflow.CREDIT, 500.00),
+            new AllocatedCashflow(acc1,new SimpleDate("07/02/2007"),
+                                  TypedCashflow.DEBIT,  800.00),
+            new AllocatedCashflow(acc2,new SimpleDate("02/03/2007"),
+                                  TypedCashflow.DEBIT,  400.00),
+            new AllocatedCashflow(acc1,new SimpleDate("01/04/2007"),    
+                                  TypedCashflow.CREDIT, 200.00),
+            new AllocatedCashflow(acc1,new SimpleDate("05/04/2007"),
+                                  TypedCashflow.CREDIT, 300.00),
+            new AllocatedCashflow(acc2,new SimpleDate("11/05/2007"),
+                                  TypedCashflow.CREDIT, 700.00),
+            new AllocatedCashflow(acc1,new SimpleDate("07/05/2007"),
+                                  TypedCashflow.DEBIT,  900.00),
+            new AllocatedCashflow(acc2,new SimpleDate("02/05/2007"),
+                                  TypedCashflow.DEBIT,  100.00)           
+        };
+        
+        new RuleRunner().runRules( new String[] { "Example6.drl" },
+                                   cashflows );
+    }
+}

Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/RuleRunner.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/RuleRunner.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/RuleRunner.java	2007-10-08 04:00:09 UTC (rev 15633)
@@ -0,0 +1,40 @@
+package org.drools.tutorials.banking;
+
+import java.io.InputStreamReader;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.WorkingMemory;
+import org.drools.compiler.PackageBuilder;
+import org.drools.rule.Package;
+
+public class RuleRunner {
+
+    public RuleRunner() {
+    }
+
+    public void runRules(String[] rules,
+                         Object[] facts) throws Exception {
+
+        RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+        PackageBuilder builder = new PackageBuilder();
+
+        for ( int i = 0; i < rules.length; i++ ) {
+            String ruleFile = rules[i];
+            System.out.println( "Loading file: " + ruleFile );            
+            builder.addPackageFromDrl(new InputStreamReader( RuleRunner.class.getResourceAsStream( ruleFile ) ) );
+        }
+
+        Package pkg = builder.getPackage();
+        ruleBase.addPackage( pkg );
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+        for ( int i = 0; i < facts.length; i++ ) {
+            Object fact = facts[i];
+            System.out.println( "Inserting fact: " + fact );
+            workingMemory.insert( fact );
+        }
+
+        workingMemory.fireAllRules();
+    }
+}

Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/SimpleDate.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/SimpleDate.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/SimpleDate.java	2007-10-08 04:00:09 UTC (rev 15633)
@@ -0,0 +1,15 @@
+package org.drools.tutorials.banking;
+
+import java.text.SimpleDateFormat;
+
+import java.util.Date;
+
+
+public class SimpleDate extends Date {
+    private static final SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
+    
+    public SimpleDate(String datestr) throws Exception {             
+        setTime(format.parse(datestr).getTime());
+    }
+
+}

Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/TypedCashflow.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/TypedCashflow.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/tutorials/banking/TypedCashflow.java	2007-10-08 04:00:09 UTC (rev 15633)
@@ -0,0 +1,33 @@
+package org.drools.tutorials.banking;
+
+import java.util.Date;
+
+public class TypedCashflow extends Cashflow {
+    public static final int CREDIT = 0;
+    public static final int DEBIT  = 1;
+
+    private int             type;
+
+    public TypedCashflow() {
+    }
+
+    public TypedCashflow(Date date,
+                         int type,
+                         double amount) {
+        super( date,
+               amount );
+        this.type = type;
+    }
+
+    public int getType() {
+        return type;
+    }
+
+    public void setType(int type) {
+        this.type = type;
+    }
+
+    public String toString() {
+        return "TypedCashflow[date=" + getDate() + ",type=" + (type == CREDIT ? "Credit" : "Debit") + ",amount=" + getAmount() + "]";
+    }
+}

Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example1.drl
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example1.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example1.drl	2007-10-08 04:00:09 UTC (rev 15633)
@@ -0,0 +1,9 @@
+package org.drools.tutorials.banking
+
+
+rule "Rule 01"   
+    when
+        eval (1==1)
+    then
+        System.out.println("Rule 01 Works");
+end
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example2.drl
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example2.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example2.drl	2007-10-08 04:00:09 UTC (rev 15633)
@@ -0,0 +1,8 @@
+package org.drools.tutorials.banking
+
+rule "Rule 01"   
+    when
+        Number( $intValue : intValue )
+    then
+        System.out.println("Number found with value: " + $intValue); 
+end
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example3.drl
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example3.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example3.drl	2007-10-08 04:00:09 UTC (rev 15633)
@@ -0,0 +1,11 @@
+package org.drools.tutorials.banking
+
+
+rule "Rule 01"   
+    when
+        $number : Number( )
+        not Number( intValue < $number.intValue )
+    then
+        System.out.println("Number found with value: " + $number.intValue() ); 
+        retract( $number );
+end
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example4.drl
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example4.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example4.drl	2007-10-08 04:00:09 UTC (rev 15633)
@@ -0,0 +1,11 @@
+package org.drools.tutorials.banking
+
+
+rule "Rule 01"   
+    when
+        $cashflow : Cashflow( $date : date, $amount : amount )
+        not Cashflow( date < $date)
+    then
+        System.out.println("Cashflow: "+$date+" :: "+$amount);  
+        retract($cashflow);
+end
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example5.drl
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example5.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example5.drl	2007-10-08 04:00:09 UTC (rev 15633)
@@ -0,0 +1,13 @@
+package org.drools.tutorials.banking
+
+rule "Rule 01"  
+    when
+        $cashflow : TypedCashflow( $date : date,
+                                   $amount : amount,
+                                   type == TypedCashflow.CREDIT )
+        not TypedCashflow( date < $date,
+                           type == TypedCashflow.CREDIT )
+    then
+        System.out.println("Credit: "+$date+" :: "+$amount);   
+        retract($cashflow);
+end
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example6.drl
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example6.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/tutorials/banking/Example6.drl	2007-10-08 04:00:09 UTC (rev 15633)
@@ -0,0 +1,29 @@
+package org.drools.tutorials.banking
+
+rule "Rule 06 - Credit"  
+    when
+        $cashflow : AllocatedCashflow( $account : account,
+                                       $date : date, $amount : amount,
+                                        type==TypedCashflow.CREDIT )
+        not AllocatedCashflow( account == $account, date < $date)
+    then
+        System.out.println("Credit: " + $date + " :: " + $amount);     
+        $account.setBalance($account.getBalance()+$amount);
+        System.out.println("Account: " + $account.getAccountNo() +
+                           " - new balance: " + $account.getBalance());          
+        retract($cashflow);
+end
+
+rule "Rule 06 - Debit"  
+    when
+        $cashflow : AllocatedCashflow( $account : account,
+                            $date : date, $amount : amount,
+                            type==TypedCashflow.DEBIT )
+        not AllocatedCashflow( account == $account, date < $date)
+    then
+        System.out.println("Debit: " + $date + " :: " + $amount);      
+        $account.setBalance($account.getBalance() - $amount);
+        System.out.println("Account: " + $account.getAccountNo() +
+                           " - new balance: " + $account.getBalance());           
+        retract($cashflow);
+end
\ No newline at end of file




More information about the jboss-svn-commits mailing list