16 const std::shared_ptr<Processors>& filters,
17 const std::shared_ptr<persistence::MemoryPersistenceStrategy>& persistenceStrategy) :
18 EntitySnapshotBase(exportName, memoryId, filters),
19 persistenceStrategy_(persistenceStrategy) {}
30 for (
auto& entityInstanceKey : persistenceStrategy_->getContainerKeys(
id()))
32 std::shared_ptr<persistence::MemoryPersistenceStrategy> entityInstancePersistenceStrategy(persistenceStrategy_);
37 entityInstancePersistenceStrategy);
52 return persistenceStrategy_->containsContainer(
id(),
std::to_string(entityInstanceIndex));
55 std::shared_ptr<EntityInstance>
68 id().withInstanceIndex(entityInstanceIndex),
70 persistenceStrategy_);
95 [&](
auto& wmEntityInstance)
97 std::shared_ptr<persistence::MemoryPersistenceStrategy> entityInstancePersistanceStrategy(persistenceStrategy_);
100 id().withInstanceIndex(wmEntityInstance.id().instanceIndex),
102 entityInstancePersistanceStrategy);
104 ltmEntityInstance.
resolve(wmEntityInstance);
122 <<
"During storage of segment '" << wmEntitySnapshot.
id().
str()
123 <<
"' I noticed that the corresponding LTM has no id set. "
124 <<
"I set the id of the LTM to the same name, however this should not happen!";
138 [&](
const auto& wmEntityInstance)
140 std::shared_ptr<persistence::MemoryPersistenceStrategy> entityInstancePersistenceStrategy(persistenceStrategy_);
143 id().withInstanceIndex(wmEntityInstance.id().instanceIndex),
145 entityInstancePersistenceStrategy);
146 c.store(wmEntityInstance);