diff --git a/src/main/java/eu/hbp/mip/akka/ExperimentActor.java b/src/main/java/eu/hbp/mip/akka/ExperimentActor.java index a783562464efd158bc7f3fa6219bcdb41fff2e86..8e29f17628142ff3c55928a996bc96a085918d5a 100644 --- a/src/main/java/eu/hbp/mip/akka/ExperimentActor.java +++ b/src/main/java/eu/hbp/mip/akka/ExperimentActor.java @@ -6,7 +6,11 @@ import akka.event.Logging; import akka.event.LoggingAdapter; import akka.japi.Creator; import eu.hbp.mip.messages.external.QueryResult; +import eu.hbp.mip.model.Experiment; +import eu.hbp.mip.repositories.ExperimentRepository; +import org.springframework.beans.factory.annotation.Autowired; +import java.util.Date; import java.util.UUID; /** @@ -14,6 +18,9 @@ import java.util.UUID; */ public class ExperimentActor extends UntypedActor { + @Autowired + private ExperimentRepository experimentRepository; + public static Props props(final UUID expUUID) { return Props.create(new Creator<ExperimentActor>() { private static final long serialVersionUID = 1L; @@ -38,6 +45,11 @@ public class ExperimentActor extends UntypedActor { if (message instanceof QueryResult) { QueryResult queryResult = (QueryResult) message; log.info("received query result for : " + expUUID.toString()); + Experiment experiment = experimentRepository.findOne(expUUID); + experiment.setResult(queryResult.data().get()); + experiment.setFinished(new Date()); + experimentRepository.save(experiment); + log.info("Experiment "+ expUUID +" updated (finished)"); } else { unhandled(message);