From 53bb96d7d7c2a99ffe7b6feb139dfb6a68f23d87 Mon Sep 17 00:00:00 2001 From: Nikolaus Huber <nikolaus.huber@uni-wuerzburg.de> Date: Fri, 4 Jul 2014 09:42:15 +0000 Subject: [PATCH] switch to ObservationRepository git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/DMM/trunk@16152 9e42b895-fcda-4063-8a3b-11be15eb1bbd --- .../META-INF/MANIFEST.MF | 7 ++-- .../IPerformanceDataRepositoryHandler.java | 7 ++++ .../ObservationRepositoryHandler.java | 35 +++++++++++++------ .../PerformanceDataRepositoryHandler.java | 6 ++++ 4 files changed, 41 insertions(+), 14 deletions(-) diff --git a/edu.kit.ipd.descartes.adaptation.evaluation.performance/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.adaptation.evaluation.performance/META-INF/MANIFEST.MF index 382a7e26..93f790c2 100644 --- a/edu.kit.ipd.descartes.adaptation.evaluation.performance/META-INF/MANIFEST.MF +++ b/edu.kit.ipd.descartes.adaptation.evaluation.performance/META-INF/MANIFEST.MF @@ -6,10 +6,10 @@ Bundle-Version: 1.0.0.qualifier Bundle-Activator: edu.kit.ipd.descartes.adaptation.evaluation.performance.Activator Bundle-Vendor: Descartes Research Group Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Import-Package: edu.kit.ipd.descartes.core, +Import-Package: edu.kit.ipd.descartes.adaptation.model, + edu.kit.ipd.descartes.core, edu.kit.ipd.descartes.identifier, edu.kit.ipd.descartes.mm.adaptation, - edu.kit.ipd.descartes.adaptation.model, edu.kit.ipd.descartes.perfdatarepo, edu.kit.ipd.descartes.ql.models.mapping.domain, edu.kit.ipd.descartes.ql.models.mapping.mapping, @@ -17,10 +17,9 @@ Import-Package: edu.kit.ipd.descartes.core, org.apache.log4j;version="1.2.15", org.eclipse.emf.common.util, org.eclipse.emf.ecore, - org.eclipse.emf.ecore.util, org.eclipse.emf.ecore.resource, org.eclipse.emf.ecore.resource.impl, - org.eclipse.emf.ecore.xmi, + org.eclipse.emf.ecore.util, org.eclipse.emf.ecore.xmi.impl, org.osgi.framework;version="1.3.0" Export-Package: edu.kit.ipd.descartes.adaptation.evaluation.performance, diff --git a/edu.kit.ipd.descartes.adaptation.evaluation.performance/src/edu/kit/ipd/descartes/adaptation/evaluation/performance/repository/IPerformanceDataRepositoryHandler.java b/edu.kit.ipd.descartes.adaptation.evaluation.performance/src/edu/kit/ipd/descartes/adaptation/evaluation/performance/repository/IPerformanceDataRepositoryHandler.java index 98c71a7f..3ebbb33d 100644 --- a/edu.kit.ipd.descartes.adaptation.evaluation.performance/src/edu/kit/ipd/descartes/adaptation/evaluation/performance/repository/IPerformanceDataRepositoryHandler.java +++ b/edu.kit.ipd.descartes.adaptation.evaluation.performance/src/edu/kit/ipd/descartes/adaptation/evaluation/performance/repository/IPerformanceDataRepositoryHandler.java @@ -14,4 +14,11 @@ public interface IPerformanceDataRepositoryHandler { public Result getCurrentSystemState(); public EObject getRepository(); + + /** + * This is a helper function to overcome the problem that + * there is no performance prediction connected right now. + * Therefore we have to set the new system state manually. + */ + public void setNewSystemState(); } diff --git a/edu.kit.ipd.descartes.adaptation.evaluation.performance/src/edu/kit/ipd/descartes/adaptation/evaluation/performance/repository/ObservationRepositoryHandler.java b/edu.kit.ipd.descartes.adaptation.evaluation.performance/src/edu/kit/ipd/descartes/adaptation/evaluation/performance/repository/ObservationRepositoryHandler.java index 4922aa52..8c9ba5f6 100644 --- a/edu.kit.ipd.descartes.adaptation.evaluation.performance/src/edu/kit/ipd/descartes/adaptation/evaluation/performance/repository/ObservationRepositoryHandler.java +++ b/edu.kit.ipd.descartes.adaptation.evaluation.performance/src/edu/kit/ipd/descartes/adaptation/evaluation/performance/repository/ObservationRepositoryHandler.java @@ -2,9 +2,13 @@ package edu.kit.ipd.descartes.adaptation.evaluation.performance.repository; import static edu.kit.ipd.descartes.adaptation.evaluation.performance.repository.PerfDataRepoConverter.convertObservableImpact; +import java.util.Iterator; +import java.util.List; + import org.apache.log4j.Logger; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.util.EcoreUtil; import edu.kit.ipd.descartes.adaptation.model.AbstractEcoreModelLoader; import edu.kit.ipd.descartes.perfdatarepo.Impact; @@ -38,16 +42,6 @@ public class ObservationRepositoryHandler implements IPerformanceDataRepositoryH public Result getCurrentSystemState() { Observation o = repository.getLatestObservation(); -// WeightedTactic latestTactic = TacticsHistory.getInstance().getLatestAppliedTactic(); -// if (latestTactic == null) { -// o = repository.getLatestObservation(); -// } else { -// // TODO: Blue Yonder specific, introduce abstraction layer -// String expName = BlueYonderExperimentTracker.getInstance.getExperimentNameForDistributedDataCenter(AdaptationProcessModelLoader.getDistributedDataCenter()); -// logger.debug("Searching for result of " + expName); -// o = ObservationRepositoryHelper.getResultEndingWith(expName, repository); -// } - if (o == null) return null; else @@ -58,5 +52,26 @@ public class ObservationRepositoryHandler implements IPerformanceDataRepositoryH public EObject getRepository() { return repository; } + + @Override + public void setNewSystemState() { + List<Observation> observations = repository.getObservations(); + Observation currentObservation = repository.getLatestObservation(); + Observation newObservation = null; + for (Iterator<Observation> iterator = observations.iterator(); iterator.hasNext();) { + Observation observ = (Observation) iterator.next(); + if (EcoreUtil.equals(observ, currentObservation)) { + newObservation = iterator.next(); + break; + } + } + if (newObservation != null) { + repository.setLatestObservation(newObservation); + } + else { + logger.error("Error determining new system state!"); + throw new RuntimeException(); + } + } } diff --git a/edu.kit.ipd.descartes.adaptation.evaluation.performance/src/edu/kit/ipd/descartes/adaptation/evaluation/performance/repository/PerformanceDataRepositoryHandler.java b/edu.kit.ipd.descartes.adaptation.evaluation.performance/src/edu/kit/ipd/descartes/adaptation/evaluation/performance/repository/PerformanceDataRepositoryHandler.java index 4825beff..a640d264 100644 --- a/edu.kit.ipd.descartes.adaptation.evaluation.performance/src/edu/kit/ipd/descartes/adaptation/evaluation/performance/repository/PerformanceDataRepositoryHandler.java +++ b/edu.kit.ipd.descartes.adaptation.evaluation.performance/src/edu/kit/ipd/descartes/adaptation/evaluation/performance/repository/PerformanceDataRepositoryHandler.java @@ -51,4 +51,10 @@ public class PerformanceDataRepositoryHandler implements IPerformanceDataReposit return repository; } + @Override + public void setNewSystemState() { + // TODO Auto-generated method stub + + } + } -- GitLab