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 013aac88c0ac5c44d6503a4dae24e085b8344d53..e68869378a260b9111bfe728a7b61eae6931c73d 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 @@ -3,12 +3,15 @@ package edu.kit.ipd.descartes.adaptation.model.perfdatarepo; import static edu.kit.ipd.descartes.adaptation.model.perfdatarepo.PerfDataRepoConverter.convertObservableImpact; import static edu.kit.ipd.descartes.adaptation.model.perfdatarepo.PerfDataRepoConverter.convertResult; +import java.util.List; + 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.perfdatarepo.Impact; import edu.kit.ipd.descartes.perfdatarepo.Result; +import edu.kit.ipd.descartes.ql.models.repository.Observation; import edu.kit.ipd.descartes.ql.models.repository.ObservationRepository; public class ObservationRepositoryHandler implements IPerformanceDataRepositoryHandler { @@ -45,5 +48,21 @@ public class ObservationRepositoryHandler implements IPerformanceDataRepositoryH public Result getCurrentSystemState() { return convertResult(repository.getObservations().get(iteration)); } + + /** + * Searches the observation repository for an observation that contains the given + * name. + * + * @param name + * @return first result that contains the given string, null otherwise. + */ + public Result getResultOfName(String name) { + List<Observation> results = repository.getObservations(); + for (Observation o : results) { + if(o.getIdentifier().contains(name)) + return convertResult(o); + } + return null; + } }