@Override public void connect() throws IOException { backing.connect(); documentio = new CachingDocumentNIO<BackingType>(backing, cache); documentio.prepare(); }
public DatabaseDocument<T> convert(LocalDocument localDocument) throws ConversionException { return getDatabaseConnector().convert(localDocument); }
private void handleGetFilenames(HttpRequest request, HttpResponse response) throws IOException { Tuple tuple = getTuple(request, response); if(tuple == null) { return; } DatabaseDocument<T> md = io.getDocumentById(tuple.docid); if(md==null) { HttpResponseWriter.printNoDocument(response); return; } HttpResponseWriter.printJson(response, io.getDocumentFileNames(md)); }
private void handleGetFile(HttpRequest request, HttpResponse response) throws IOException { Triple triple = getTriple(request, response); if(triple==null) { return; } DatabaseDocument<T> md = io.getDocumentById(triple.docid); if(md==null) { HttpResponseWriter.printNoDocument(response); return; } DocumentFile<T> df = io.getDocumentFile(md, triple.fileName); if(df==null) { HttpResponseWriter.printFileNotFound(response, triple.fileName); return; } HttpResponseWriter.printJson(response, df); }
private void handleDeleteFile(HttpRequest request, HttpResponse response) throws IOException { Triple triple = getTriple(request, response); if(triple == null) { return; } DatabaseDocument<T> md = io.getDocumentById(triple.docid); if(md==null) { HttpResponseWriter.printNoDocument(response); return; } if(io.deleteDocumentFile(md, triple.fileName)) { HttpResponseWriter.printFileDeleteOk(response, triple.fileName, md.getID()); return; } HttpResponseWriter.printFileNotFound(response, triple.fileName); }
private void handleSaveFile(HttpRequest request, HttpResponse response) { try { DocumentFile<T> df = getDocumentFile(request); if (df == null) { HttpResponseWriter.printBadRequestContent(response); } DatabaseDocument<T> md = io.getDocumentById(df.getDocumentId()); if (md == null) { HttpResponseWriter.printNoDocument(response); return; } io.write(df); HttpResponseWriter.printOk(response); } catch (Exception e) { logger.error("An error occurred during file save", e); HttpResponseWriter.printUnhandledException(response, e); } }
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; } }
md = io.convert(new LocalDocument(requestContent)); } catch (JsonException e) { HttpResponseWriter.printJsonException(response, e); DatabaseDocument<T> dbdoc = io.getDocumentById(md.getID()); long query = System.currentTimeMillis(); if(dbdoc==null) {
public HttpRESTHandler(DatabaseConnector<T> dbc) { this(new CachingDocumentNIO<T>(dbc, new NoopCache<T>()), dbc .getPipelineReader(), null, false); }
@Override public DatabaseDocument<T> getDocumentById(DocumentID<T> id, boolean includeInactive) { DatabaseDocument<T> doc = getDocumentById(id); if (doc == null && includeInactive) { return reader.getDocumentById(id, includeInactive); } return cache.getDocumentById(id); }
@Override public DatabaseDocument<T> getAndTag(DatabaseQuery<T> query, String... tags) { DatabaseDocument<T> doc = cache.getAndTag(query, tags); if (doc == null) { for (String t : tags) { query.requireNotFetchedByStage(t); } doc = writer.getAndTag(query, addCacheTag(tags)); if (doc != null) { for (String t : tags) { doc.setFetchedBy(t, new Date()); } cache.add(doc); } } return getCopy(doc); }
private DatabaseQuery<T> requestToQuery(String requestContent) throws JsonException { return io.convert(new LocalQuery(requestContent)); }
@Override public DatabaseDocument<T> getDocument(DatabaseQuery<T> q) { DatabaseDocument<T> doc = cache.getDocument(q); if (doc == null) { doc = reader.getDocument(q); cache.add(doc); } return getCopy(doc); }
@Override public Collection<DatabaseDocument<T>> getAndTag(DatabaseQuery<T> query, int n, String... tags) { Collection<DatabaseDocument<T>> list = new ArrayList<DatabaseDocument<T>>(); Collection<DatabaseDocument<T>> c = cache.getAndTag(query, n, tags); if (c != null) { list.addAll(c); } if (list.size() == 0) { for (String t : tags) { query.requireNotFetchedByStage(t); } list = writer.getAndTag(query, n, addCacheTag(tags)); for (DatabaseDocument<T> d : list) { for (String t : tags) { d.setFetchedBy(t, new Date()); } } cache.add(list); } return list; }
Document<T> d = io.getAndTag(dbq, stage);
CachingDocumentNIO<MongoType> caching = new CachingDocumentNIO<MongoType>( backing, cache,
md = io.convert(new LocalDocument(requestContent));
@Override public DatabaseDocument<T> getDocumentById(DocumentID<T> id) { DatabaseDocument<T> doc = cache.getDocumentById(id); if (doc == null) { doc = reader.getDocumentById(id, false); if(doc != null) { cache.add(doc); } else { return null; } } return getCopy(doc); }
public DatabaseQuery<T> convert(LocalQuery localQuery) { return getDatabaseConnector().convert(localQuery); }
@Override public void handle(HttpRequest request, HttpResponse response, HttpContext arg2) throws HttpException, IOException { logger.trace("handleReleaseDocument()"); HttpEntity requestEntity = ((HttpEntityEnclosingRequest) request) .getEntity(); String requestContent = EntityUtils.toString(requestEntity); String stage = RESTTools.getParam(request, HttpEndpointConstants.STAGE_PARAM); if (stage == null) { HttpResponseWriter.printMissingParameter(response, HttpEndpointConstants.STAGE_PARAM); return; } try { boolean x = release(io.convert(new LocalDocument(requestContent)), stage); if (!x) { HttpResponseWriter.printNoDocument(response); } } catch (JsonException e) { HttpResponseWriter.printJsonException(response, e); return; } catch (ConversionException e) { HttpResponseWriter.printUnhandledException(response, e); return; } HttpResponseWriter.printDocumentReleased(response); }