From a26df3e998399a499fc842a46792b7b05ab8f93d Mon Sep 17 00:00:00 2001
From: Mirco Nasuti <mirco.nasuti@chuv.ch>
Date: Tue, 21 Jun 2016 10:02:41 +0200
Subject: [PATCH] new json format for simple mining

---
 src/main/java/org/hbp/mip/controllers/MiningApi.java   | 8 +++++---
 src/main/java/org/hbp/mip/model/SimpleMiningQuery.java | 7 ++++---
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/hbp/mip/controllers/MiningApi.java b/src/main/java/org/hbp/mip/controllers/MiningApi.java
index aaa553dbf..15addb9e1 100644
--- a/src/main/java/org/hbp/mip/controllers/MiningApi.java
+++ b/src/main/java/org/hbp/mip/controllers/MiningApi.java
@@ -108,7 +108,9 @@ public class MiningApi {
             if (algo.getCode().equals(algoCode))
             {
                 if(algo.getSource().equals(ML_SOURCE)) {
-                    return postMipMining(algoCode, model);
+                    Algorithm algorithm = new Gson().fromJson(new JsonParser().parse(query).getAsJsonObject()
+                            .get("algorithm").getAsJsonObject(), Algorithm.class);
+                    return postMipMining(algorithm, model);
                 }
                 else if(algo.getSource().equals(EXAREME_SOURCE))
                 {
@@ -120,10 +122,10 @@ public class MiningApi {
         return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
     }
 
-    private ResponseEntity<String> postMipMining(String algoCode, Model model) throws Exception {
+    private ResponseEntity<String> postMipMining(Algorithm algorithm, Model model) throws Exception {
 
         SimpleMiningQuery smq = new SimpleMiningQuery();
-        smq.setAlgorithm(algoCode);
+        smq.setAlgorithm(algorithm);
 
         LinkedList<Map<String,String>> vars = new LinkedList<>();
         for(Variable var : model.getQuery().getVariables())
diff --git a/src/main/java/org/hbp/mip/model/SimpleMiningQuery.java b/src/main/java/org/hbp/mip/model/SimpleMiningQuery.java
index cbc400cd4..7f4dc9c34 100644
--- a/src/main/java/org/hbp/mip/model/SimpleMiningQuery.java
+++ b/src/main/java/org/hbp/mip/model/SimpleMiningQuery.java
@@ -2,6 +2,7 @@ package org.hbp.mip.model;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import io.swagger.annotations.ApiModel;
+import org.hbp.mip.model.algorithm.Algorithm;
 
 import java.util.List;
 import java.util.Map;
@@ -14,7 +15,7 @@ import java.util.Map;
 @JsonInclude(JsonInclude.Include.NON_NULL)
 public class SimpleMiningQuery {
 
-    private String algorithm;
+    private Algorithm algorithm;
 
     private List<Map<String,String>> variables;
 
@@ -25,11 +26,11 @@ public class SimpleMiningQuery {
     private List<Map<String,String>> filters;
 
 
-    public String getAlgorithm() {
+    public Algorithm getAlgorithm() {
         return algorithm;
     }
 
-    public void setAlgorithm(String algorithm) {
+    public void setAlgorithm(Algorithm algorithm) {
         this.algorithm = algorithm;
     }
 
-- 
GitLab