Mercurial > hg > mpdl-group
comparison software/eXist/mpdl-modules/src/de/mpg/mpiwg/berlin/mpdl/lt/doc/regularization/DbEnvRegularization.java @ 0:408254cf2f1d
Erstellung
author | Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de> |
---|---|
date | Wed, 24 Nov 2010 17:24:23 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:408254cf2f1d |
---|---|
1 package de.mpg.mpiwg.berlin.mpdl.lt.doc.regularization; | |
2 | |
3 import java.io.File; | |
4 | |
5 import com.sleepycat.je.Database; | |
6 import com.sleepycat.je.DatabaseConfig; | |
7 import com.sleepycat.je.DatabaseException; | |
8 import com.sleepycat.je.Environment; | |
9 import com.sleepycat.je.EnvironmentConfig; | |
10 | |
11 import de.mpg.mpiwg.berlin.mpdl.exception.ApplicationException; | |
12 | |
13 public class DbEnvRegularization { | |
14 private String dataDir; | |
15 private File envPath; | |
16 private Environment env; | |
17 private EnvironmentConfig envConfig; | |
18 private DatabaseConfig dbConfig; | |
19 private Database origDB; | |
20 private Database normDB; | |
21 | |
22 public DbEnvRegularization() { | |
23 } | |
24 | |
25 public void setDataDir(String dataDir) { | |
26 this.dataDir = dataDir; | |
27 } | |
28 | |
29 public void init() throws ApplicationException { | |
30 try { | |
31 envConfig = new EnvironmentConfig(); | |
32 dbConfig = new DatabaseConfig(); | |
33 envConfig.setReadOnly(false); | |
34 dbConfig.setReadOnly(false); | |
35 envConfig.setAllowCreate(true); | |
36 dbConfig.setAllowCreate(true); | |
37 envConfig.setTransactional(true); | |
38 dbConfig.setTransactional(true); | |
39 // allow duplicates for keys | |
40 dbConfig.setSortedDuplicates(true); | |
41 envPath = new File(dataDir); | |
42 env = new Environment(envPath, envConfig); | |
43 } catch (DatabaseException e) { | |
44 throw new ApplicationException(e); | |
45 } | |
46 } | |
47 | |
48 public void openDatabases() throws ApplicationException { | |
49 try { | |
50 // open databases (and create them if they do not exist) | |
51 origDB = env.openDatabase(null, "OrigDB", dbConfig); | |
52 normDB = env.openDatabase(null, "NormDB", dbConfig); | |
53 } catch (DatabaseException e) { | |
54 throw new ApplicationException(e); | |
55 } | |
56 } | |
57 | |
58 public void removeDatabases() throws ApplicationException { | |
59 try { | |
60 if (origDB != null) | |
61 origDB.close(); | |
62 if (normDB != null) | |
63 normDB.close(); | |
64 env.removeDatabase(null, "OrigDB"); | |
65 env.removeDatabase(null, "NormDB"); | |
66 origDB = null; | |
67 normDB = null; | |
68 } catch (DatabaseException e) { | |
69 throw new ApplicationException(e); | |
70 } | |
71 } | |
72 | |
73 public Environment getEnv() { | |
74 return env; | |
75 } | |
76 | |
77 public Database getNormDB() { | |
78 return normDB; | |
79 } | |
80 | |
81 public Database getOrigDB() { | |
82 return origDB; | |
83 } | |
84 | |
85 public void close() throws ApplicationException { | |
86 if (env != null) { | |
87 try { | |
88 if (origDB != null) | |
89 origDB.close(); | |
90 if (normDB != null) | |
91 normDB.close(); | |
92 if (env != null) | |
93 env.close(); | |
94 } catch (DatabaseException e) { | |
95 throw new ApplicationException(e); | |
96 } | |
97 } | |
98 } | |
99 } | |
100 |