@Override public boolean update(DatabaseDocument<T> document) { DatabaseDocument<T> inCache = getDocumentById(document.getID()); if (inCache != null) { inCache.putAll(document); freshen(inCache.getID()); return true; } return false; }
@Override public boolean markDiscarded(DatabaseDocument<T> d, String stage) { DatabaseDocument<T> cached = cache.getDocumentById(d.getID()); d.putAll(cached); cache.remove(d.getID()); if (writer.markDiscarded(d, stage)) { return true; } return false; }
@Override public boolean markPending(DatabaseDocument<T> d, String stage) { DatabaseDocument<T> cached = cache.getDocumentById(d.getID()); d.putAll(cached); cache.remove(d.getID()); return writer.markPending(d, stage); }
@Override public boolean markProcessed(DatabaseDocument<T> d, String stage) { DatabaseDocument<T> cached = cache.getDocumentById(d.getID()); if (cached != null) { d.putAll(cached); cache.remove(d.getID()); } if (writer.markProcessed(d, stage)) { return true; } return false; }
@Override public boolean markFailed(DatabaseDocument<T> d, String stage) { DatabaseDocument<T> cached = cache.getDocumentById(d.getID()); d.putAll(cached); cache.remove(d.getID()); if (writer.markFailed(d, stage)) { return true; } return false; }
dbdoc.putAll(md);
private boolean handlePartialWrite(DatabaseDocument<T> md, HttpResponse response) throws UnsupportedEncodingException{ logger.trace("handlePartialWrite()"); if(md.getID()==null) { HttpResponseWriter.printMissingID(response); return false; } logger.debug("Handling a partial write for document "+md.getID()); DatabaseDocument<T> inDB = io.getDocumentById(md.getID()); if(inDB==null) { HttpResponseWriter.printNoDocument(response); return false; } inDB.putAll(md); if(io.update(inDB)){ HttpResponseWriter.printSaveOk(response, md.getID()); return true; } else { HttpResponseWriter.printSaveFailed(response, md.getID()); return false; } }