diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/UniqueIDUtils.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/UniqueIDUtils.java index 7051d73509034b23551cfbfb1cc4f437ee2285af..a7cc9fa1b4c7b10ec404ab84238a34a8391a1972 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/UniqueIDUtils.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/UniqueIDUtils.java @@ -33,7 +33,7 @@ import org.fortiss.tooling.kernel.model.IIdLabeled; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: 20798F4B379821E393B1CC36691662EA + * @ConQAT.Rating YELLOW Hash: 2E094C6518A90C6A4064C4FF61C4A07F */ public class UniqueIDUtils { @@ -122,6 +122,14 @@ public class UniqueIDUtils { usedIDs.add(((IIdLabeled) eo).getId()); } } + if (object instanceof IIdLabeled) { + + if (!usedIDs.add(((IIdLabeled) object).getId())) { + int newId = ++currentMaxId; + ((IIdLabeled) object).setId(newId); + usedIDs.add(newId); + } + } for (Iterator<EObject> i = object.eAllContents(); i.hasNext();) { EObject eo = i.next();