From 10212217d21f4c0c6a944c16ed1abe9e9887e294 Mon Sep 17 00:00:00 2001
From: Nikolaus Huber <nikolaus.huber@uni-wuerzburg.de>
Date: Sun, 22 Sep 2013 12:53:32 +0000
Subject: [PATCH] Fix: BlueYonder specific DataRepo

git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@13144 9e42b895-fcda-4063-8a3b-11be15eb1bbd
---
 .../analysis/pcm/PcmModelAnalyzer.java           | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/edu.kit.ipd.descartes.adaptation.analysis/src/edu/kit/ipd/descartes/adaptation/analysis/pcm/PcmModelAnalyzer.java b/edu.kit.ipd.descartes.adaptation.analysis/src/edu/kit/ipd/descartes/adaptation/analysis/pcm/PcmModelAnalyzer.java
index e71f9502..8157bb7d 100644
--- a/edu.kit.ipd.descartes.adaptation.analysis/src/edu/kit/ipd/descartes/adaptation/analysis/pcm/PcmModelAnalyzer.java
+++ b/edu.kit.ipd.descartes.adaptation.analysis/src/edu/kit/ipd/descartes/adaptation/analysis/pcm/PcmModelAnalyzer.java
@@ -8,6 +8,7 @@ import edu.kit.ipd.descartes.adaptation.model.repository.dmm.AdaptationProcessMo
 import edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo.IPerformanceDataRepositoryHandler;
 import edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo.ObservationRepositoryHelper;
 import edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo.PerfDataRepoConverter;
+import edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo.PerformanceDataRepositoryHandler;
 import edu.kit.ipd.descartes.perfdatarepo.Impact;
 import edu.kit.ipd.descartes.ql.models.repository.ObservationRepository;
 
@@ -28,11 +29,16 @@ public class PcmModelAnalyzer /*extends SimuComWorkflowLauncher*/ implements IMo
 
     @Override
     public Impact getLatestImpact() {
-        String expName = BlueYonderExperimentTracker.getInstance().getExperimentNameForDistributedDataCenter(AdaptationProcessModelLoader.getDistributedDataCenter());
-        logger.debug("Searching for impact of " + expName);
-        Impact latestImpact = PerfDataRepoConverter.convertObservableImpact(ObservationRepositoryHelper
-                .searchImpactOfTactic(expName, (ObservationRepository) perfDataRepoHandler.getRepository()));
-        return latestImpact;
+        
+        if (perfDataRepoHandler.getClass().getName() == PerformanceDataRepositoryHandler.class.getName())
+            return perfDataRepoHandler.getLatestImpact();
+        else {
+            String expName = BlueYonderExperimentTracker.getInstance().getExperimentNameForDistributedDataCenter(AdaptationProcessModelLoader.getDistributedDataCenter());
+            logger.debug("Searching for impact of " + expName);
+            Impact latestImpact = PerfDataRepoConverter.convertObservableImpact(ObservationRepositoryHelper
+                    .searchImpactOfTactic(expName, (ObservationRepository) perfDataRepoHandler.getRepository()));
+            return latestImpact;
+        }
     }
 
 }
-- 
GitLab