From 3978a0128925081dac0d16c1956328b694796ce6 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Thu, 3 Mar 2016 21:52:34 +0100 Subject: Filter resources also by id, and load configuration. --- common/resourcefacade.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'common') diff --git a/common/resourcefacade.cpp b/common/resourcefacade.cpp index 9294926..3095c2e 100644 --- a/common/resourcefacade.cpp +++ b/common/resourcefacade.cpp @@ -103,11 +103,22 @@ QPair, typename Sink::ResultEmitter::create()); - resource->setProperty("type", type); - resultProvider->add(resource); + if (query.propertyFilter.contains("type") && query.propertyFilter.value("type").toByteArray() != type) { + continue; } + if (!query.ids.isEmpty() && !query.ids.contains(res)) { + continue; + } + + auto resource = Sink::ApplicationDomain::SinkResource::Ptr::create("", res, 0, QSharedPointer::create()); + resource->setProperty("type", type); + + const auto configurationValues = ResourceConfig::getConfiguration(res); + for (auto it = configurationValues.constBegin(); it != configurationValues.constEnd(); it++) { + resource->setProperty(it.key(), it.value()); + } + + resultProvider->add(resource); } // TODO initialResultSetComplete should be implicit resultProvider->initialResultSetComplete(Sink::ApplicationDomain::SinkResource::Ptr()); -- cgit v1.2.3