diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-11-07 21:48:44 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-11-07 21:48:44 +0100 |
commit | 89b6f63bab839ab0504cd3067f0389afe4dc47e3 (patch) | |
tree | 62c527983d63827bb722010ea8c59d5af0e5a879 /common/store.cpp | |
parent | 438c74630e5f8c9a46d00b991f5cb8ecd479dafe (diff) | |
download | sink-89b6f63bab839ab0504cd3067f0389afe4dc47e3.tar.gz sink-89b6f63bab839ab0504cd3067f0389afe4dc47e3.zip |
Implement debug stream operators for query.
Diffstat (limited to 'common/store.cpp')
-rw-r--r-- | common/store.cpp | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/common/store.cpp b/common/store.cpp index 2ea5e22..41b4867 100644 --- a/common/store.cpp +++ b/common/store.cpp | |||
@@ -129,13 +129,8 @@ KAsync::Job<void> queryResource(const QByteArray resourceType, const QByteArray | |||
129 | template <class DomainType> | 129 | template <class DomainType> |
130 | QSharedPointer<QAbstractItemModel> Store::loadModel(Query query) | 130 | QSharedPointer<QAbstractItemModel> Store::loadModel(Query query) |
131 | { | 131 | { |
132 | SinkTrace() << "Query: " << ApplicationDomain::getTypeName<DomainType>(); | 132 | query.setType(ApplicationDomain::getTypeName<DomainType>()); |
133 | SinkTrace() << " Requested: " << query.requestedProperties; | 133 | SinkTrace() << "Loading model: " << query; |
134 | SinkTrace() << " Filter: " << query.getBaseFilters(); | ||
135 | SinkTrace() << " Parent: " << query.parentProperty; | ||
136 | SinkTrace() << " Ids: " << query.ids(); | ||
137 | SinkTrace() << " IsLive: " << query.liveQuery(); | ||
138 | SinkTrace() << " Sorting: " << query.sortProperty(); | ||
139 | auto model = QSharedPointer<ModelResult<DomainType, typename DomainType::Ptr>>::create(query, query.requestedProperties); | 134 | auto model = QSharedPointer<ModelResult<DomainType, typename DomainType::Ptr>>::create(query, query.requestedProperties); |
140 | 135 | ||
141 | //* Client defines lifetime of model | 136 | //* Client defines lifetime of model |
@@ -276,6 +271,27 @@ KAsync::Job<void> Store::synchronize(const Sink::Query &query) | |||
276 | }); | 271 | }); |
277 | } | 272 | } |
278 | 273 | ||
274 | KAsync::Job<void> Store::synchronize(const Sink::SyncScope &scope) | ||
275 | { | ||
276 | auto resources = getResources(scope.getResourceFilter()).keys(); | ||
277 | SinkTrace() << "synchronize" << resources; | ||
278 | return KAsync::value(resources) | ||
279 | .template each([scope](const QByteArray &resource) { | ||
280 | SinkTrace() << "Synchronizing " << resource; | ||
281 | auto resourceAccess = ResourceAccessFactory::instance().getAccess(resource, ResourceConfig::getResourceType(resource)); | ||
282 | return resourceAccess->synchronizeResource(scope) | ||
283 | .addToContext(resourceAccess) | ||
284 | .then<void>([](const KAsync::Error &error) { | ||
285 | if (error) { | ||
286 | SinkWarning() << "Error during sync."; | ||
287 | return KAsync::error<void>(error); | ||
288 | } | ||
289 | SinkTrace() << "synced."; | ||
290 | return KAsync::null<void>(); | ||
291 | }); | ||
292 | }); | ||
293 | } | ||
294 | |||
279 | template <class DomainType> | 295 | template <class DomainType> |
280 | KAsync::Job<DomainType> Store::fetchOne(const Sink::Query &query) | 296 | KAsync::Job<DomainType> Store::fetchOne(const Sink::Query &query) |
281 | { | 297 | { |