diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-10-05 00:09:30 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-10-05 00:09:30 +0200 |
commit | e470f65cad943f8a3065c6f5f6287adcc704627e (patch) | |
tree | 3bc3531b0f32b67d09cdc281f5f53bdf1d819bd7 /common/store.cpp | |
parent | 3ae3ef9676bd7fdcb45064f9a1b397c90478b4b7 (diff) | |
download | sink-e470f65cad943f8a3065c6f5f6287adcc704627e.tar.gz sink-e470f65cad943f8a3065c6f5f6287adcc704627e.zip |
Specify base set as part of the filter stages in the query.
Diffstat (limited to 'common/store.cpp')
-rw-r--r-- | common/store.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/common/store.cpp b/common/store.cpp index efe1179..c015ef6 100644 --- a/common/store.cpp +++ b/common/store.cpp | |||
@@ -71,9 +71,10 @@ static QMap<QByteArray, QByteArray> getResources(const Sink::Query &query, const | |||
71 | } | 71 | } |
72 | //Subquery for the resource | 72 | //Subquery for the resource |
73 | if (resourceComparator.value.canConvert<Query>()) { | 73 | if (resourceComparator.value.canConvert<Query>()) { |
74 | auto subquery = resourceComparator.value.value<Query>(); | 74 | const auto subquery = resourceComparator.value.value<Query>(); |
75 | for (const auto &filterProperty : subquery.propertyFilter.keys()) { | 75 | const auto baseFilters = subquery.getBaseFilters(); |
76 | const auto filter = subquery.propertyFilter.value(filterProperty); | 76 | for (const auto &filterProperty : baseFilters.keys()) { |
77 | const auto filter = baseFilters.value(filterProperty); | ||
77 | if (!filter.matches(configuration.value(filterProperty))) { | 78 | if (!filter.matches(configuration.value(filterProperty))) { |
78 | return true; | 79 | return true; |
79 | } | 80 | } |
@@ -140,9 +141,9 @@ QSharedPointer<QAbstractItemModel> Store::loadModel(Query query) | |||
140 | { | 141 | { |
141 | SinkTrace() << "Query: " << ApplicationDomain::getTypeName<DomainType>(); | 142 | SinkTrace() << "Query: " << ApplicationDomain::getTypeName<DomainType>(); |
142 | SinkTrace() << " Requested: " << query.requestedProperties; | 143 | SinkTrace() << " Requested: " << query.requestedProperties; |
143 | SinkTrace() << " Filter: " << query.propertyFilter; | 144 | SinkTrace() << " Filter: " << query.getBaseFilters(); |
144 | SinkTrace() << " Parent: " << query.parentProperty; | 145 | SinkTrace() << " Parent: " << query.parentProperty; |
145 | SinkTrace() << " Ids: " << query.ids; | 146 | SinkTrace() << " Ids: " << query.ids(); |
146 | SinkTrace() << " IsLive: " << query.liveQuery; | 147 | SinkTrace() << " IsLive: " << query.liveQuery; |
147 | SinkTrace() << " Sorting: " << query.sortProperty; | 148 | SinkTrace() << " Sorting: " << query.sortProperty; |
148 | auto model = QSharedPointer<ModelResult<DomainType, typename DomainType::Ptr>>::create(query, query.requestedProperties); | 149 | auto model = QSharedPointer<ModelResult<DomainType, typename DomainType::Ptr>>::create(query, query.requestedProperties); |