From 835abae467b2b16a4619bb72ffc5d6fef512adda Mon Sep 17 00:00:00 2001 From: Nikolaus Huber <nikolaus.huber@uni-wuerzburg.de> Date: Wed, 18 Sep 2013 15:02:28 +0000 Subject: [PATCH] introduced new interface signature to query latest impact git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@13117 9e42b895-fcda-4063-8a3b-11be15eb1bbd --- .../META-INF/MANIFEST.MF | 13 ++++++++++- .../adaptation/analysis/IModelAnalyzer.java | 4 ++++ .../analysis/pcm/PcmModelAnalyzer.java | 23 ++++++++++++++++++- 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/edu.kit.ipd.descartes.adaptation.analysis/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.adaptation.analysis/META-INF/MANIFEST.MF index b0679f94..479e4b98 100644 --- a/edu.kit.ipd.descartes.adaptation.analysis/META-INF/MANIFEST.MF +++ b/edu.kit.ipd.descartes.adaptation.analysis/META-INF/MANIFEST.MF @@ -6,5 +6,16 @@ Bundle-Version: 1.0.0.qualifier Bundle-Activator: edu.kit.ipd.descartes.adaptation.analysis.Activator Bundle-Vendor: Descartes Research Group Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Import-Package: org.apache.log4j;version="1.2.15", +Import-Package: edu.kit.ipd.descartes.adaptation.model.adaptation.dmm, + edu.kit.ipd.descartes.adaptation.model.repository, + edu.kit.ipd.descartes.adaptation.model.repository.dmm, + edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo, + edu.kit.ipd.descartes.mm.resourcelandscape, + edu.kit.ipd.descartes.perfdatarepo, + edu.kit.ipd.descartes.ql.models.repository, + org.apache.log4j;version="1.2.15", + org.eclipse.emf.common, + org.eclipse.emf.ecore, org.osgi.framework;version="1.3.0" +Export-Package: edu.kit.ipd.descartes.adaptation.analysis, + edu.kit.ipd.descartes.adaptation.analysis.pcm diff --git a/edu.kit.ipd.descartes.adaptation.analysis/src/edu/kit/ipd/descartes/adaptation/analysis/IModelAnalyzer.java b/edu.kit.ipd.descartes.adaptation.analysis/src/edu/kit/ipd/descartes/adaptation/analysis/IModelAnalyzer.java index 81a987d2..8ee1b249 100644 --- a/edu.kit.ipd.descartes.adaptation.analysis/src/edu/kit/ipd/descartes/adaptation/analysis/IModelAnalyzer.java +++ b/edu.kit.ipd.descartes.adaptation.analysis/src/edu/kit/ipd/descartes/adaptation/analysis/IModelAnalyzer.java @@ -1,5 +1,7 @@ package edu.kit.ipd.descartes.adaptation.analysis; +import edu.kit.ipd.descartes.perfdatarepo.Impact; + public interface IModelAnalyzer { /** @@ -7,4 +9,6 @@ public interface IModelAnalyzer { */ public void analyze(); + public Impact getLatestImpact(); + } 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 ec04eb65..e71f9502 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 @@ -3,15 +3,36 @@ package edu.kit.ipd.descartes.adaptation.analysis.pcm; import org.apache.log4j.Logger; import edu.kit.ipd.descartes.adaptation.analysis.IModelAnalyzer; +import edu.kit.ipd.descartes.adaptation.model.adaptation.dmm.BlueYonderExperimentTracker; +import edu.kit.ipd.descartes.adaptation.model.repository.dmm.AdaptationProcessModelLoader; +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.perfdatarepo.Impact; +import edu.kit.ipd.descartes.ql.models.repository.ObservationRepository; public class PcmModelAnalyzer /*extends SimuComWorkflowLauncher*/ implements IModelAnalyzer { private static Logger logger = Logger.getLogger(PcmModelAnalyzer.class); + private IPerformanceDataRepositoryHandler perfDataRepoHandler = null; - @Override + public PcmModelAnalyzer(IPerformanceDataRepositoryHandler perfDataRepoHandler) { + this.perfDataRepoHandler = perfDataRepoHandler; + } + + @Override public void analyze() { logger.error("Model analyzation has not been implemented yet!"); //TODO generate dummy results } + @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; + } + } -- GitLab