From e51d82753b1e3ecad15366e9536fb8ab86005904 Mon Sep 17 00:00:00 2001 From: Nikolaus Huber <nikolaus.huber@uni-wuerzburg.de> Date: Fri, 4 Jul 2014 10:41:23 +0000 Subject: [PATCH] problem setting new currentSystemState when there is no further observation in repository. this has been fixed git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/DMM/trunk@16156 9e42b895-fcda-4063-8a3b-11be15eb1bbd --- .../repository/ObservationRepositoryHandler.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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 8c9ba5f6..d3bde09f 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; } } -- GitLab