From 2110d24e973fb83cec3e72d2140c01b604962517 Mon Sep 17 00:00:00 2001 From: Mirco Nasuti <mirco.nasuti@chuv.ch> Date: Thu, 2 Nov 2017 11:46:48 +0100 Subject: [PATCH] Bugfix: variables/groups API when data cannot be found in DB --- src/main/java/eu/hbp/mip/controllers/GroupsApi.java | 11 ++++++----- .../java/eu/hbp/mip/controllers/VariablesApi.java | 10 +++++----- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/main/java/eu/hbp/mip/controllers/GroupsApi.java b/src/main/java/eu/hbp/mip/controllers/GroupsApi.java index 8bdba0cc9..29aff6afb 100644 --- a/src/main/java/eu/hbp/mip/controllers/GroupsApi.java +++ b/src/main/java/eu/hbp/mip/controllers/GroupsApi.java @@ -56,12 +56,13 @@ public class GroupsApi { String sqlQuery = String.format( "SELECT * FROM meta_variables where target_table='%s'", featuresMainTable.toUpperCase()); SqlRowSet data = metaJdbcTemplate.queryForRowSet(sqlQuery); - data.next(); - String json = ((PGobject) data.getObject("hierarchy")).getValue(); - - JsonObject root = gson.fromJson(json, JsonObject.class); - removeVariablesRecursive(root); + JsonObject root = new JsonObject(); + if (data.next()) { + String json = ((PGobject) data.getObject("hierarchy")).getValue(); + root = gson.fromJson(json, JsonObject.class); + removeVariablesRecursive(root); + } return gson.toJson(root); } diff --git a/src/main/java/eu/hbp/mip/controllers/VariablesApi.java b/src/main/java/eu/hbp/mip/controllers/VariablesApi.java index 8664d5986..9138ec1b9 100644 --- a/src/main/java/eu/hbp/mip/controllers/VariablesApi.java +++ b/src/main/java/eu/hbp/mip/controllers/VariablesApi.java @@ -140,13 +140,13 @@ public class VariablesApi { String sqlQuery = String.format( "SELECT * FROM meta_variables where upper(target_table)='%s'", featuresMainTable.toUpperCase()); SqlRowSet data = metaJdbcTemplate.queryForRowSet(sqlQuery); - data.next(); - String json = ((PGobject) data.getObject("hierarchy")).getValue(); - - JsonObject root = gson.fromJson(json, JsonObject.class); List<String> variables = new LinkedList<>(); - extractVariablesRecursive(root, variables); + if (data.next()) { + String json = ((PGobject) data.getObject("hierarchy")).getValue(); + JsonObject root = gson.fromJson(json, JsonObject.class); + extractVariablesRecursive(root, variables); + } return variables; } -- GitLab