| package groovy.txn; |
| |
| import groovy.lang.Closure; |
| |
| /** |
| * @author James Strachan |
| * @version $Revision$ |
| */ |
| public class TransactionBuilder { |
| public void transaction(Closure closure) { |
| TransactionBean bean = new TransactionBean(); |
| closure.setDelegate(bean); |
| closure.call(this); |
| |
| // lets call the closures now |
| System.out.println("Performing normal transaction"); |
| bean.run().call(this); |
| bean.onSuccess().call(this); |
| |
| System.out.println("Performing error transaction"); |
| bean.run().call(this); |
| bean.onError().call(this); |
| } |
| } |