From fe9361313a289a6be0f77b6d365dae214144675d Mon Sep 17 00:00:00 2001
From: Nikolaus Huber <nikolaus.huber@uni-wuerzburg.de>
Date: Thu, 20 Jun 2013 12:34:36 +0000
Subject: [PATCH] relative paths can now be used [DESCARTES-63]

git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@12190 9e42b895-fcda-4063-8a3b-11be15eb1bbd
---
 .../default.properties                           | 16 ++++++++--------
 .../descartes/adaptation/AdaptationControl.java  |  6 ++++--
 .../model/dmm/AdaptationProcessModelLoader.java  |  7 +++++--
 3 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/edu.kit.ipd.descartes.adaptation/default.properties b/edu.kit.ipd.descartes.adaptation/default.properties
index 4fde303a..59093e7a 100644
--- a/edu.kit.ipd.descartes.adaptation/default.properties
+++ b/edu.kit.ipd.descartes.adaptation/default.properties
@@ -1,15 +1,15 @@
 #process.name=AdaptationEngine
-#adaptationprocess.instance=/Users/nhuber/Documents/workspace/descartes/metamodel/edu.kit.ipd.descartes.adaptation.test/test_models/StaRepository.xmi
+#adaptationprocess.instance=../edu.kit.ipd.descartes.adaptation.test/test_models/StaRepository.xmi
 #perfdatarepo.metamodel=edu.kit.ipd.descartes.perfdatarepo.PerformanceDataRepository
-#perfdatarepo.instance=/Users/nhuber/Documents/workspace/descartes/metamodel/edu.kit.ipd.descartes.adaptation.test/test_models/PerformanceDataRepositoryDummy.xmi
+#perfdatarepo.instance=../edu.kit.ipd.descartes.adaptation.test/test_models/PerformanceDataRepositoryDummy.xmi
 #process.maxiterations=2
 ## The list of triggering events can be found in EventTypeEnum.java
 #event.type=
 
 #process.name=SEAMS_PushPull-v1
-#adaptationprocess.instance=/Users/nhuber/Documents/workspace/descartes/metamodel/Examples/SEAMS_Case_Study/pushpull.adaptation
+#adaptationprocess.instance=../Examples/SEAMS_Case_Study/pushpull.adaptation
 #perfdatarepo.metamodel=edu.kit.ipd.descartes.perfdatarepo.PerformanceDataRepository
-#perfdatarepo.instance=/Users/nhuber/Documents/workspace/descartes/metamodel/Examples/SEAMS_Case_Study/simucomresults.perfdatarepo
+#perfdatarepo.instance=../Examples/SEAMS_Case_Study/simucomresults.perfdatarepo
 #process.maxiterations=2
 ## The list of triggering events can be found in EventTypeEnum.java
 #event.type=SlaViolatedEvent
@@ -23,17 +23,17 @@
 #event.type=BottleneckFoundEvent
 
 #process.name=SEAMS_PushPull-v2
-#adaptationprocess.instance=/Users/nhuber/Documents/workspace/descartes/metamodel/edu.kit.ipd.descartes.adaptation.test/SEAMSv2_Case_Study/pushPullProcess.adaptation
+#adaptationprocess.instance=../edu.kit.ipd.descartes.adaptation.test/SEAMSv2_Case_Study/pushPullProcess.adaptation
 #perfdatarepo.metamodel=edu.kit.ipd.descartes.perfdatarepo.PerformanceDataRepository
-#perfdatarepo.instance=/Users/nhuber/Documents/workspace/descartes/metamodel/edu.kit.ipd.descartes.adaptation.test/SEAMSv2_Case_Study/simucom-simulationResults.perfdatarepo
+#perfdatarepo.instance=../edu.kit.ipd.descartes.adaptation.test/SEAMSv2_Case_Study/simucom-simulationResults.perfdatarepo
 #process.maxiterations=2
 ## The list of triggering events can be found in EventTypeEnum.java
 #event.type=SlaViolatedEvent
 
 process.name=SEAMS_PushPull-v1
-adaptationprocess.instance=/Users/nhuber/Documents/workspace/descartes/metamodel/Examples/SEAMS_Case_Study/pushpull.adaptation
+adaptationprocess.instance=../Examples/SEAMS_Case_Study/pushpull.adaptation
 perfdatarepo.metamodel=edu.kit.ipd.descartes.perfdatarepo.PerformanceDataRepository
-perfdatarepo.instance=/Users/nhuber/Documents/workspace/descartes/metamodel/Examples/SEAMS_Case_Study/simucomresults.perfdatarepo
+perfdatarepo.instance=../Examples/SEAMS_Case_Study/simucomresults.perfdatarepo
 process.maxiterations=3
 # The list of triggering events can be found in EventTypeEnum.java
 event.type=SlaViolatedEvent
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/AdaptationControl.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/AdaptationControl.java
index dc665969..0a40b621 100644
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/AdaptationControl.java
+++ b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/AdaptationControl.java
@@ -1,5 +1,6 @@
 package edu.kit.ipd.descartes.adaptation;
 
+import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.util.Properties;
@@ -73,8 +74,9 @@ public class AdaptationControl {
             // load properties file
             loadProperties(propertiesFile);
 
-            // load required models
-            adaptationProcess = adaptationProcessModelLoader.load(URI.createFileURI(adaptationProcessXmiFilePath));
+            // load required models, use absolute paht (http://www.jevon.org/wiki/Resolving_Proxy_EMF_Elements)
+            adaptationProcess = adaptationProcessModelLoader.load(URI.createFileURI(new File(
+                    adaptationProcessXmiFilePath).getAbsolutePath()));
             perfDataRepoHandler = PerformanceDataRepositoryHandlerFactory.createHandler(pdrMetamodelType);
             perfDataRepoHandler.load(performanceDataRepoXmiFilePath);
 
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/dmm/AdaptationProcessModelLoader.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/dmm/AdaptationProcessModelLoader.java
index 061b80ae..63b83c06 100644
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/dmm/AdaptationProcessModelLoader.java
+++ b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/dmm/AdaptationProcessModelLoader.java
@@ -27,8 +27,11 @@ import edu.kit.ipd.descartes.mm.resourcelandscape.ResourcelandscapePackage;
 
 public class AdaptationProcessModelLoader extends AbstractEcoreModelLoader {
 
-    public static final EPackage[] DMM_EPACKAGES = new EPackage[] { ResourcelandscapePackage.eINSTANCE,
-            AdaptationpointsPackage.eINSTANCE, ContainerrepositoryPackage.eINSTANCE, AdaptationPackage.eINSTANCE };
+    public static final EPackage[] DMM_EPACKAGES = new EPackage[] { 
+        ResourcelandscapePackage.eINSTANCE,
+        AdaptationpointsPackage.eINSTANCE, 
+        ContainerrepositoryPackage.eINSTANCE, 
+        AdaptationPackage.eINSTANCE };
 
     private static AdaptationProcessModelLoader instance = null;
     private static ChangeRecorder recorder = null;
-- 
GitLab