From e31cc39df1a993a08f7b03082adddb19d77bb7b4 Mon Sep 17 00:00:00 2001 From: Stefan Herrnleben <s.herrnleben@syslex.de> Date: Wed, 26 Jul 2017 00:07:55 +0200 Subject: [PATCH] add method to clone dni model --- .../dni/dnimm3/tools/ParserTest.java | 25 +++++------------ .../descartes/dni/dnimm3/tools/UtilTest.java | 27 +++++++++++++++++++ .../{DniApParser.java => DNIAPParser.java} | 10 +++---- .../dni/dnimm3ap/tools/DNIAPUtil.java | 17 ++++++++++++ .../dni/dnimm3/tools/ParserTest.java | 10 +++---- .../descartes/dni/dnimm3/tools/UtilTest.java | 24 +++++++++++++++++ .../tools/{DniParser.java => DNIParser.java} | 5 +++- .../descartes/dni/dnimm3/tools/DNIUtil.java | 17 ++++++++++++ 8 files changed, 104 insertions(+), 31 deletions(-) create mode 100644 tools.descartes.dni.adaptation/src-test/tools/descartes/dni/dnimm3/tools/UtilTest.java rename tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/tools/{DniApParser.java => DNIAPParser.java} (93%) create mode 100644 tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/tools/DNIAPUtil.java create mode 100644 tools.descartes.dni.core/src-test/tools/descartes/dni/dnimm3/tools/UtilTest.java rename tools.descartes.dni.core/src/tools/descartes/dni/dnimm3/tools/{DniParser.java => DNIParser.java} (98%) create mode 100644 tools.descartes.dni.core/src/tools/descartes/dni/dnimm3/tools/DNIUtil.java 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 f5604197..301c017b 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 @@ -12,21 +12,21 @@ import org.junit.Test; import tools.descartes.dni.dnimm3ap.AdaptationPoints; import tools.descartes.dni.dnimm3ap.impl.AdaptationPointsImpl; import tools.descartes.dni.dnimm3ap.impl.DNIAPFactoryImpl; -import tools.descartes.dni.dnimm3ap.tools.DniApParser; +import tools.descartes.dni.dnimm3ap.tools.DNIAPParser; public class ParserTest { @Test public void shouldConvertFileToModel() { File file = new File("resources-test/scenario0B.dniap"); - AdaptationPointsImpl adaptationPoints = DniApParser.convertToModel(file); + AdaptationPointsImpl adaptationPoints = DNIAPParser.convertToModel(file); Assert.assertTrue(adaptationPoints.getRepositories().getNodes().size() > 0); } @Test public void shouldConvertFileToModelWithNetworkStructure() { File file = new File("resources-test/scenario0B.dniap"); - AdaptationPointsImpl adaptationPoints = DniApParser.convertToModel(file); + AdaptationPointsImpl adaptationPoints = DNIAPParser.convertToModel(file); Assert.assertEquals(6, adaptationPoints.getNetworkInfrastructure().getStructure().getNodes().size()); } @@ -36,7 +36,7 @@ public class ParserTest { AdaptationPoints model = factory.createAdaptationPoints(); File file = File.createTempFile("junit-dni-", ".dniap"); file.deleteOnExit(); - DniApParser.writeToFile(model, file); + DNIAPParser.writeToFile(model, file); Assert.assertTrue(file.length() > 100); } @@ -44,7 +44,7 @@ public class ParserTest { public void shouldConvertModelToByteArray() throws IOException { DNIAPFactoryImpl factory = new DNIAPFactoryImpl(); AdaptationPoints model = factory.createAdaptationPoints(); - byte[] bytes = DniApParser.convertToByteArray(model); + byte[] bytes = DNIAPParser.convertToByteArray(model); Assert.assertTrue(bytes.length > 10); } @@ -52,21 +52,8 @@ public class ParserTest { public void shouldConvertByteArrayToModel() throws IOException { Path path = Paths.get("resources-test/scenario0B.dniap"); byte[] data = Files.readAllBytes(path); - AdaptationPoints adaptationPoints = DniApParser.convertToModel(data); + AdaptationPoints adaptationPoints = DNIAPParser.convertToModel(data); Assert.assertTrue(adaptationPoints.getRepositories().getNodes().size() > 0); } - @Test - public void shouldCloneModel() { - File file = new File("resources-test/scenario0B.dniap"); - AdaptationPointsImpl adaptationPoints1 = DniApParser.convertToModel(file); - AdaptationPointsImpl adaptationPoints2 = DniApParser.clone(adaptationPoints1); - Assert.assertNotEquals(adaptationPoints1, adaptationPoints2); - Assert.assertEquals(adaptationPoints1.getNetworkInfrastructure().getStructure().getNodes().size(), - adaptationPoints2.getNetworkInfrastructure().getStructure().getNodes().size()); - Assert.assertEquals( - adaptationPoints1.getNetworkInfrastructure().getStructure().getNodes().get(0).getUid_generated(), - adaptationPoints2.getNetworkInfrastructure().getStructure().getNodes().get(0).getUid_generated()); - } - } diff --git a/tools.descartes.dni.adaptation/src-test/tools/descartes/dni/dnimm3/tools/UtilTest.java b/tools.descartes.dni.adaptation/src-test/tools/descartes/dni/dnimm3/tools/UtilTest.java new file mode 100644 index 00000000..98c70dce --- /dev/null +++ b/tools.descartes.dni.adaptation/src-test/tools/descartes/dni/dnimm3/tools/UtilTest.java @@ -0,0 +1,27 @@ +package tools.descartes.dni.dnimm3.tools; + +import java.io.File; + +import org.junit.Assert; +import org.junit.Test; + +import tools.descartes.dni.dnimm3ap.impl.AdaptationPointsImpl; +import tools.descartes.dni.dnimm3ap.tools.DNIAPParser; +import tools.descartes.dni.dnimm3ap.tools.DNIAPUtil; + +public class UtilTest { + + @Test + public void shouldCloneModel() { + File file = new File("resources-test/scenario0B.dniap"); + AdaptationPointsImpl adaptationPoints1 = DNIAPParser.convertToModel(file); + AdaptationPointsImpl adaptationPoints2 = DNIAPUtil.cloneModel(adaptationPoints1); + Assert.assertNotEquals(adaptationPoints1, adaptationPoints2); + Assert.assertEquals(adaptationPoints1.getNetworkInfrastructure().getStructure().getNodes().size(), + adaptationPoints2.getNetworkInfrastructure().getStructure().getNodes().size()); + Assert.assertEquals( + adaptationPoints1.getNetworkInfrastructure().getStructure().getNodes().get(0).getUid_generated(), + adaptationPoints2.getNetworkInfrastructure().getStructure().getNodes().get(0).getUid_generated()); + } + +} 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 similarity index 93% rename from tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/tools/DniApParser.java rename to tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/tools/DNIAPParser.java index 0d6bd174..d82b415f 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 @@ -10,14 +10,16 @@ import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; -import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; import tools.descartes.dni.dnimm3ap.AdaptationPoints; import tools.descartes.dni.dnimm3ap.DNIAPPackage; import tools.descartes.dni.dnimm3ap.impl.AdaptationPointsImpl; -public class DniApParser { +public class DNIAPParser { + + private DNIAPParser() { + } public static AdaptationPointsImpl convertToModel(File file) { ResourceSet resourceSet = new ResourceSetImpl(); @@ -60,8 +62,4 @@ public class DniApParser { resource.save(Collections.EMPTY_MAP); } - public static AdaptationPointsImpl clone(AdaptationPoints adaptationPoints) { - return (AdaptationPointsImpl) EcoreUtil.copy(adaptationPoints); - } - } diff --git a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/tools/DNIAPUtil.java b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/tools/DNIAPUtil.java new file mode 100644 index 00000000..fafaaaf3 --- /dev/null +++ b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/tools/DNIAPUtil.java @@ -0,0 +1,17 @@ +package tools.descartes.dni.dnimm3ap.tools; + +import org.eclipse.emf.ecore.util.EcoreUtil; + +import tools.descartes.dni.dnimm3ap.AdaptationPoints; +import tools.descartes.dni.dnimm3ap.impl.AdaptationPointsImpl; + +public class DNIAPUtil { + + private DNIAPUtil() { + } + + public static AdaptationPointsImpl cloneModel(AdaptationPoints adaptationPoints) { + return (AdaptationPointsImpl) EcoreUtil.copy(adaptationPoints); + } + +} diff --git a/tools.descartes.dni.core/src-test/tools/descartes/dni/dnimm3/tools/ParserTest.java b/tools.descartes.dni.core/src-test/tools/descartes/dni/dnimm3/tools/ParserTest.java index 2844ddea..0c8d9eac 100644 --- a/tools.descartes.dni.core/src-test/tools/descartes/dni/dnimm3/tools/ParserTest.java +++ b/tools.descartes.dni.core/src-test/tools/descartes/dni/dnimm3/tools/ParserTest.java @@ -18,14 +18,14 @@ public class ParserTest { @Test public void shouldConvertFileToModel() { File file = new File("resources-test/scenario0A.dni"); - NetworkInfrastructureImpl networkInfrastructure = DniParser.convertToModel(file); + NetworkInfrastructureImpl networkInfrastructure = DNIParser.convertToModel(file); Assert.assertEquals(6, networkInfrastructure.getStructure().getNodes().size()); } @Test public void shouldConvertFileWithAdaptationToModel() { File file = new File("resources-test/scenario0B.dni"); - NetworkInfrastructureImpl networkInfrastructure = DniParser.convertToModel(file); + NetworkInfrastructureImpl networkInfrastructure = DNIParser.convertToModel(file); Assert.assertEquals(6, networkInfrastructure.getStructure().getNodes().size()); } @@ -35,7 +35,7 @@ public class ParserTest { NetworkInfrastructure model = factory.createNetworkInfrastructure(); File file = File.createTempFile("junit-dni-", ".dni"); file.deleteOnExit(); - DniParser.writeToFile(model, file); + DNIParser.writeToFile(model, file); Assert.assertTrue(file.length() > 100); } @@ -43,7 +43,7 @@ public class ParserTest { public void shouldConvertModelToByteArray() throws IOException { DNIFactoryImpl factory = new DNIFactoryImpl(); NetworkInfrastructure model = factory.createNetworkInfrastructure(); - byte[] bytes = DniParser.convertToByteArray(model); + byte[] bytes = DNIParser.convertToByteArray(model); Assert.assertTrue(bytes.length > 100); } @@ -51,7 +51,7 @@ public class ParserTest { public void shouldConvertByteArrayToModel() throws IOException { Path path = Paths.get("resources-test/scenario0A.dni"); byte[] data = Files.readAllBytes(path); - NetworkInfrastructureImpl networkInfrastructure = DniParser.convertToModel(data); + NetworkInfrastructureImpl networkInfrastructure = DNIParser.convertToModel(data); Assert.assertEquals(6, networkInfrastructure.getStructure().getNodes().size()); } diff --git a/tools.descartes.dni.core/src-test/tools/descartes/dni/dnimm3/tools/UtilTest.java b/tools.descartes.dni.core/src-test/tools/descartes/dni/dnimm3/tools/UtilTest.java new file mode 100644 index 00000000..120bda93 --- /dev/null +++ b/tools.descartes.dni.core/src-test/tools/descartes/dni/dnimm3/tools/UtilTest.java @@ -0,0 +1,24 @@ +package tools.descartes.dni.dnimm3.tools; + +import java.io.File; + +import org.junit.Assert; +import org.junit.Test; + +import tools.descartes.dni.dnimm3.impl.NetworkInfrastructureImpl; + +public class UtilTest { + + @Test + public void shouldCloneModel() { + File file = new File("resources-test/scenario0B.dni"); + NetworkInfrastructureImpl networkInfrastructure1 = DNIParser.convertToModel(file); + NetworkInfrastructureImpl networkInfrastructure2 = DNIUtil.cloneModel(networkInfrastructure1); + Assert.assertNotEquals(networkInfrastructure1, networkInfrastructure2); + Assert.assertEquals(networkInfrastructure1.getStructure().getNodes().size(), + networkInfrastructure2.getStructure().getNodes().size()); + Assert.assertEquals(networkInfrastructure1.getStructure().getNodes().get(0).getUid_generated(), + networkInfrastructure2.getStructure().getNodes().get(0).getUid_generated()); + } + +} 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 similarity index 98% rename from tools.descartes.dni.core/src/tools/descartes/dni/dnimm3/tools/DniParser.java rename to tools.descartes.dni.core/src/tools/descartes/dni/dnimm3/tools/DNIParser.java index 510d2ba6..8486cde1 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 @@ -16,7 +16,10 @@ import tools.descartes.dni.dnimm3.DNIPackage; import tools.descartes.dni.dnimm3.NetworkInfrastructure; import tools.descartes.dni.dnimm3.impl.NetworkInfrastructureImpl; -public class DniParser { +public class DNIParser { + + private DNIParser() { + } public static NetworkInfrastructureImpl convertToModel(File file) { ResourceSet resourceSet = new ResourceSetImpl(); diff --git a/tools.descartes.dni.core/src/tools/descartes/dni/dnimm3/tools/DNIUtil.java b/tools.descartes.dni.core/src/tools/descartes/dni/dnimm3/tools/DNIUtil.java new file mode 100644 index 00000000..b6032cb2 --- /dev/null +++ b/tools.descartes.dni.core/src/tools/descartes/dni/dnimm3/tools/DNIUtil.java @@ -0,0 +1,17 @@ +package tools.descartes.dni.dnimm3.tools; + +import org.eclipse.emf.ecore.util.EcoreUtil; + +import tools.descartes.dni.dnimm3.NetworkInfrastructure; +import tools.descartes.dni.dnimm3.impl.NetworkInfrastructureImpl; + +public class DNIUtil { + + private DNIUtil() { + } + + public static NetworkInfrastructureImpl cloneModel(NetworkInfrastructure networkInfrastructure) { + return (NetworkInfrastructureImpl) EcoreUtil.copy(networkInfrastructure); + } + +} -- GitLab