summaryrefslogtreecommitdiffstats
path: root/common/synchronizer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'common/synchronizer.cpp')
-rw-r--r--common/synchronizer.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/common/synchronizer.cpp b/common/synchronizer.cpp
index d94eb43..ed493dc 100644
--- a/common/synchronizer.cpp
+++ b/common/synchronizer.cpp
@@ -36,8 +36,9 @@ using namespace Sink;
36 36
37Synchronizer::Synchronizer(const Sink::ResourceContext &context) 37Synchronizer::Synchronizer(const Sink::ResourceContext &context)
38 : ChangeReplay(context), 38 : ChangeReplay(context),
39 mLogCtx{"synchronizer"},
39 mResourceContext(context), 40 mResourceContext(context),
40 mEntityStore(Storage::EntityStore::Ptr::create(mResourceContext)), 41 mEntityStore(Storage::EntityStore::Ptr::create(mResourceContext, mLogCtx)),
41 mSyncStorage(Sink::storageLocation(), mResourceContext.instanceId() + ".synchronization", Sink::Storage::DataStore::DataStore::ReadWrite), 42 mSyncStorage(Sink::storageLocation(), mResourceContext.instanceId() + ".synchronization", Sink::Storage::DataStore::DataStore::ReadWrite),
42 mSyncInProgress(false) 43 mSyncInProgress(false)
43{ 44{
@@ -170,14 +171,14 @@ void Synchronizer::modifyIfChanged(Storage::EntityStore &store, const QByteArray
170void Synchronizer::modify(const QByteArray &bufferType, const QByteArray &remoteId, const Sink::ApplicationDomain::ApplicationDomainType &entity) 171void Synchronizer::modify(const QByteArray &bufferType, const QByteArray &remoteId, const Sink::ApplicationDomain::ApplicationDomainType &entity)
171{ 172{
172 const auto sinkId = syncStore().resolveRemoteId(bufferType, remoteId); 173 const auto sinkId = syncStore().resolveRemoteId(bufferType, remoteId);
173 Storage::EntityStore store(mResourceContext); 174 Storage::EntityStore store(mResourceContext, mLogCtx);
174 modifyIfChanged(store, bufferType, sinkId, entity); 175 modifyIfChanged(store, bufferType, sinkId, entity);
175} 176}
176 177
177void Synchronizer::createOrModify(const QByteArray &bufferType, const QByteArray &remoteId, const Sink::ApplicationDomain::ApplicationDomainType &entity) 178void Synchronizer::createOrModify(const QByteArray &bufferType, const QByteArray &remoteId, const Sink::ApplicationDomain::ApplicationDomainType &entity)
178{ 179{
179 SinkTrace() << "Create or modify" << bufferType << remoteId; 180 SinkTrace() << "Create or modify" << bufferType << remoteId;
180 Storage::EntityStore store(mResourceContext); 181 Storage::EntityStore store(mResourceContext, mLogCtx);
181 const auto sinkId = syncStore().resolveRemoteId(bufferType, remoteId); 182 const auto sinkId = syncStore().resolveRemoteId(bufferType, remoteId);
182 const auto found = store.contains(bufferType, sinkId); 183 const auto found = store.contains(bufferType, sinkId);
183 if (!found) { 184 if (!found) {
@@ -194,7 +195,7 @@ void Synchronizer::createOrModify(const QByteArray &bufferType, const QByteArray
194 195
195 SinkTrace() << "Create or modify" << bufferType << remoteId; 196 SinkTrace() << "Create or modify" << bufferType << remoteId;
196 const auto sinkId = syncStore().resolveRemoteId(bufferType, remoteId); 197 const auto sinkId = syncStore().resolveRemoteId(bufferType, remoteId);
197 Storage::EntityStore store(mResourceContext); 198 Storage::EntityStore store(mResourceContext, mLogCtx);
198 const auto found = store.contains(bufferType, sinkId); 199 const auto found = store.contains(bufferType, sinkId);
199 if (!found) { 200 if (!found) {
200 if (!mergeCriteria.isEmpty()) { 201 if (!mergeCriteria.isEmpty()) {
@@ -203,7 +204,7 @@ void Synchronizer::createOrModify(const QByteArray &bufferType, const QByteArray
203 query.filter(it.key(), it.value()); 204 query.filter(it.key(), it.value());
204 } 205 }
205 bool merge = false; 206 bool merge = false;
206 Storage::EntityStore store{mResourceContext}; 207 Storage::EntityStore store{mResourceContext, mLogCtx};
207 DataStoreQuery dataStoreQuery{query, ApplicationDomain::getTypeName<DomainType>(), store}; 208 DataStoreQuery dataStoreQuery{query, ApplicationDomain::getTypeName<DomainType>(), store};
208 auto resultSet = dataStoreQuery.execute(); 209 auto resultSet = dataStoreQuery.execute();
209 resultSet.replaySet(0, 1, [this, &merge, bufferType, remoteId](const ResultSet::Result &r) { 210 resultSet.replaySet(0, 1, [this, &merge, bufferType, remoteId](const ResultSet::Result &r) {
@@ -232,7 +233,7 @@ QByteArrayList Synchronizer::resolveFilter(const QueryBase::Comparator &filter)
232 result << filter.value.value<QByteArray>(); 233 result << filter.value.value<QByteArray>();
233 } else if (filter.value.canConvert<QueryBase>()) { 234 } else if (filter.value.canConvert<QueryBase>()) {
234 auto query = filter.value.value<QueryBase>(); 235 auto query = filter.value.value<QueryBase>();
235 Storage::EntityStore store{mResourceContext}; 236 Storage::EntityStore store{mResourceContext, mLogCtx};
236 DataStoreQuery dataStoreQuery{query, query.type(), store}; 237 DataStoreQuery dataStoreQuery{query, query.type(), store};
237 auto resultSet = dataStoreQuery.execute(); 238 auto resultSet = dataStoreQuery.execute();
238 resultSet.replaySet(0, 0, [this, &result](const ResultSet::Result &r) { 239 resultSet.replaySet(0, 0, [this, &result](const ResultSet::Result &r) {