Skip to content
Snippets Groups Projects
Commit 53bb96d7 authored by Nikolaus Huber's avatar Nikolaus Huber
Browse files

switch to ObservationRepository

git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/DMM/trunk@16152 9e42b895-fcda-4063-8a3b-11be15eb1bbd
parent 37362d9d
No related branches found
No related tags found
No related merge requests found
......@@ -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,
......
......@@ -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();
}
......@@ -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();
}
}
}
......@@ -51,4 +51,10 @@ public class PerformanceDataRepositoryHandler implements IPerformanceDataReposit
return repository;
}
@Override
public void setNewSystemState() {
// TODO Auto-generated method stub
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment