From 1dfa34048325eb01c377e442d479a63577ceff70 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Sun, 8 May 2016 12:17:02 +0200 Subject: Less duplication --- examples/maildirresource/maildirresource.cpp | 29 +++++++++++----------------- 1 file changed, 11 insertions(+), 18 deletions(-) (limited to 'examples') diff --git a/examples/maildirresource/maildirresource.cpp b/examples/maildirresource/maildirresource.cpp index 7ac4b08..4505373 100644 --- a/examples/maildirresource/maildirresource.cpp +++ b/examples/maildirresource/maildirresource.cpp @@ -281,17 +281,19 @@ KAsync::Job MaildirResource::replay(Sink::Storage &synchronizationStore, c { auto synchronizationTransaction = synchronizationStore.createTransaction(Sink::Storage::ReadWrite); + Sink::EntityBuffer buffer(value); + const Sink::Entity &entity = buffer.entity(); + const auto metadataBuffer = Sink::EntityBuffer::readBuffer(entity.metadata()); + Q_ASSERT(metadataBuffer); + if (!metadataBuffer->replayToSource()) { + Trace() << "Change is coming from the source"; + return KAsync::null(); + } + const qint64 revision = metadataBuffer ? metadataBuffer->revision() : -1; + const auto operation = metadataBuffer ? metadataBuffer->operation() : Sink::Operation_Creation; + Trace() << "Replaying " << key << type; if (type == ENTITY_TYPE_FOLDER) { - Sink::EntityBuffer buffer(value); - const Sink::Entity &entity = buffer.entity(); - const auto metadataBuffer = Sink::EntityBuffer::readBuffer(entity.metadata()); - if (metadataBuffer && !metadataBuffer->replayToSource()) { - Trace() << "Change is coming from the source"; - return KAsync::null(); - } - const qint64 revision = metadataBuffer ? metadataBuffer->revision() : -1; - const auto operation = metadataBuffer ? metadataBuffer->operation() : Sink::Operation_Creation; if (operation == Sink::Operation_Creation) { const Sink::ApplicationDomain::Folder folder(mResourceInstanceIdentifier, Sink::Storage::uidFromKey(key), revision, mFolderAdaptorFactory->createAdaptor(entity)); auto folderName = folder.getProperty("name").toString(); @@ -315,15 +317,6 @@ KAsync::Job MaildirResource::replay(Sink::Storage &synchronizationStore, c Warning() << "Unkown operation" << operation; } } else if (type == ENTITY_TYPE_MAIL) { - Sink::EntityBuffer buffer(value); - const Sink::Entity &entity = buffer.entity(); - const auto metadataBuffer = Sink::EntityBuffer::readBuffer(entity.metadata()); - if (metadataBuffer && !metadataBuffer->replayToSource()) { - Trace() << "Change is coming from the source"; - return KAsync::null(); - } - const qint64 revision = metadataBuffer ? metadataBuffer->revision() : -1; - const auto operation = metadataBuffer ? metadataBuffer->operation() : Sink::Operation_Creation; if (operation == Sink::Operation_Creation) { const Sink::ApplicationDomain::Mail mail(mResourceInstanceIdentifier, Sink::Storage::uidFromKey(key), revision, mMailAdaptorFactory->createAdaptor(entity)); auto parentFolder = mail.getProperty("folder").toByteArray(); -- cgit v1.2.3