summaryrefslogtreecommitdiffstats
path: root/common/store.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-10-05 00:09:30 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-10-05 00:09:30 +0200
commite470f65cad943f8a3065c6f5f6287adcc704627e (patch)
tree3bc3531b0f32b67d09cdc281f5f53bdf1d819bd7 /common/store.cpp
parent3ae3ef9676bd7fdcb45064f9a1b397c90478b4b7 (diff)
downloadsink-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.cpp11
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);