From 555c373a0c4dfe386dcd2c88ae9548d95e307409 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Thu, 9 Jun 2016 17:27:29 +0200 Subject: Moved query logic to EntityReader to make it reusable in the resource. --- common/entitystore.cpp | 52 -------------------------------------------------- 1 file changed, 52 deletions(-) (limited to 'common/entitystore.cpp') diff --git a/common/entitystore.cpp b/common/entitystore.cpp index 5296d53..5fb213d 100644 --- a/common/entitystore.cpp +++ b/common/entitystore.cpp @@ -28,55 +28,3 @@ EntityStore::EntityStore(const QByteArray &resourceType, const QByteArray &resou } -QSharedPointer EntityStore::getLatest(const Sink::Storage::NamedDatabase &db, const QByteArray &uid, DomainTypeAdaptorFactoryInterface &adaptorFactory, qint64 &retrievedRevision) -{ - QSharedPointer current; - db.findLatest(uid, - [¤t, &adaptorFactory, &retrievedRevision](const QByteArray &key, const QByteArray &data) -> bool { - Sink::EntityBuffer buffer(const_cast(data.data()), data.size()); - if (!buffer.isValid()) { - Warning() << "Read invalid buffer from disk"; - } else { - Trace() << "Found value " << key; - current = adaptorFactory.createAdaptor(buffer.entity()); - retrievedRevision = Sink::Storage::revisionFromKey(key); - } - return false; - }, - [](const Sink::Storage::Error &error) { Warning() << "Failed to read current value from storage: " << error.message; }); - return current; -} - -QSharedPointer EntityStore::get(const Sink::Storage::NamedDatabase &db, const QByteArray &key, DomainTypeAdaptorFactoryInterface &adaptorFactory, qint64 &retrievedRevision) -{ - QSharedPointer current; - db.scan(key, - [¤t, &adaptorFactory, &retrievedRevision](const QByteArray &key, const QByteArray &data) -> bool { - Sink::EntityBuffer buffer(const_cast(data.data()), data.size()); - if (!buffer.isValid()) { - Warning() << "Read invalid buffer from disk"; - } else { - current = adaptorFactory.createAdaptor(buffer.entity()); - retrievedRevision = Sink::Storage::revisionFromKey(key); - } - return false; - }, - [](const Sink::Storage::Error &error) { Warning() << "Failed to read current value from storage: " << error.message; }); - return current; -} - -QSharedPointer EntityStore::getPrevious(const Sink::Storage::NamedDatabase &db, const QByteArray &uid, qint64 revision, DomainTypeAdaptorFactoryInterface &adaptorFactory, qint64 &retrievedRevision) -{ - QSharedPointer current; - qint64 latestRevision = 0; - db.scan(uid, - [¤t, &latestRevision, revision](const QByteArray &key, const QByteArray &) -> bool { - auto foundRevision = Sink::Storage::revisionFromKey(key); - if (foundRevision < revision && foundRevision > latestRevision) { - latestRevision = foundRevision; - } - return true; - }, - [](const Sink::Storage::Error &error) { Warning() << "Failed to read current value from storage: " << error.message; }, true); - return get(db, Sink::Storage::assembleKey(uid, latestRevision), adaptorFactory, retrievedRevision); -} -- cgit v1.2.3