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 8c9ba5f69f2d555f8981ba5e21801157b6e0eb59..d3bde09f813e4f909f50ce95235aede1c25e4921 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 @@ -15,6 +15,7 @@ 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; +import edu.kit.ipd.descartes.ql.models.repository.RepositoryFactory; //import edu.kit.ipd.descartes.adaptation.model.repository.dmm.AdaptationProcessModelLoader; public class ObservationRepositoryHandler implements IPerformanceDataRepositoryHandler { @@ -62,7 +63,13 @@ public class ObservationRepositoryHandler implements IPerformanceDataRepositoryH for (Iterator<Observation> iterator = observations.iterator(); iterator.hasNext();) { Observation observ = (Observation) iterator.next(); if (EcoreUtil.equals(observ, currentObservation)) { - newObservation = iterator.next(); + if (iterator.hasNext()) { + newObservation = iterator.next(); + } else { + // Just in case there is no remaining observation in the repository + newObservation = RepositoryFactory.eINSTANCE.createObservation(); + newObservation.setIdentifier("EMPTY"); + } break; } }