diff --git a/src/main/java/eu/hbp/mip/akka/ExperimentActor.java b/src/main/java/eu/hbp/mip/akka/ExperimentActor.java index 8e29f17628142ff3c55928a996bc96a085918d5a..b93fbc0e1d529a4ae5eeb76dbd595bef95b58e73 100644 --- a/src/main/java/eu/hbp/mip/akka/ExperimentActor.java +++ b/src/main/java/eu/hbp/mip/akka/ExperimentActor.java @@ -5,6 +5,7 @@ import akka.actor.UntypedActor; import akka.event.Logging; import akka.event.LoggingAdapter; import akka.japi.Creator; +import eu.hbp.mip.messages.external.QueryError; import eu.hbp.mip.messages.external.QueryResult; import eu.hbp.mip.model.Experiment; import eu.hbp.mip.repositories.ExperimentRepository; @@ -51,6 +52,17 @@ public class ExperimentActor extends UntypedActor { experimentRepository.save(experiment); log.info("Experiment "+ expUUID +" updated (finished)"); } + else if (message instanceof QueryError) { + QueryError queryError = (QueryError) message; + log.warning("received query error"); + Experiment experiment = experimentRepository.findOne(expUUID); + experiment.setHasServerError(true); + experiment.setResult(queryError.message()); + experimentRepository.save(experiment); + experiment.setFinished(new Date()); + experimentRepository.save(experiment); + log.info("Experiment "+ expUUID +" updated (finished)"); + } else { unhandled(message); }