From c3bbd6ceaa4207b41b5dc616e43c88685d7c7fee Mon Sep 17 00:00:00 2001
From: Nikolaus Huber <nikolaus.huber@uni-wuerzburg.de>
Date: Tue, 11 Jun 2013 09:18:09 +0000
Subject: [PATCH] added interface signature to determine the latest impact of a
 tactic

git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@12016 9e42b895-fcda-4063-8a3b-11be15eb1bbd
---
 .../perfdatarepo/IPerformanceDataRepositoryHandler.java  | 4 ++--
 .../model/perfdatarepo/ObservationRepositoryHandler.java | 9 +++++++++
 .../perfdatarepo/PerformanceDataRepositoryHandler.java   | 7 +++++++
 3 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/IPerformanceDataRepositoryHandler.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/IPerformanceDataRepositoryHandler.java
index 7e55c871..7d0ca26e 100644
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/IPerformanceDataRepositoryHandler.java
+++ b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/IPerformanceDataRepositoryHandler.java
@@ -1,16 +1,16 @@
 package edu.kit.ipd.descartes.adaptation.model.perfdatarepo;
 
+import edu.kit.ipd.descartes.mm.adaptation.WeightedTactic;
 import edu.kit.ipd.descartes.perfdatarepo.Impact;
 import edu.kit.ipd.descartes.perfdatarepo.Result;
 
 public interface IPerformanceDataRepositoryHandler {
     
     public void load(String modelFileUri);
-
     
     public Impact getLatestImpact();
+    public Impact getLatestImpact(WeightedTactic tactic);
     public Impact getImpactAt(int position);
 
     public Result getCurrentSystemState();
-
 }
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/ObservationRepositoryHandler.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/ObservationRepositoryHandler.java
index 7fcf38eb..88f6b129 100644
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/ObservationRepositoryHandler.java
+++ b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/ObservationRepositoryHandler.java
@@ -7,6 +7,7 @@ import org.apache.log4j.Logger;
 import org.eclipse.emf.common.util.URI;
 
 import edu.kit.ipd.descartes.adaptation.model.AbstractEcoreModelLoader;
+import edu.kit.ipd.descartes.mm.adaptation.WeightedTactic;
 import edu.kit.ipd.descartes.perfdatarepo.Impact;
 import edu.kit.ipd.descartes.perfdatarepo.Result;
 import edu.kit.ipd.descartes.ql.models.repository.ObservationRepository;
@@ -45,4 +46,12 @@ public class ObservationRepositoryHandler implements IPerformanceDataRepositoryH
     public Result getCurrentSystemState() {
         return convertResult(repository.getObservations().get(iteration));
     }
+
+    @Override
+    public Impact getLatestImpact(WeightedTactic tactic) {
+        String expName = ObservationRepositoryHelper.deriveExperimentName(tactic, iteration + 1);
+        Impact latestImpact = PerfDataRepoConverter.convertObservableImpact(ObservationRepositoryHelper
+                .searchImpactOfTactic(expName, repository));
+        return latestImpact;
+    }
 }
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerformanceDataRepositoryHandler.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerformanceDataRepositoryHandler.java
index f8cc3057..10d227bb 100644
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerformanceDataRepositoryHandler.java
+++ b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerformanceDataRepositoryHandler.java
@@ -4,6 +4,7 @@ import org.apache.log4j.Logger;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.common.util.URI;
 
+import edu.kit.ipd.descartes.mm.adaptation.WeightedTactic;
 import edu.kit.ipd.descartes.perfdatarepo.Impact;
 import edu.kit.ipd.descartes.perfdatarepo.PerformanceDataRepository;
 import edu.kit.ipd.descartes.perfdatarepo.Result;
@@ -54,4 +55,10 @@ public class PerformanceDataRepositoryHandler implements IPerformanceDataReposit
         return repository.getResultHistory().get(iteration);
     }
 
+    @Override
+    public Impact getLatestImpact(WeightedTactic tactic) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
 }
-- 
GitLab