@Override public Long getMtime(Coll<?> coll, String id) { DBCollection dbcoll = fixColl(coll); BasicDBObject found = (BasicDBObject) dbcoll.findOne(new BasicDBObject(ID_FIELD, id), dboKeysMtime); if (found == null) return null; if (!found.containsField(MTIME_FIELD)) return null; // This should not happen! But better to ignore than crash? return found.getLong(MTIME_FIELD); }
@Override public Entry<JsonElement, Long> load(Coll<?> coll, String id) { DBCollection dbcoll = fixColl(coll); BasicDBObject raw = (BasicDBObject) dbcoll.findOne(new BasicDBObject(ID_FIELD, id)); if (raw == null) return null; Long mtime = ((Number) raw.removeField(MTIME_FIELD)).longValue(); raw.removeField(ID_FIELD); JsonElement element = GsonMongoConverter.mongo2GsonObject(raw); return new SimpleEntry<JsonElement, Long>(element, mtime); }