1 2 3 package com.db4odoc.f1.persist; 4 5 import java.io.File ; 6 7 import com.db4o.Db4o; 8 import com.db4o.ObjectContainer; 9 import com.db4o.ObjectSet; 10 import com.db4odoc.f1.Util; 11 12 13 public class PeekPersistedExample extends Util { 14 15 16 public static void main(String [] args) { 17 measureCarTemperature(); 18 } 19 21 public static void setObjects(){ 22 new File (Util.YAPFILENAME).delete(); 23 ObjectContainer db = Db4o.openFile(Util.YAPFILENAME); 24 try { 25 Car car = new Car("BMW"); 26 db.set(car); 27 } finally { 28 db.close(); 29 } 30 } 31 33 public static void measureCarTemperature(){ 34 setObjects(); 35 ObjectContainer db = Db4o.openFile(Util.YAPFILENAME); 36 try { 37 ObjectSet result = db.query(Car.class); 38 if (result.size() > 0){ 39 Car car = (Car)result.get(0); 40 Car car1 = (Car)db.ext().peekPersisted(car, 5, true); 41 Change1 ch1 = new Change1(); 42 ch1.init(car1); 43 Car car2 = (Car)db.ext().peekPersisted(car, 5, true); 44 Change2 ch2 = new Change2(); 45 ch2.init(car2); 46 try { 47 Thread.sleep(300); 48 } catch (InterruptedException e) {} 49 car.setModel("BMW M3Coupe"); 51 db.set(car); 52 ch1.stop(); 53 ch2.stop(); 54 System.out.println("car1 saved to the database: " + db.ext().isStored(car1)); 55 System.out.println("car2 saved to the database: " + db.ext().isStored(car1)); 56 int temperature = (int)((car1.getTemperature() + car2.getTemperature())/2); 57 car.setTemperature(temperature); 58 db.set(car); 59 } 60 } finally { 61 db.close(); 62 } 63 checkCar(); 64 } 65 67 public static void checkCar(){ 68 ObjectContainer db = Db4o.openFile(Util.YAPFILENAME); 69 try { 70 ObjectSet result = db.query(Car.class); 71 listResult(result); 72 } finally { 73 db.close(); 74 } 75 } 76 78 public static void listResult(ObjectSet result) { 79 System.out.println(result.size()); 80 while(result.hasNext()) { 81 System.out.println(result.next()); 82 } 83 } 84 } 86 | Popular Tags |