From bdcf6fb64db1dd095903665a1d1e8d010c9ddb5d Mon Sep 17 00:00:00 2001
From: Mirco Nasuti <mirco.nasuti@chuv.ch>
Date: Mon, 9 Jan 2017 11:32:35 +0100
Subject: [PATCH] fix caching for histograms

---
 src/main/java/eu/hbp/mip/controllers/MiningApi.java | 3 ++-
 src/main/java/eu/hbp/mip/model/MiningQuery.java     | 6 ++++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/main/java/eu/hbp/mip/controllers/MiningApi.java b/src/main/java/eu/hbp/mip/controllers/MiningApi.java
index 4ebc9d796..cab5f9b61 100644
--- a/src/main/java/eu/hbp/mip/controllers/MiningApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/MiningApi.java
@@ -42,7 +42,7 @@ public class MiningApi {
 
 
     @ApiOperation(value = "Run an algorithm", response = String.class)
-    @Cacheable("mining")
+    @Cacheable(value = "mining", condition = "#query.getAlgorithm().getCode() == 'histograms'", key = "#query.toString()")
     @RequestMapping(method = RequestMethod.POST)
     public ResponseEntity runAlgorithm(@RequestBody eu.hbp.mip.model.MiningQuery query) throws IOException {
         LOGGER.info("Run an algorithm");
@@ -63,4 +63,5 @@ public class MiningApi {
 
         return ResponseEntity.ok(result.data().get());
     }
+
 }
diff --git a/src/main/java/eu/hbp/mip/model/MiningQuery.java b/src/main/java/eu/hbp/mip/model/MiningQuery.java
index 7cd9f7831..378b65330 100644
--- a/src/main/java/eu/hbp/mip/model/MiningQuery.java
+++ b/src/main/java/eu/hbp/mip/model/MiningQuery.java
@@ -1,5 +1,6 @@
 package eu.hbp.mip.model;
 
+import com.google.gson.Gson;
 import eu.hbp.mip.messages.external.Filter;
 import eu.hbp.mip.messages.external.VariableId;
 import eu.hbp.mip.utils.TypesConvert;
@@ -76,4 +77,9 @@ public class MiningQuery {
 
         return new eu.hbp.mip.messages.external.MiningQuery(variablesSeq, covariablesSeq,groupingSeq,filtersSeq, scalaAlgorithm);
     }
+
+    @Override
+    public String toString() {
+        return new Gson().toJson(this);
+    }
 }
-- 
GitLab