KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > db4odoc > f1 > clientserver > TransactionExample


1 package com.db4odoc.f1.clientserver;
2
3 import java.io.*;
4 import com.db4o.*;
5
6
7 public class TransactionExample {
8     public final static String JavaDoc YAPFILENAME="formula1.yap";
9     public static void main(String JavaDoc[] args) {
10         new File(YAPFILENAME).delete();
11         ObjectContainer db=Db4o.openFile(YAPFILENAME);
12         try {
13             storeCarCommit(db);
14             db.close();
15             db=Db4o.openFile(YAPFILENAME);
16             listAllCars(db);
17             storeCarRollback(db);
18             db.close();
19             db=Db4o.openFile(YAPFILENAME);
20             listAllCars(db);
21             carSnapshotRollback(db);
22             carSnapshotRollbackRefresh(db);
23         }
24         finally {
25             db.close();
26         }
27     }
28     // end main
29

30     public static void storeCarCommit(ObjectContainer db) {
31         Pilot pilot=new Pilot("Rubens Barrichello",99);
32         Car car=new Car("BMW");
33         car.setPilot(pilot);
34         db.set(car);
35         db.commit();
36     }
37     // end storeCarCommit
38

39     public static void listAllCars(ObjectContainer db) {
40         ObjectSet result=db.get(Car.class);
41         listResult(result);
42     }
43     // end listAllCars
44

45     public static void storeCarRollback(ObjectContainer db) {
46         Pilot pilot=new Pilot("Michael Schumacher",100);
47         Car car=new Car("Ferrari");
48         car.setPilot(pilot);
49         db.set(car);
50         db.rollback();
51     }
52     // end storeCarRollback
53

54     public static void carSnapshotRollback(ObjectContainer db) {
55         ObjectSet result=db.get(new Car("BMW"));
56         Car car=(Car)result.next();
57         car.snapshot();
58         db.set(car);
59         db.rollback();
60         System.out.println(car);
61     }
62     // end carSnapshotRollback
63

64     public static void carSnapshotRollbackRefresh(ObjectContainer db) {
65         ObjectSet result=db.get(new Car("BMW"));
66         Car car=(Car)result.next();
67         car.snapshot();
68         db.set(car);
69         db.rollback();
70         db.ext().refresh(car,Integer.MAX_VALUE);
71         System.out.println(car);
72     }
73     // end carSnapshotRollbackRefresh
74

75     public static void listResult(ObjectSet result) {
76         System.out.println(result.size());
77         while(result.hasNext()) {
78             System.out.println(result.next());
79         }
80     }
81     // end listResult
82
}
83
Popular Tags