Skip to content
Snippets Groups Projects
Commit e1bf8a11 authored by Ludovic Claude's avatar Ludovic Claude
Browse files

Update woken-message to 2.4.9, Fix read models with filters

parent 0ee79f81
No related branches found
No related tags found
No related merge requests found
......@@ -47,7 +47,7 @@
<spring-data-jpa.version>1.10.11.RELEASE</spring-data-jpa.version>
<spring-boot-starter-actuator.version>1.4.7.RELEASE</spring-boot-starter-actuator.version>
<aspectjweaver.version>1.8.9</aspectjweaver.version>
<woken-messages.version>2.4.8</woken-messages.version>
<woken-messages.version>2.4.9</woken-messages.version>
<javax-inject.version>1</javax-inject.version>
<akka.version>2.5.9</akka.version>
<spring-context.version>4.3.4.RELEASE</spring-context.version>
......
......@@ -4,6 +4,8 @@
package eu.hbp.mip.controllers;
import ch.chuv.lren.mip.portal.WokenConversions;
import ch.chuv.lren.woken.messages.query.filters.FilterRule;
import com.github.slugify.Slugify;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
......@@ -21,6 +23,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import scala.Option;
import java.io.IOException;
import java.util.*;
......@@ -282,12 +285,15 @@ public class ModelsApi {
allVars.addAll(model.getDataset().getHeader());
allVars.addAll(model.getDataset().getGrouping());
String filters = model.getQuery().getFilters();
WokenConversions conv = new WokenConversions();
String filtersJson = model.getQuery().getFilters();
Option<FilterRule> filters = conv.toFilterRule(filtersJson);
String filtersSQL = conv.toSqlWhere(filters);
Gson gson = new Gson();
JsonObject jsonModel = gson.fromJson(gson.toJson(model, Model.class), JsonObject.class);
jsonModel.get("dataset").getAsJsonObject()
.add("data", dataUtil.getDataFromVariables(allVars, filters));
.add("data", dataUtil.getDataFromVariables(allVars, filtersSQL));
return gson.fromJson(jsonModel, Model.class);
}
......
......@@ -3,6 +3,7 @@ package ch.chuv.lren.mip.portal
import eu.hbp.mip.model.Variable
import ch.chuv.lren.woken.messages.datasets.DatasetId
import ch.chuv.lren.woken.messages.query.filters.FilterRule
import ch.chuv.lren.woken.messages.query.filters.FilterRule._
import ch.chuv.lren.woken.messages.query.filters.queryFiltersProtocol._
import org.springframework.stereotype.Component
import spray.json._
......@@ -20,4 +21,6 @@ class WokenConversions {
def toDatasets(datasets: java.util.List[Variable]): Set[DatasetId] =
datasets.asScala.map(v => DatasetId(v.getCode)).toSet
def toSqlWhere(filter: Option[FilterRule]): String = filter.fold("")(_.toSqlWhere)
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment