summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-03-01 01:03:18 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-03-01 01:05:01 +0100
commitc08c329580a6f5e5da1ebba931461e7e7e47ba72 (patch)
treea60e2c3c5d189d554bd69de600d96d024b49e864
parent4be4995e7b430226b763f06a051fd0e5cbf398ab (diff)
downloadsink-c08c329580a6f5e5da1ebba931461e7e7e47ba72.tar.gz
sink-c08c329580a6f5e5da1ebba931461e7e7e47ba72.zip
Filter resources by the types they support.
This avoid uselessly querying resources only to discover that they don't have a facade for the type.
-rw-r--r--common/domain/applicationdomaintype.h2
-rw-r--r--common/store.cpp13
-rw-r--r--examples/dummyresource/resourcefactory.cpp8
-rw-r--r--examples/imapresource/imapresource.cpp4
-rw-r--r--examples/maildirresource/maildirresource.cpp4
-rw-r--r--examples/mailtransportresource/mailtransportresource.cpp6
-rw-r--r--tests/clientapitest.cpp52
7 files changed, 56 insertions, 33 deletions
diff --git a/common/domain/applicationdomaintype.h b/common/domain/applicationdomaintype.h
index fee6344..be04db9 100644
--- a/common/domain/applicationdomaintype.h
+++ b/common/domain/applicationdomaintype.h
@@ -418,6 +418,8 @@ struct SINK_EXPORT ImapResource {
418 418
419namespace ResourceCapabilities { 419namespace ResourceCapabilities {
420namespace Mail { 420namespace Mail {
421 static constexpr const char *mail = "mail";
422 static constexpr const char *folder = "folder";
421 static constexpr const char *storage = "mail.storage"; 423 static constexpr const char *storage = "mail.storage";
422 static constexpr const char *drafts = "mail.drafts"; 424 static constexpr const char *drafts = "mail.drafts";
423 static constexpr const char *sent = "mail.sent"; 425 static constexpr const char *sent = "mail.sent";
diff --git a/common/store.cpp b/common/store.cpp
index 9550d3e..1c8620b 100644
--- a/common/store.cpp
+++ b/common/store.cpp
@@ -96,14 +96,21 @@ QPair<typename AggregatingResultEmitter<typename DomainType::Ptr>::Ptr, typenam
96 SinkTraceCtx(ctx) << "Listening for new resources."; 96 SinkTraceCtx(ctx) << "Listening for new resources.";
97 resourceQuery.setFlags(Query::LiveQuery); 97 resourceQuery.setFlags(Query::LiveQuery);
98 } 98 }
99 resourceQuery.setFilter(query.getResourceFilter()); 99
100 //Filter resources by available content types (unless the query already specifies a capability filter)
101 auto resourceFilter = query.getResourceFilter();
102 if (!resourceFilter.propertyFilter.contains(ApplicationDomain::SinkResource::Capabilities::name)) {
103 resourceFilter.propertyFilter.insert(ApplicationDomain::SinkResource::Capabilities::name, Query::Comparator{ApplicationDomain::getTypeName<DomainType>(), Query::Comparator::Contains});
104 }
105 resourceQuery.setFilter(resourceFilter);
106
100 auto result = facade->load(resourceQuery, resourceCtx); 107 auto result = facade->load(resourceQuery, resourceCtx);
101 auto emitter = result.second; 108 auto emitter = result.second;
102 emitter->onAdded([query, aggregatingEmitter, resourceCtx](const ApplicationDomain::SinkResource::Ptr &resource) { 109 emitter->onAdded([=](const ApplicationDomain::SinkResource::Ptr &resource) {
103 SinkTraceCtx(resourceCtx) << "Found new resources: " << resource->identifier(); 110 SinkTraceCtx(resourceCtx) << "Found new resources: " << resource->identifier();
104 const auto resourceType = ResourceConfig::getResourceType(resource->identifier()); 111 const auto resourceType = ResourceConfig::getResourceType(resource->identifier());
105 Q_ASSERT(!resourceType.isEmpty()); 112 Q_ASSERT(!resourceType.isEmpty());
106 queryResource<DomainType>(resourceType, resource->identifier(), query, aggregatingEmitter, resourceCtx).exec(); 113 queryResource<DomainType>(resourceType, resource->identifier(), query, aggregatingEmitter, ctx).exec();
107 }); 114 });
108 emitter->onModified([](const ApplicationDomain::SinkResource::Ptr &) { 115 emitter->onModified([](const ApplicationDomain::SinkResource::Ptr &) {
109 }); 116 });
diff --git a/examples/dummyresource/resourcefactory.cpp b/examples/dummyresource/resourcefactory.cpp
index 0663bdb..a7d30c5 100644
--- a/examples/dummyresource/resourcefactory.cpp
+++ b/examples/dummyresource/resourcefactory.cpp
@@ -176,7 +176,13 @@ DummyResource::~DummyResource()
176} 176}
177 177
178DummyResourceFactory::DummyResourceFactory(QObject *parent) 178DummyResourceFactory::DummyResourceFactory(QObject *parent)
179 : Sink::ResourceFactory(parent, QByteArrayList() << Sink::ApplicationDomain::ResourceCapabilities::Mail::storage << "-folder.rename" << Sink::ApplicationDomain::ResourceCapabilities::Mail::sent) 179 : Sink::ResourceFactory(parent, {Sink::ApplicationDomain::ResourceCapabilities::Mail::mail,
180 "event",
181 Sink::ApplicationDomain::ResourceCapabilities::Mail::folder,
182 Sink::ApplicationDomain::ResourceCapabilities::Mail::storage,
183 "-folder.rename",
184 Sink::ApplicationDomain::ResourceCapabilities::Mail::sent}
185 )
180{ 186{
181 187
182} 188}
diff --git a/examples/imapresource/imapresource.cpp b/examples/imapresource/imapresource.cpp
index 5bf0c30..09f57d5 100644
--- a/examples/imapresource/imapresource.cpp
+++ b/examples/imapresource/imapresource.cpp
@@ -879,7 +879,9 @@ ImapResource::ImapResource(const ResourceContext &resourceContext)
879 879
880ImapResourceFactory::ImapResourceFactory(QObject *parent) 880ImapResourceFactory::ImapResourceFactory(QObject *parent)
881 : Sink::ResourceFactory(parent, 881 : Sink::ResourceFactory(parent,
882 {Sink::ApplicationDomain::ResourceCapabilities::Mail::storage, 882 {Sink::ApplicationDomain::ResourceCapabilities::Mail::mail,
883 Sink::ApplicationDomain::ResourceCapabilities::Mail::folder,
884 Sink::ApplicationDomain::ResourceCapabilities::Mail::storage,
883 Sink::ApplicationDomain::ResourceCapabilities::Mail::drafts, 885 Sink::ApplicationDomain::ResourceCapabilities::Mail::drafts,
884 Sink::ApplicationDomain::ResourceCapabilities::Mail::folderhierarchy, 886 Sink::ApplicationDomain::ResourceCapabilities::Mail::folderhierarchy,
885 Sink::ApplicationDomain::ResourceCapabilities::Mail::trash, 887 Sink::ApplicationDomain::ResourceCapabilities::Mail::trash,
diff --git a/examples/maildirresource/maildirresource.cpp b/examples/maildirresource/maildirresource.cpp
index 3d299b4..813d84f 100644
--- a/examples/maildirresource/maildirresource.cpp
+++ b/examples/maildirresource/maildirresource.cpp
@@ -572,7 +572,9 @@ MaildirResource::MaildirResource(const Sink::ResourceContext &resourceContext)
572 572
573MaildirResourceFactory::MaildirResourceFactory(QObject *parent) 573MaildirResourceFactory::MaildirResourceFactory(QObject *parent)
574 : Sink::ResourceFactory(parent, 574 : Sink::ResourceFactory(parent,
575 {Sink::ApplicationDomain::ResourceCapabilities::Mail::storage, 575 {Sink::ApplicationDomain::ResourceCapabilities::Mail::mail,
576 Sink::ApplicationDomain::ResourceCapabilities::Mail::folder,
577 Sink::ApplicationDomain::ResourceCapabilities::Mail::storage,
576 Sink::ApplicationDomain::ResourceCapabilities::Mail::drafts, 578 Sink::ApplicationDomain::ResourceCapabilities::Mail::drafts,
577 "-folder.rename", 579 "-folder.rename",
578 Sink::ApplicationDomain::ResourceCapabilities::Mail::trash, 580 Sink::ApplicationDomain::ResourceCapabilities::Mail::trash,
diff --git a/examples/mailtransportresource/mailtransportresource.cpp b/examples/mailtransportresource/mailtransportresource.cpp
index 0118140..88a90c6 100644
--- a/examples/mailtransportresource/mailtransportresource.cpp
+++ b/examples/mailtransportresource/mailtransportresource.cpp
@@ -91,6 +91,9 @@ public:
91 modifiedMail.setSent(true); 91 modifiedMail.setSent(true);
92 92
93 auto resource = Store::readOne<ApplicationDomain::SinkResource>(Query{}.filter(mResourceInstanceIdentifier).request<ApplicationDomain::SinkResource::Account>()); 93 auto resource = Store::readOne<ApplicationDomain::SinkResource>(Query{}.filter(mResourceInstanceIdentifier).request<ApplicationDomain::SinkResource::Account>());
94 if (resource.identifier().isEmpty()) {
95 SinkWarning() << "Failed to retrieve target resource: " << mResourceInstanceIdentifier;
96 }
94 //Then copy the mail to the target resource 97 //Then copy the mail to the target resource
95 Query query; 98 Query query;
96 query.containsFilter<ApplicationDomain::SinkResource::Capabilities>(ApplicationDomain::ResourceCapabilities::Mail::sent); 99 query.containsFilter<ApplicationDomain::SinkResource::Capabilities>(ApplicationDomain::ResourceCapabilities::Mail::sent);
@@ -193,7 +196,8 @@ MailtransportResource::MailtransportResource(const Sink::ResourceContext &resour
193} 196}
194 197
195MailtransportResourceFactory::MailtransportResourceFactory(QObject *parent) 198MailtransportResourceFactory::MailtransportResourceFactory(QObject *parent)
196 : Sink::ResourceFactory(parent, {Sink::ApplicationDomain::ResourceCapabilities::Mail::transport}) 199 : Sink::ResourceFactory(parent, {Sink::ApplicationDomain::ResourceCapabilities::Mail::mail,
200 Sink::ApplicationDomain::ResourceCapabilities::Mail::transport})
197{ 201{
198 202
199} 203}
diff --git a/tests/clientapitest.cpp b/tests/clientapitest.cpp
index ea72ae0..008b408 100644
--- a/tests/clientapitest.cpp
+++ b/tests/clientapitest.cpp
@@ -122,6 +122,18 @@ public:
122class ClientAPITest : public QObject 122class ClientAPITest : public QObject
123{ 123{
124 Q_OBJECT 124 Q_OBJECT
125
126 template<typename T>
127 std::shared_ptr<TestDummyResourceFacade<T> > setupFacade(const QByteArray &identifier)
128 {
129 auto facade = TestDummyResourceFacade<T>::registerFacade(identifier);
130 ResourceConfig::addResource(identifier, "dummyresource");
131 QMap<QByteArray, QVariant> config = ResourceConfig::getConfiguration(identifier);
132 config.insert(Sink::ApplicationDomain::SinkResource::Capabilities::name, QVariant::fromValue(QByteArrayList() << Sink::ApplicationDomain::getTypeName<T>()));
133 ResourceConfig::configureResource(identifier, config);
134 return facade;
135 }
136
125private slots: 137private slots:
126 138
127 void initTestCase() 139 void initTestCase()
@@ -133,9 +145,8 @@ private slots:
133 145
134 void testLoad() 146 void testLoad()
135 { 147 {
136 auto facade = TestDummyResourceFacade<Sink::ApplicationDomain::Event>::registerFacade(); 148 auto facade = setupFacade<Sink::ApplicationDomain::Event>("dummyresource.instance1");
137 facade->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 149 facade->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
138 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
139 150
140 Sink::Query query; 151 Sink::Query query;
141 query.resourceFilter("dummyresource.instance1"); 152 query.resourceFilter("dummyresource.instance1");
@@ -156,9 +167,8 @@ private slots:
156 167
157 void testModelSingle() 168 void testModelSingle()
158 { 169 {
159 auto facade = TestDummyResourceFacade<Sink::ApplicationDomain::Folder>::registerFacade(); 170 auto facade = setupFacade<Sink::ApplicationDomain::Folder>("dummyresource.instance1");
160 facade->results << QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 171 facade->results << QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
161 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
162 172
163 Sink::Query query; 173 Sink::Query query;
164 query.resourceFilter("dummyresource.instance1"); 174 query.resourceFilter("dummyresource.instance1");
@@ -169,12 +179,11 @@ private slots:
169 179
170 void testModelNested() 180 void testModelNested()
171 { 181 {
172 auto facade = TestDummyResourceFacade<Sink::ApplicationDomain::Folder>::registerFacade(); 182 auto facade = setupFacade<Sink::ApplicationDomain::Folder>("dummyresource.instance1");
173 auto folder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 183 auto folder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
174 auto subfolder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "subId", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 184 auto subfolder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "subId", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
175 subfolder->setParent("id"); 185 subfolder->setParent("id");
176 facade->results << folder << subfolder; 186 facade->results << folder << subfolder;
177 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
178 187
179 // Test 188 // Test
180 Sink::Query query; 189 Sink::Query query;
@@ -191,12 +200,11 @@ private slots:
191 200
192 void testModelSignals() 201 void testModelSignals()
193 { 202 {
194 auto facade = TestDummyResourceFacade<Sink::ApplicationDomain::Folder>::registerFacade(); 203 auto facade = setupFacade<Sink::ApplicationDomain::Folder>("dummyresource.instance1");
195 auto folder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 204 auto folder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
196 auto subfolder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "subId", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 205 auto subfolder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "subId", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
197 subfolder->setParent("id"); 206 subfolder->setParent("id");
198 facade->results << folder << subfolder; 207 facade->results << folder << subfolder;
199 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
200 208
201 // Test 209 // Test
202 Sink::Query query; 210 Sink::Query query;
@@ -212,13 +220,12 @@ private slots:
212 220
213 void testModelNestedLive() 221 void testModelNestedLive()
214 { 222 {
215 auto facade = TestDummyResourceFacade<Sink::ApplicationDomain::Folder>::registerFacade(); 223 auto facade = setupFacade<Sink::ApplicationDomain::Folder>("dummyresource.instance1");
216 auto folder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("dummyresource.instance1", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 224 auto folder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("dummyresource.instance1", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
217 auto subfolder = 225 auto subfolder =
218 QSharedPointer<Sink::ApplicationDomain::Folder>::create("dummyresource.instance1", "subId", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 226 QSharedPointer<Sink::ApplicationDomain::Folder>::create("dummyresource.instance1", "subId", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
219 subfolder->setParent("id"); 227 subfolder->setParent("id");
220 facade->results << folder << subfolder; 228 facade->results << folder << subfolder;
221 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
222 229
223 // Test 230 // Test
224 Sink::Query query; 231 Sink::Query query;
@@ -266,12 +273,10 @@ private slots:
266 273
267 void testLoadMultiResource() 274 void testLoadMultiResource()
268 { 275 {
269 auto facade1 = TestDummyResourceFacade<Sink::ApplicationDomain::Event>::registerFacade("dummyresource.instance1"); 276 auto facade1 = setupFacade<Sink::ApplicationDomain::Event>("dummyresource.instance1");
270 facade1->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource1", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 277 facade1->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource1", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
271 auto facade2 = TestDummyResourceFacade<Sink::ApplicationDomain::Event>::registerFacade("dummyresource.instance2"); 278 auto facade2 = setupFacade<Sink::ApplicationDomain::Event>("dummyresource.instance2");
272 facade2->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource2", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 279 facade2->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource2", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
273 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
274 ResourceConfig::addResource("dummyresource.instance2", "dummyresource");
275 280
276 Sink::Query query; 281 Sink::Query query;
277 282
@@ -291,9 +296,8 @@ private slots:
291 296
292 void testImperativeLoad() 297 void testImperativeLoad()
293 { 298 {
294 auto facade = TestDummyResourceFacade<Sink::ApplicationDomain::Event>::registerFacade(); 299 auto facade = setupFacade<Sink::ApplicationDomain::Event>("dummyresource.instance1");
295 facade->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 300 facade->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
296 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
297 301
298 Sink::Query query; 302 Sink::Query query;
299 query.resourceFilter("dummyresource.instance1"); 303 query.resourceFilter("dummyresource.instance1");
@@ -309,16 +313,15 @@ private slots:
309 313
310 void testMultiresourceIncrementalLoad() 314 void testMultiresourceIncrementalLoad()
311 { 315 {
312 auto facade1 = TestDummyResourceFacade<Sink::ApplicationDomain::Event>::registerFacade("dummyresource.instance1"); 316 auto facade1 = setupFacade<Sink::ApplicationDomain::Event>("dummyresource.instance1");
313 for (int i = 0; i < 4; i++) { 317 for (int i = 0; i < 4; i++) {
314 facade1->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource1", "id" + QByteArray::number(i), 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 318 facade1->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource1", "id" + QByteArray::number(i), 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
315 } 319 }
316 auto facade2 = TestDummyResourceFacade<Sink::ApplicationDomain::Event>::registerFacade("dummyresource.instance2"); 320
321 auto facade2 = setupFacade<Sink::ApplicationDomain::Event>("dummyresource.instance2");
317 for (int i = 0; i < 6; i++) { 322 for (int i = 0; i < 6; i++) {
318 facade2->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource2", "id" + QByteArray::number(i), 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 323 facade2->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource2", "id" + QByteArray::number(i), 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
319 } 324 }
320 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
321 ResourceConfig::addResource("dummyresource.instance2", "dummyresource");
322 325
323 Sink::Query query; 326 Sink::Query query;
324 query.limit(2); 327 query.limit(2);
@@ -344,8 +347,7 @@ private slots:
344 347
345 void testCreateModifyDelete() 348 void testCreateModifyDelete()
346 { 349 {
347 auto facade = TestDummyResourceFacade<Sink::ApplicationDomain::Event>::registerFacade(); 350 auto facade = setupFacade<Sink::ApplicationDomain::Event>("dummyresource.instance1");
348 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
349 351
350 auto event = Sink::ApplicationDomain::Event::createEntity<Sink::ApplicationDomain::Event>("dummyresource.instance1"); 352 auto event = Sink::ApplicationDomain::Event::createEntity<Sink::ApplicationDomain::Event>("dummyresource.instance1");
351 Sink::Store::create(event).exec().waitForFinished(); 353 Sink::Store::create(event).exec().waitForFinished();
@@ -358,10 +360,9 @@ private slots:
358 } 360 }
359 void testMultiModify() 361 void testMultiModify()
360 { 362 {
361 auto facade = TestDummyResourceFacade<Sink::ApplicationDomain::Event>::registerFacade(); 363 auto facade = setupFacade<Sink::ApplicationDomain::Event>("dummyresource.instance1");
362 facade->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("dummyresource.instance1", "id1", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 364 facade->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("dummyresource.instance1", "id1", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
363 facade->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("dummyresource.instance1", "id2", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 365 facade->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("dummyresource.instance1", "id2", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
364 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
365 366
366 Sink::Query query; 367 Sink::Query query;
367 query.resourceFilter("dummyresource.instance1"); 368 query.resourceFilter("dummyresource.instance1");
@@ -377,12 +378,11 @@ private slots:
377 378
378 void testModelStress() 379 void testModelStress()
379 { 380 {
380 auto facade = TestDummyResourceFacade<Sink::ApplicationDomain::Folder>::registerFacade(); 381 auto facade = setupFacade<Sink::ApplicationDomain::Folder>("dummyresource.instance1");
381 facade->runAsync = true; 382 facade->runAsync = true;
382 for (int i = 0; i < 100; i++) { 383 for (int i = 0; i < 100; i++) {
383 facade->results << QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "id" + QByteArray::number(i), 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 384 facade->results << QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "id" + QByteArray::number(i), 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
384 } 385 }
385 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
386 386
387 Sink::Query query; 387 Sink::Query query;
388 query.resourceFilter("dummyresource.instance1"); 388 query.resourceFilter("dummyresource.instance1");