KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > polepos > teams > db4o > BarcelonaDb4o


1 /*
2 This file is part of the PolePosition database benchmark
3 http://www.polepos.org
4
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public License
7 as published by the Free Software Foundation; either version 2
8 of the License, or (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public
16 License along with this program; if not, write to the Free
17 Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
18 MA 02111-1307, USA. */

19
20 package org.polepos.teams.db4o;
21
22 import org.polepos.circuits.barcelona.*;
23 import org.polepos.framework.*;
24
25 import com.db4o.*;
26 import com.db4o.query.*;
27
28
29 public class BarcelonaDb4o extends Db4oDriver implements BarcelonaDriver{
30     
31     public void takeSeatIn(Car car, TurnSetup setup) throws CarMotorFailureException{
32         Db4o.configure().objectClass( B2.class ).objectField( "b2" ).indexed( true );
33         super.takeSeatIn(car, setup);
34     }
35     
36     public void write(){
37         int count = setup().getObjectCount();
38         begin();
39         for (int i = 1; i<= count; i++) {
40             B4 b4 = new B4();
41             b4.setAll(i);
42             store(b4);
43         }
44         commit();
45     }
46     
47     public void read(){
48         readExtent(B4.class);
49     }
50     
51     public void query(){
52         int count = setup().getSelectCount();
53         for (int i = 1; i <= count; i++) {
54             Query q = db().query();
55             q.constrain(B4.class);
56             q.descend("b2").constrain(i);
57             doQuery(q);
58         }
59     }
60     
61     public void delete(){
62         begin();
63         Query q = db().query();
64         q.constrain(B4.class);
65         ObjectSet deleteSet = q.execute();
66         while(deleteSet.hasNext()){
67             db().delete(deleteSet.next());
68             addToCheckSum(5);
69         }
70         commit();
71     }
72
73 }
74
Popular Tags