From e3ea9fa159ce58e9dadca21fa03714c83bfc897c Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Wed, 21 Sep 2016 15:47:18 +0200 Subject: [PATCH] [New] When retrieving new templates, then the type and ID is set auto --- .../main/java/li/strolch/agent/impl/CachedElementMap.java | 3 +++ .../li/strolch/agent/impl/TransactionalElementMap.java | 3 +++ .../main/java/li/strolch/model/StrolchRootElement.java | 8 ++++++++ 3 files changed, 14 insertions(+) diff --git a/li.strolch.agent/src/main/java/li/strolch/agent/impl/CachedElementMap.java b/li.strolch.agent/src/main/java/li/strolch/agent/impl/CachedElementMap.java index eb24f5aa2..04df1daf4 100644 --- a/li.strolch.agent/src/main/java/li/strolch/agent/impl/CachedElementMap.java +++ b/li.strolch.agent/src/main/java/li/strolch/agent/impl/CachedElementMap.java @@ -25,6 +25,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import li.strolch.agent.api.ElementMap; +import li.strolch.agent.api.StrolchAgent; import li.strolch.agent.api.StrolchRealm; import li.strolch.exception.StrolchException; import li.strolch.model.StrolchRootElement; @@ -96,6 +97,8 @@ public abstract class CachedElementMap implements @SuppressWarnings("unchecked") T clone = (T) t.getClone(); + clone.setId(StrolchAgent.getUniqueId()); + clone.setType(type); return clone; } diff --git a/li.strolch.agent/src/main/java/li/strolch/agent/impl/TransactionalElementMap.java b/li.strolch.agent/src/main/java/li/strolch/agent/impl/TransactionalElementMap.java index 54e3f8e87..19c3e30ce 100644 --- a/li.strolch.agent/src/main/java/li/strolch/agent/impl/TransactionalElementMap.java +++ b/li.strolch.agent/src/main/java/li/strolch/agent/impl/TransactionalElementMap.java @@ -22,6 +22,7 @@ import java.util.Set; import java.util.stream.Collectors; import li.strolch.agent.api.ElementMap; +import li.strolch.agent.api.StrolchAgent; import li.strolch.agent.api.StrolchRealm; import li.strolch.exception.StrolchException; import li.strolch.model.StrolchRootElement; @@ -92,6 +93,8 @@ public abstract class TransactionalElementMap impl @SuppressWarnings("unchecked") T clone = (T) t.getClone(); + clone.setId(StrolchAgent.getUniqueId()); + clone.setType(type); return clone; } diff --git a/li.strolch.model/src/main/java/li/strolch/model/StrolchRootElement.java b/li.strolch.model/src/main/java/li/strolch/model/StrolchRootElement.java index 575cf5d51..a6377912d 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/StrolchRootElement.java +++ b/li.strolch.model/src/main/java/li/strolch/model/StrolchRootElement.java @@ -25,6 +25,14 @@ import li.strolch.model.visitor.StrolchRootElementVisitor; */ public interface StrolchRootElement extends StrolchElement, PolicyContainer, ParameterBagContainer { + /** + * Set the type of this {@link StrolchRootElement}. Not that this method should only be called for new elements, not + * if this element has already been persisted! + * + * @param type + */ + public void setType(String type); + /** * Returns true if this {@link StrolchRootElement} has a version set *