From 30da1bb9c2945f414c5fe028433e8b4adc755041 Mon Sep 17 00:00:00 2001
From: Stefan Herrnleben <s.herrnleben@syslex.de>
Date: Wed, 26 Jul 2017 00:15:29 +0200
Subject: [PATCH] clone models before writing them to file to fix problem with
 regenerated uids

---
 .../src/tools/descartes/dni/dnimm3ap/tools/DNIAPParser.java   | 2 +-
 .../src/tools/descartes/dni/dnimm3/tools/DNIParser.java       | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/tools/DNIAPParser.java b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/tools/DNIAPParser.java
index d82b415f..1f8bcd31 100644
--- a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/tools/DNIAPParser.java
+++ b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/tools/DNIAPParser.java
@@ -58,7 +58,7 @@ public class DNIAPParser {
 				.put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl());
 		resourceSet.getPackageRegistry().put(DNIAPPackage.eNS_URI, DNIAPPackage.eINSTANCE);
 		Resource resource = resourceSet.createResource(URI.createFileURI(file.getAbsolutePath()));
-		resource.getContents().add(adaptationPoints);
+		resource.getContents().add(DNIAPUtil.cloneModel(adaptationPoints));
 		resource.save(Collections.EMPTY_MAP);
 	}
 
diff --git a/tools.descartes.dni.core/src/tools/descartes/dni/dnimm3/tools/DNIParser.java b/tools.descartes.dni.core/src/tools/descartes/dni/dnimm3/tools/DNIParser.java
index 8486cde1..46555ff1 100644
--- a/tools.descartes.dni.core/src/tools/descartes/dni/dnimm3/tools/DNIParser.java
+++ b/tools.descartes.dni.core/src/tools/descartes/dni/dnimm3/tools/DNIParser.java
@@ -17,7 +17,7 @@ import tools.descartes.dni.dnimm3.NetworkInfrastructure;
 import tools.descartes.dni.dnimm3.impl.NetworkInfrastructureImpl;
 
 public class DNIParser {
-	
+
 	private DNIParser() {
 	}
 
@@ -58,7 +58,7 @@ public class DNIParser {
 				.put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl());
 		resourceSet.getPackageRegistry().put(DNIPackage.eNS_URI, DNIPackage.eINSTANCE);
 		Resource resource = resourceSet.createResource(URI.createFileURI(file.getAbsolutePath()));
-		resource.getContents().add(networkInfrastructure);
+		resource.getContents().add(DNIUtil.cloneModel(networkInfrastructure));
 		resource.save(Collections.EMPTY_MAP);
 	}
 
-- 
GitLab