From 12a87e1d6d5c0e4b5a5aacbfa880678629321c1d Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Tue, 7 Jul 2015 11:05:03 +0200 Subject: Use the resource instance name --- common/genericresource.cpp | 4 ++-- common/resource.h | 2 +- examples/dummyresource/resourcefactory.cpp | 9 ++++----- examples/dummyresource/resourcefactory.h | 6 +++--- synchronizer/listener.cpp | 2 +- tests/dummyresourcebenchmark.cpp | 26 +++++++++++++------------- tests/dummyresourcetest.cpp | 4 ++-- 7 files changed, 26 insertions(+), 27 deletions(-) diff --git a/common/genericresource.cpp b/common/genericresource.cpp index b6485d7..139ae98 100644 --- a/common/genericresource.cpp +++ b/common/genericresource.cpp @@ -155,8 +155,8 @@ private: GenericResource::GenericResource(const QByteArray &resourceInstanceIdentifier) : Akonadi2::Resource(), - mUserQueue(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + "/akonadi2/storage", "org.kde." + resourceInstanceIdentifier + ".userqueue"), - mSynchronizerQueue(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + "/akonadi2/storage", "org.kde." + resourceInstanceIdentifier + ".synchronizerqueue"), + mUserQueue(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + "/akonadi2/storage", resourceInstanceIdentifier + ".userqueue"), + mSynchronizerQueue(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + "/akonadi2/storage", resourceInstanceIdentifier + ".synchronizerqueue"), mResourceInstanceIdentifier(resourceInstanceIdentifier), mError(0) { diff --git a/common/resource.h b/common/resource.h index ea1e9d8..ebbc2e1 100644 --- a/common/resource.h +++ b/common/resource.h @@ -58,7 +58,7 @@ public: ResourceFactory(QObject *parent); virtual ~ResourceFactory(); - virtual Resource *createResource() = 0; + virtual Resource *createResource(const QByteArray &instanceIdentifier) = 0; virtual void registerFacades(FacadeFactory &factory) = 0; private: diff --git a/examples/dummyresource/resourcefactory.cpp b/examples/dummyresource/resourcefactory.cpp index e244131..de13aa9 100644 --- a/examples/dummyresource/resourcefactory.cpp +++ b/examples/dummyresource/resourcefactory.cpp @@ -105,9 +105,8 @@ QMap populate() static QMap s_dataSource = populate(); -//FIXME We need to pass the resource-instance name to generic resource, not the plugin name -DummyResource::DummyResource() - : Akonadi2::GenericResource(PLUGIN_NAME ".instance1") +DummyResource::DummyResource(const QByteArray &instanceIdentifier) + : Akonadi2::GenericResource(instanceIdentifier) { } @@ -213,9 +212,9 @@ DummyResourceFactory::DummyResourceFactory(QObject *parent) } -Akonadi2::Resource *DummyResourceFactory::createResource() +Akonadi2::Resource *DummyResourceFactory::createResource(const QByteArray &instanceIdentifier) { - return new DummyResource(); + return new DummyResource(instanceIdentifier); } void DummyResourceFactory::registerFacades(Akonadi2::FacadeFactory &factory) diff --git a/examples/dummyresource/resourcefactory.h b/examples/dummyresource/resourcefactory.h index f5caf61..f2362bc 100644 --- a/examples/dummyresource/resourcefactory.h +++ b/examples/dummyresource/resourcefactory.h @@ -32,7 +32,7 @@ class DummyResource : public Akonadi2::GenericResource { public: - DummyResource(); + DummyResource(const QByteArray &instanceIdentifier); KAsync::Job synchronizeWithSource(Akonadi2::Pipeline *pipeline) Q_DECL_OVERRIDE; void configurePipeline(Akonadi2::Pipeline *pipeline) Q_DECL_OVERRIDE; }; @@ -46,7 +46,7 @@ class DummyResourceFactory : public Akonadi2::ResourceFactory public: DummyResourceFactory(QObject *parent = 0); - Akonadi2::Resource *createResource(); - void registerFacades(Akonadi2::FacadeFactory &factory); + Akonadi2::Resource *createResource(const QByteArray &instanceIdentifier) Q_DECL_OVERRIDE; + void registerFacades(Akonadi2::FacadeFactory &factory) Q_DECL_OVERRIDE; }; diff --git a/synchronizer/listener.cpp b/synchronizer/listener.cpp index c8b81e8..36fa6ea 100644 --- a/synchronizer/listener.cpp +++ b/synchronizer/listener.cpp @@ -370,7 +370,7 @@ void Listener::loadResource() Akonadi2::ResourceFactory *resourceFactory = Akonadi2::ResourceFactory::load(m_resourceName); if (resourceFactory) { - m_resource = resourceFactory->createResource(); + m_resource = resourceFactory->createResource(m_resourceInstanceIdentifier); Log() << QString("Resource factory: %1").arg((qlonglong)resourceFactory); Log() << QString("\tResource: %1").arg((qlonglong)m_resource); m_resource->configurePipeline(m_pipeline); diff --git a/tests/dummyresourcebenchmark.cpp b/tests/dummyresourcebenchmark.cpp index e350747..fd2cb01 100644 --- a/tests/dummyresourcebenchmark.cpp +++ b/tests/dummyresourcebenchmark.cpp @@ -29,18 +29,18 @@ private Q_SLOTS: { auto factory = Akonadi2::ResourceFactory::load("org.kde.dummy"); QVERIFY(factory); - removeFromDisk("org.kde.dummy"); - removeFromDisk("org.kde.dummy.userqueue"); - removeFromDisk("org.kde.dummy.synchronizerqueue"); - removeFromDisk("org.kde.dummy.index.uid"); + removeFromDisk("org.kde.dummy.instance1"); + removeFromDisk("org.kde.dummy.instance1.userqueue"); + removeFromDisk("org.kde.dummy.instance1.synchronizerqueue"); + removeFromDisk("org.kde.dummy.instance1.index.uid"); } void cleanup() { - removeFromDisk("org.kde.dummy"); - removeFromDisk("org.kde.dummy.userqueue"); - removeFromDisk("org.kde.dummy.synchronizerqueue"); - removeFromDisk("org.kde.dummy.index.uid"); + removeFromDisk("org.kde.dummy.instance1"); + removeFromDisk("org.kde.dummy.instance1.userqueue"); + removeFromDisk("org.kde.dummy.instance1.synchronizerqueue"); + removeFromDisk("org.kde.dummy.instance1.index.uid"); } void testWriteToFacadeAndQueryByUid() @@ -53,14 +53,14 @@ private Q_SLOTS: event.setProperty("uid", "testuid"); QCOMPARE(event.getProperty("uid").toByteArray(), QByteArray("testuid")); event.setProperty("summary", "summaryValue"); - Akonadi2::Store::create(event, "org.kde.dummy"); + Akonadi2::Store::create(event, "org.kde.dummy.instance1"); } auto appendTime = time.elapsed(); //Ensure everything is processed { Akonadi2::Query query; - query.resources << "org.kde.dummy"; + query.resources << "org.kde.dummy.instance1"; query.syncOnDemand = false; query.processAll = true; @@ -74,7 +74,7 @@ private Q_SLOTS: { time.start(); Akonadi2::Query query; - query.resources << "org.kde.dummy"; + query.resources << "org.kde.dummy.instance1"; query.syncOnDemand = false; query.processAll = false; @@ -94,9 +94,9 @@ private Q_SLOTS: time.start(); int num = 10000; - Akonadi2::Pipeline pipeline("org.kde.dummy"); + Akonadi2::Pipeline pipeline("org.kde.dummy.instance1"); QSignalSpy revisionSpy(&pipeline, SIGNAL(revisionUpdated())); - DummyResource resource; + DummyResource resource("org.kde.dummy.instance1"); resource.configurePipeline(&pipeline); flatbuffers::FlatBufferBuilder eventFbb; diff --git a/tests/dummyresourcetest.cpp b/tests/dummyresourcetest.cpp index 4c27b10..1c3b09b 100644 --- a/tests/dummyresourcetest.cpp +++ b/tests/dummyresourcetest.cpp @@ -85,7 +85,7 @@ private Q_SLOTS: //Actual test Akonadi2::Pipeline pipeline("org.kde.dummy.instance1"); QSignalSpy revisionSpy(&pipeline, SIGNAL(revisionUpdated())); - DummyResource resource; + DummyResource resource("org.kde.dummy.instance1"); resource.configurePipeline(&pipeline); resource.processCommand(Akonadi2::Commands::CreateEntityCommand, command, command.size(), &pipeline); resource.processCommand(Akonadi2::Commands::CreateEntityCommand, command, command.size(), &pipeline); @@ -178,7 +178,7 @@ private Q_SLOTS: void testResourceSync() { Akonadi2::Pipeline pipeline("org.kde.dummy.instance1"); - DummyResource resource; + DummyResource resource("org.kde.dummy.instance1"); resource.configurePipeline(&pipeline); auto job = resource.synchronizeWithSource(&pipeline); //TODO pass in optional timeout? -- cgit v1.2.3