@Override public void commit() { db.commit(); }
@Override public void open() throws FailStoreException { try { map = db.treeMap("lts"); db.commit(); } catch (Exception e) { throw new FailStoreException(e); } }
@Override public void open() throws FailStoreException { try { map = db.treeMap("lts"); db.commit(); } catch (Exception e) { throw new FailStoreException(e); } }
@Override public void delete(List<String> keys) throws FailStoreException { if (keys == null || keys.size() == 0) { return; } try { for (String key : keys) { map.remove(key); } db.commit(); } catch (Exception e) { db.rollback(); throw new FailStoreException(e); } }
@Override public void delete(List<String> keys) throws FailStoreException { if (keys == null || keys.size() == 0) { return; } try { for (String key : keys) { map.remove(key); } db.commit(); } catch (Exception e) { db.rollback(); throw new FailStoreException(e); } }
@Override public void delete(String key) throws FailStoreException { try { map.remove(key); // persist changes into disk db.commit(); } catch (Exception e) { db.rollback(); throw new FailStoreException(e); } }
@Override public void delete(String key) throws FailStoreException { try { map.remove(key); // persist changes into disk db.commit(); } catch (Exception e) { db.rollback(); throw new FailStoreException(e); } }
DB storage = storageRegistry.get(storageType); if(isOpenStorage(storage)) { storage.commit();
@Override public void put(String key, Object value) throws FailStoreException { try { String valueString = JSON.toJSONString(value); map.put(key, valueString); // persist changes into disk db.commit(); } catch (Exception e) { db.rollback(); throw new FailStoreException(e); } }
@Override public void put(String key, Object value) throws FailStoreException { try { String valueString = JSON.toJSONString(value); map.put(key, valueString); // persist changes into disk db.commit(); } catch (Exception e) { db.rollback(); throw new FailStoreException(e); } }
/** {@inheritDoc} */ @Override public <T extends Serializable> void saveObject(String name, T serializableObject) { assertConnectionOpen(); DB storage = openStorage(StorageType.PRIMARY_STORAGE); Atomic.Var<T> atomicVar = storage.getAtomicVar(name); Map<String, Object> objRefs = preSerializer(serializableObject); atomicVar.set(serializableObject); storage.commit(); postSerializer(serializableObject, objRefs); }
@Override public byte[] put(Long key, byte[] value) { byte[] b = this.treeMap.put(key, value); this.db.commit(); return b; }
@Override public byte[] remove(Object key) { byte[] b = this.treeMap.remove(key); this.db.commit(); return b; }
@Override public void putAll(Map<? extends Long, ? extends byte[]> m) { this.treeMap.putAll(m); this.db.commit(); }
@Override public void clear() { this.treeMap.clear(); this.db.commit(); }
public void close() { db.commit(); db.close(); }
@Override public void close() throws IOException { this.db.commit(); this.treeMap.close(); this.db.close(); }
/** * MapDB requires the database to be closed at the end of operations. This is usually handled by the * {@code closeOnJvmShutdown()} snippet in the initializer, but this method needs to be called if * multiple instances of the {@link TextAnnotationMapDBHandler} are used. */ public void close() { db.commit(); db.close(); }
@Override public void addTextAnnotation(String dataset, TextAnnotation ta) { final ConcurrentMap<Integer, byte[]> data = getMap(dataset); try { data.put(ta.getTokenizedText().hashCode(), SerializationHelper.serializeTextAnnotationToBytes(ta)); } catch (IOException e) { throw new RuntimeException(e); } db.commit(); }
@Override public void updateTextAnnotation(TextAnnotation ta) { for (String dataset : getAllDatasets()) { final ConcurrentMap<Integer, byte[]> data = getMap(dataset); try { data.replace(ta.getTokenizedText().hashCode(), SerializationHelper.serializeTextAnnotationToBytes(ta)); } catch (IOException e) { throw new RuntimeException(e); } } db.commit(); }