]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.db.server/src/org/simantics/db/server/internal/DatabaseManager.java
Fixed multiple issues causing dangling references to discarded queries
[simantics/platform.git] / bundles / org.simantics.db.server / src / org / simantics / db / server / internal / DatabaseManager.java
1 package org.simantics.db.server.internal;
2
3 import java.io.IOException;
4 import java.nio.file.Path;
5 import java.util.HashMap;
6 import java.util.Map;
7
8 import org.simantics.db.server.ProCoreException;
9
10 public class DatabaseManager {
11     private static Map<String, DatabaseI> dbs = new HashMap<String, DatabaseI>();
12     public static DatabaseI getDatabase(Path folder) throws ProCoreException {
13         String address;
14         try {
15             address = folder.toFile().getCanonicalPath();
16         } catch (IOException e) {
17             throw new ProCoreException("Could not get canonical path.", e);
18         }
19         DatabaseI db = dbs.get(address);
20         if (null != db)
21             return db;
22         db =  DatabaseI.newDatabaseI(folder.toFile());
23         dbs.put(address, db);
24         return db;
25     }
26 }