From 72331bce84cfc50d7bde47af8338e71e60a181d2 Mon Sep 17 00:00:00 2001
From: Mirco Nasuti <mirco.nasuti@chuv.ch>
Date: Thu, 8 Dec 2016 10:39:23 +0100
Subject: [PATCH] fix serialization problem

---
 .../java/eu/hbp/mip/controllers/ExperimentApi.java |  4 ++--
 src/main/java/eu/hbp/mip/model/Experiment.java     | 14 +++++++-------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
index 93699235a..28d94981e 100644
--- a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
@@ -210,7 +210,7 @@ public class ExperimentApi {
 
         Timeout timeout = new Timeout(Duration.create(5, "seconds"));
         Future<Object> future = Patterns.ask(wokenActor, new MethodsQuery(), timeout);
-        Methods result = null;
+        Methods result;
         try {
             result = (Methods) Await.result(future, timeout.duration());
         } catch (Exception e) {
@@ -281,7 +281,7 @@ public class ExperimentApi {
 
     private void sendExperiment(Experiment experiment) throws MalformedURLException {
         // this runs in the background. For future optimization: use a thread pool
-        final eu.hbp.mip.messages.external.ExperimentQuery experimentQuery = experiment.computeQuery();
+        final eu.hbp.mip.messages.external.ExperimentQuery experimentQuery = experiment.prepareQuery();
 
         LOGGER.info("Akka is trying to reach remote " + wokenRefPath);
         ActorSelection wokenActor = actorSystem.actorSelection(wokenRefPath);
diff --git a/src/main/java/eu/hbp/mip/model/Experiment.java b/src/main/java/eu/hbp/mip/model/Experiment.java
index 949d359d8..c4baf011f 100644
--- a/src/main/java/eu/hbp/mip/model/Experiment.java
+++ b/src/main/java/eu/hbp/mip/model/Experiment.java
@@ -91,7 +91,7 @@ public class Experiment {
         */
     }
 
-    public ExperimentQuery computeQuery() {
+    public ExperimentQuery prepareQuery() {
         List<VariableId> variables = new LinkedList<>();
         List<VariableId> covariables = new LinkedList<>();
         List<VariableId> grouping = new LinkedList<>();
@@ -141,12 +141,12 @@ public class Experiment {
             validations.add(new Validation(v.getCode(), v.getName(), params));
         }
 
-        Seq<VariableId> variablesSeq = JavaConverters.asScalaIteratorConverter(variables.iterator()).asScala().toSeq();
-        Seq<VariableId> covariablesSeq = JavaConverters.asScalaIteratorConverter(covariables.iterator()).asScala().toSeq();
-        Seq<VariableId> groupingSeq = JavaConverters.asScalaIteratorConverter(grouping.iterator()).asScala().toSeq();
-        Seq<Filter> filtersSeq = JavaConverters.asScalaIteratorConverter(filters.iterator()).asScala().toSeq();
-        Seq<Algorithm> algorithmsSeq = JavaConverters.asScalaIteratorConverter(algorithms.iterator()).asScala().toSeq();
-        Seq<Validation> validationsSeq = JavaConverters.asScalaIteratorConverter(validations.iterator()).asScala().toSeq();
+        Seq<VariableId> variablesSeq = JavaConverters.asScalaIteratorConverter(variables.iterator()).asScala().toSeq().toList();
+        Seq<VariableId> covariablesSeq = JavaConverters.asScalaIteratorConverter(covariables.iterator()).asScala().toSeq().toList();
+        Seq<VariableId> groupingSeq = JavaConverters.asScalaIteratorConverter(grouping.iterator()).asScala().toSeq().toList();
+        Seq<Filter> filtersSeq = JavaConverters.asScalaIteratorConverter(filters.iterator()).asScala().toSeq().toList();
+        Seq<Algorithm> algorithmsSeq = JavaConverters.asScalaIteratorConverter(algorithms.iterator()).asScala().toSeq().toList();
+        Seq<Validation> validationsSeq = JavaConverters.asScalaIteratorConverter(validations.iterator()).asScala().toSeq().toList();
 
         return new ExperimentQuery(variablesSeq, covariablesSeq, groupingSeq, filtersSeq, algorithmsSeq, validationsSeq);
     }
-- 
GitLab