diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-05-01 16:22:55 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-05-01 16:22:55 +0200 |
commit | 096d14f20f4dc39d20d35d605ca755b66bd48cf9 (patch) | |
tree | 4b28dd3b310ebcfa9cefa1b41992eeefa5456764 /common/resourcefacade.cpp | |
parent | c1475df297975b403d991f69ef9436cd576c1e46 (diff) | |
download | sink-096d14f20f4dc39d20d35d605ca755b66bd48cf9.tar.gz sink-096d14f20f4dc39d20d35d605ca755b66bd48cf9.zip |
Account filter for resources and contains comparator in query
Diffstat (limited to 'common/resourcefacade.cpp')
-rw-r--r-- | common/resourcefacade.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/common/resourcefacade.cpp b/common/resourcefacade.cpp index e6d235f..96e2ac3 100644 --- a/common/resourcefacade.cpp +++ b/common/resourcefacade.cpp | |||
@@ -113,13 +113,13 @@ KAsync::Job<void> LocalStorageFacade<DomainType>::remove(const DomainType &domai | |||
113 | }); | 113 | }); |
114 | } | 114 | } |
115 | 115 | ||
116 | static bool matchesFilter(const QHash<QByteArray, QVariant> &filter, const QMap<QByteArray, QVariant> &properties) | 116 | static bool matchesFilter(const QHash<QByteArray, Sink::Query::Comparator> &filter, const QMap<QByteArray, QVariant> &properties) |
117 | { | 117 | { |
118 | for (const auto &filterProperty : filter.keys()) { | 118 | for (const auto &filterProperty : filter.keys()) { |
119 | if (filterProperty == "type") { | 119 | if (filterProperty == "type") { |
120 | continue; | 120 | continue; |
121 | } | 121 | } |
122 | if (filter.value(filterProperty).toByteArray() != properties.value(filterProperty).toByteArray()) { | 122 | if (filter.value(filterProperty).matches(properties.value(filterProperty))) { |
123 | return false; | 123 | return false; |
124 | } | 124 | } |
125 | } | 125 | } |
@@ -138,7 +138,8 @@ QPair<KAsync::Job<void>, typename Sink::ResultEmitter<typename DomainType::Ptr>: | |||
138 | const auto entries = mConfigStore.getEntries(); | 138 | const auto entries = mConfigStore.getEntries(); |
139 | for (const auto &res : entries.keys()) { | 139 | for (const auto &res : entries.keys()) { |
140 | const auto type = entries.value(res); | 140 | const auto type = entries.value(res); |
141 | if (query.propertyFilter.contains("type") && query.propertyFilter.value("type").toByteArray() != type) { | 141 | |
142 | if (query.propertyFilter.contains("type") && query.propertyFilter.value("type").value.toByteArray() != type) { | ||
142 | Trace() << "Skipping due to type."; | 143 | Trace() << "Skipping due to type."; |
143 | continue; | 144 | continue; |
144 | } | 145 | } |