01: /*
02: This file is part of the PolePosition database benchmark
03: http://www.polepos.org
04:
05: This program is free software; you can redistribute it and/or
06: modify it under the terms of the GNU General Public License
07: as published by the Free Software Foundation; either version 2
08: of the License, or (at your option) any later version.
09:
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 java.io.*;
23:
24: import com.db4o.*;
25: import com.db4o.ext.*;
26:
27: /**
28: *
29: * @author Herkules
30: */
31: public class Db4oCarLocal extends Db4oCar {
32:
33: private static final String FOLDER = "data/db4o";
34:
35: private static final String DB4O_FILE = "dbbench.yap";
36:
37: public Db4oCarLocal() {
38: super (Db4o.version().substring(5));
39:
40: }
41:
42: /**
43: * Initialize the database by deleting the database file.
44: */
45: public void initialize() {
46: new File(FOLDER).mkdirs();
47: deleteDatabaseFile();
48: }
49:
50: /**
51: * Open database in the configured mode.
52: */
53: public ExtObjectContainer createObjectContainer() {
54: return Db4o.openFile(path()).ext();
55: }
56:
57: /**
58: * get rid of the database file.
59: */
60: private void deleteDatabaseFile() {
61: new File(path()).delete();
62: }
63:
64: private final String path() {
65: return FOLDER + "/" + DB4O_FILE;
66:
67: }
68:
69: }
|