diff --git a/src/main/java/eu/hbp/mip/controllers/ModelsApi.java b/src/main/java/eu/hbp/mip/controllers/ModelsApi.java index 3d32fbce28123c96b14677da2bd427b3e8892c54..ac4d8769d0522b34058584ad42a2ffc9725dc8be 100644 --- a/src/main/java/eu/hbp/mip/controllers/ModelsApi.java +++ b/src/main/java/eu/hbp/mip/controllers/ModelsApi.java @@ -10,10 +10,7 @@ import eu.hbp.mip.model.Filter; import eu.hbp.mip.model.Model; import eu.hbp.mip.model.User; import eu.hbp.mip.model.Variable; -import eu.hbp.mip.repositories.ConfigRepository; -import eu.hbp.mip.repositories.DatasetRepository; -import eu.hbp.mip.repositories.ModelRepository; -import eu.hbp.mip.repositories.QueryRepository; +import eu.hbp.mip.repositories.*; import io.swagger.annotations.*; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; @@ -49,6 +46,9 @@ public class ModelsApi { @Autowired ConfigRepository configRepository; + @Autowired + VariableRepository variableRepository; + @ApiOperation(value = "Get models", response = Model.class, responseContainer = "List") @ApiResponses(value = { @ApiResponse(code = 200, message = "Success") }) @RequestMapping(method = RequestMethod.GET) @@ -152,6 +152,19 @@ public class ModelsApi { map.put("text", model.getTitle()); model.getConfig().setTitle(map); + for (Variable var : model.getQuery().getVariables()) + { + variableRepository.save(var); + } + for (Variable var : model.getQuery().getCovariables()) + { + variableRepository.save(var); + } + for (Variable var : model.getQuery().getGrouping()) + { + variableRepository.save(var); + } + configRepository.save(model.getConfig()); queryRepository.save(model.getQuery()); datasetRepository.save(model.getDataset()); diff --git a/src/main/java/eu/hbp/mip/model/Query.java b/src/main/java/eu/hbp/mip/model/Query.java index 0b7602220d730eacd67c586d5ab134c6935177cc..61b979ff4400e709d8079ff034317dc1d869ce10 100644 --- a/src/main/java/eu/hbp/mip/model/Query.java +++ b/src/main/java/eu/hbp/mip/model/Query.java @@ -26,21 +26,21 @@ public class Query { private String request = null; - @ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.PERSIST) + @ManyToMany(fetch = FetchType.EAGER) @JoinTable(name = "query_variable", joinColumns = { @JoinColumn(name = "id", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "code", nullable = false, updatable = false) }) private List<Variable> variables = new LinkedList<>(); - @ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.PERSIST) + @ManyToMany(fetch = FetchType.EAGER) @JoinTable(name = "query_covariable", joinColumns = { @JoinColumn(name = "id", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "code", nullable = false, updatable = false) }) private List<Variable> covariables = new LinkedList<>(); - @ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.PERSIST) + @ManyToMany(fetch = FetchType.EAGER) @JoinTable(name = "query_grouping", joinColumns = { @JoinColumn(name = "id", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "code", diff --git a/src/main/java/eu/hbp/mip/repositories/VariableRepository.java b/src/main/java/eu/hbp/mip/repositories/VariableRepository.java new file mode 100644 index 0000000000000000000000000000000000000000..3ded949436f345143bb9e60a51bc0ee2ab20019b --- /dev/null +++ b/src/main/java/eu/hbp/mip/repositories/VariableRepository.java @@ -0,0 +1,10 @@ +package eu.hbp.mip.repositories; + +import eu.hbp.mip.model.Variable; +import org.springframework.data.repository.CrudRepository; + +/** + * Created by mirco on 13.09.16. + */ +public interface VariableRepository extends CrudRepository<Variable, String> { +}