diff --git a/src/main/java/org/hbp/mip/controllers/MiningApi.java b/src/main/java/org/hbp/mip/controllers/MiningApi.java index aaa553dbf7ac31211e32c4967aa11862ed2c0ad0..15addb9e1983b16e0a75e75f9b02fb7668b67384 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 cbc400cd4819774875c845055bc8bf24fde4e98f..7f4dc9c34c5139c92cbd8f7027f7a0625eb9eeb8 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; }