From 9333f899956c972f02181567811b8e4a16cd9426 Mon Sep 17 00:00:00 2001
From: Stefan Herrnleben <s.herrnleben@syslex.de>
Date: Sat, 22 Jul 2017 11:14:04 +0200
Subject: [PATCH] add parser for adaptation points metamodel including junit
 test

---
 .../resources-test/scenario0B.dniap                        | 1 +
 .../tools/descartes/dni/dnimm3/tools/ParserTest.java       | 7 +++++++
 .../src/tools/descartes/dni/dnimm3ap/tools/Parser.java     | 4 ++--
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/tools.descartes.dni.adaptation/resources-test/scenario0B.dniap b/tools.descartes.dni.adaptation/resources-test/scenario0B.dniap
index 1eb33ace..0ae641e3 100644
--- a/tools.descartes.dni.adaptation/resources-test/scenario0B.dniap
+++ b/tools.descartes.dni.adaptation/resources-test/scenario0B.dniap
@@ -6,4 +6,5 @@
     </nodes>
   </repositories>
   <groups/>
+  <networkInfrastructure href="scenario0B.dni#_YRLUIOlEEeWVGvgYicTWCQ"/>
 </dnimm3ap:AdaptationPoints>
diff --git a/tools.descartes.dni.adaptation/src-test/tools/descartes/dni/dnimm3/tools/ParserTest.java b/tools.descartes.dni.adaptation/src-test/tools/descartes/dni/dnimm3/tools/ParserTest.java
index 9e96d299..967e92c4 100644
--- a/tools.descartes.dni.adaptation/src-test/tools/descartes/dni/dnimm3/tools/ParserTest.java
+++ b/tools.descartes.dni.adaptation/src-test/tools/descartes/dni/dnimm3/tools/ParserTest.java
@@ -23,6 +23,13 @@ public class ParserTest {
 		Assert.assertTrue(adaptationPoints.getRepositories().getNodes().size() > 0);
 	}
 
+	@Test
+	public void shouldConvertFileToModelWithNetworkStructure() {
+		File file = new File("resources-test/scenario0B.dniap");
+		AdaptationPointsImpl adaptationPoints = Parser.convertToModel(file);
+		Assert.assertEquals(6, adaptationPoints.getNetworkInfrastructure().getStructure().getNodes().size());
+	}
+
 	@Test
 	public void shouldConvertModelToFile() throws IOException {
 		DNIAPFactoryImpl factory = new DNIAPFactoryImpl();
diff --git a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/tools/Parser.java b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/tools/Parser.java
index bdff6cde..97730109 100644
--- a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/tools/Parser.java
+++ b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/tools/Parser.java
@@ -23,7 +23,7 @@ public class Parser {
 		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
 				.put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl());
 		resourceSet.getPackageRegistry().put(DNIAPPackage.eNS_URI, DNIAPPackage.eINSTANCE);
-		Resource resource = resourceSet.getResource(URI.createFileURI(file.getPath()), true);
+		Resource resource = resourceSet.getResource(URI.createFileURI(file.getAbsolutePath()), true);
 		return (AdaptationPointsImpl) resource.getContents().get(0);
 	}
 
@@ -54,7 +54,7 @@ public class Parser {
 		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
 				.put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl());
 		resourceSet.getPackageRegistry().put(DNIAPPackage.eNS_URI, DNIAPPackage.eINSTANCE);
-		Resource resource = resourceSet.createResource(URI.createFileURI(file.toURI().getPath()));
+		Resource resource = resourceSet.createResource(URI.createFileURI(file.getAbsolutePath()));
 		resource.getContents().add(adaptationPoints);
 		resource.save(Collections.EMPTY_MAP);
 	}
-- 
GitLab