33 |
33 |
*/
|
34 |
34 |
public class FileSystemObjectStoreDao implements ObjectStoreDao {
|
35 |
35 |
|
|
36 |
public static final String INTERPRETATION_FIELD = "interpretation";
|
|
37 |
public final static String OBJECTSTORE_METADATA_NAME_FIELD = "metadataObjectStore";
|
|
38 |
public final static String OBJECTSTORE_ID_FIELD = "obsId";
|
|
39 |
public final static String BASE_PATH_FIELD = "basePath";
|
36 |
40 |
private static final Log log = LogFactory.getLog(FileSystemObjectStoreDao.class); // NOPMD by marko on 11/24/08 5:02 PM
|
37 |
|
|
38 |
41 |
private static final String OBJECTSTORE_PROFILE_SUFFIX = "_T2JqZWN0U3RvcmVEU1Jlc291cmNlcy9PYmplY3RTdG9yZURTUmVzb3VyY2VUeXBl";
|
39 |
|
|
40 |
|
private static final String INTERPRETATION_FIELD = "interpretation";
|
41 |
|
|
42 |
|
private final static String OBJECTSTORE_METADATA_NAME_FIELD = "metadataObjectStore";
|
43 |
|
|
44 |
|
private final static String OBJECTSTORE_ID_FIELD = "obsId";
|
45 |
|
|
46 |
|
private final static String BASE_PATH_FIELD = "basePath";
|
47 |
|
|
48 |
42 |
@Resource(name="objectstoreMongoDB")
|
49 |
43 |
private MongoDatabase db;
|
50 |
44 |
|
... | ... | |
66 |
60 |
find_id += OBJECTSTORE_PROFILE_SUFFIX;
|
67 |
61 |
}
|
68 |
62 |
|
69 |
|
MongoCollection<DBObject> coll = getDb().getCollection(OBJECTSTORE_METADATA_NAME_FIELD, DBObject.class);
|
|
63 |
MongoCollection<DBObject> metadataObjectStore = getDb().getCollection(OBJECTSTORE_METADATA_NAME_FIELD, DBObject.class);
|
70 |
64 |
Bson query = Filters.eq(OBJECTSTORE_ID_FIELD, find_id);
|
71 |
|
log.debug("QUERY :"+query.toString());
|
72 |
|
DBObject resultQuery = coll.find(query).first();
|
73 |
|
log.debug("result "+resultQuery);
|
|
65 |
log.debug("QUERY :" + query.toString());
|
|
66 |
DBObject resultQuery = metadataObjectStore.find(query).first();
|
|
67 |
log.debug("result " + resultQuery);
|
74 |
68 |
if ((resultQuery == null)) throw new ObjectStoreFileNotFoundException("the objectStore with identifier: "+obsId+" was not found");
|
75 |
69 |
|
76 |
70 |
final String basePath = resultQuery.get(BASE_PATH_FIELD).toString();
|
... | ... | |
128 |
122 |
coll.insertOne(obj);
|
129 |
123 |
MongoCollection<DBObject> objectStore = getDb().getCollection(currentObsId, DBObject.class);
|
130 |
124 |
objectStore.createIndex(new BasicDBObject("id", 1));
|
|
125 |
objectStore.createIndex(new BasicDBObject("timestamp", 1));
|
131 |
126 |
return true;
|
132 |
127 |
} catch (Throwable e) {
|
133 |
128 |
throw new ObjectStoreServiceException("Can't Create the object Store id: '" + obsId, e);
|
create index on (id, timestamp) upon objectStore creation. Cleanup