diff --git a/src/main/java/eu/hbp/mip/model/Experiment.java b/src/main/java/eu/hbp/mip/model/Experiment.java
index cc4f997ca68cf959740f47829d49af58aacea36e..be92bb2fc4291168b27693f9a08a8df10b1ea137 100644
--- a/src/main/java/eu/hbp/mip/model/Experiment.java
+++ b/src/main/java/eu/hbp/mip/model/Experiment.java
@@ -2,19 +2,19 @@ package eu.hbp.mip.model;
import com.google.gson.*;
import com.google.gson.annotations.Expose;
-import eu.hbp.mip.messages.external.*;
+import com.google.gson.reflect.TypeToken;
import eu.hbp.mip.messages.external.Algorithm;
import eu.hbp.mip.messages.external.ExperimentQuery;
+import eu.hbp.mip.messages.external.*;
import org.apache.log4j.Logger;
import org.hibernate.annotations.Cascade;
import scala.collection.JavaConverters;
import scala.collection.Seq;
+import scala.collection.immutable.HashMap;
import javax.persistence.*;
-import java.util.Date;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.UUID;
+import java.lang.reflect.Type;
+import java.util.*;
/**
@@ -114,7 +114,29 @@ public class Experiment {
grouping.add(new VariableId(v.getCode()));
}
- // TODO: convert algorithms and so on
+ Type algoList = new TypeToken<LinkedList<eu.hbp.mip.model.Algorithm>>(){}.getType();
+ List<eu.hbp.mip.model.Algorithm> algos = new Gson().fromJson(this.algorithms, algoList);
+ for (eu.hbp.mip.model.Algorithm a: algos
+ ) {
+ scala.collection.immutable.HashMap<String, String> params = new HashMap<>();
+ for (AlgorithmParam ap: a.getParameters()
+ ) {
+ params.updated(ap.getCode(), ap.getValue());
+ }
+ algorithms.add(new Algorithm(a.getCode(), a.getName(), params));
+ }
+
+ Type validList = new TypeToken<LinkedList<eu.hbp.mip.model.ExperimentValidator>>(){}.getType();
+ List<eu.hbp.mip.model.ExperimentValidator> valids = new Gson().fromJson(this.validations, validList);
+ for (ExperimentValidator v: valids
+ ) {
+ scala.collection.immutable.HashMap<String, String> params = new HashMap<>();
+ for (AlgorithmParam ap: v.getParameters()
+ ) {
+ params.updated(ap.getCode(), ap.getValue());
+ }
+ 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();