diff --git a/li.strolch.agent/src/main/java/li/strolch/agent/impl/TransientElementMap.java b/li.strolch.agent/src/main/java/li/strolch/agent/impl/TransientElementMap.java index b934857f2..bffcb6763 100644 --- a/li.strolch.agent/src/main/java/li/strolch/agent/impl/TransientElementMap.java +++ b/li.strolch.agent/src/main/java/li/strolch/agent/impl/TransientElementMap.java @@ -25,6 +25,7 @@ import li.strolch.agent.api.ElementMap; import li.strolch.agent.api.StrolchAgent; import li.strolch.exception.StrolchException; import li.strolch.model.StrolchRootElement; +import li.strolch.model.Version; import li.strolch.model.parameter.Parameter; import li.strolch.model.parameter.StringListParameter; import li.strolch.model.parameter.StringParameter; @@ -242,6 +243,8 @@ public abstract class TransientElementMap implemen @Override public synchronized void add(StrolchTransaction tx, T element) { + if (!element.hasVersion()) + Version.setInitialVersionFor(element, -1, tx.getCertificate().getUsername()); Map byType = this.elementMap.computeIfAbsent(element.getType(), k -> new HashMap<>()); @@ -258,6 +261,9 @@ public abstract class TransientElementMap implemen @Override public synchronized void addAll(StrolchTransaction tx, List elements) { for (T element : elements) { + if (!element.hasVersion()) + Version.setInitialVersionFor(element, -1, tx.getCertificate().getUsername()); + Map byType = this.elementMap.computeIfAbsent(element.getType(), k -> new HashMap<>()); // assert no object already exists with this id