KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > db4o > f1 > chapter5 > TransactionExample


1 package com.db4o.f1.chapter5;
2
3 import java.io.*;
4 import com.db4o.*;
5 import com.db4o.f1.*;
6
7
8 public class TransactionExample extends Util {
9     public static void main(String JavaDoc[] args) {
10         new File(Util.YAPFILENAME).delete();
11         ObjectContainer db=Db4o.openFile(Util.YAPFILENAME);
12         try {
13             storeCarCommit(db);
14             db.close();
15             db=Db4o.openFile(Util.YAPFILENAME);
16             listAllCars(db);
17             storeCarRollback(db);
18             db.close();
19             db=Db4o.openFile(Util.YAPFILENAME);
20             listAllCars(db);
21             carSnapshotRollback(db);
22             carSnapshotRollbackRefresh(db);
23         }
24         finally {
25             db.close();
26         }
27     }
28     
29     public static void storeCarCommit(ObjectContainer db) {
30         Pilot pilot=new Pilot("Rubens Barrichello",99);
31         Car car=new Car("BMW");
32         car.setPilot(pilot);
33         db.set(car);
34         db.commit();
35     }
36
37     public static void listAllCars(ObjectContainer db) {
38         ObjectSet result=db.get(Car.class);
39         listResult(result);
40     }
41     
42     public static void storeCarRollback(ObjectContainer db) {
43         Pilot pilot=new Pilot("Michael Schumacher",100);
44         Car car=new Car("Ferrari");
45         car.setPilot(pilot);
46         db.set(car);
47         db.rollback();
48     }
49
50     public static void carSnapshotRollback(ObjectContainer db) {
51         ObjectSet result=db.get(new Car("BMW"));
52         Car car=(Car)result.next();
53         car.snapshot();
54         db.set(car);
55         db.rollback();
56         System.out.println(car);
57     }
58
59     public static void carSnapshotRollbackRefresh(ObjectContainer db) {
60         ObjectSet result=db.get(new Car("BMW"));
61         Car car=(Car)result.next();
62         car.snapshot();
63         db.set(car);
64         db.rollback();
65         db.ext().refresh(car,Integer.MAX_VALUE);
66         System.out.println(car);
67     }
68 }
69
Popular Tags