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 b0679f947a19a138ce44ce648064181d5d861825..479e4b9825bf58f6c2d3a461e99a455fdfe2bab2 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 81a987d280fa969e67a2b04c90819e795e93854a..8ee1b2493c301a4aa498b467f6b38f0832c96ee4 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 ec04eb65f4936fef90fd17d3240916447f2d98cc..e71f9502374b8d221b349a57d771dcfc0cf4bc03 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; + } + }