diff --git a/wherehows-dao/src/main/java/wherehows/dao/table/DatasetsDao.java b/wherehows-dao/src/main/java/wherehows/dao/table/DatasetsDao.java index b6af6216ab..0230e065a2 100644 --- a/wherehows-dao/src/main/java/wherehows/dao/table/DatasetsDao.java +++ b/wherehows-dao/src/main/java/wherehows/dao/table/DatasetsDao.java @@ -107,14 +107,13 @@ public class DatasetsDao { return urn; } - public void updateDatasetOwners(JdbcTemplate jdbcTemplate, String user, int datasetId, List owners) - throws Exception { + public void updateDatasetOwners(JdbcTemplate jdbcTemplate, String user, int datasetId, String datasetUrn, + List owners) throws Exception { // first mark existing owners as deleted, new owners will be updated later jdbcTemplate.update(MARK_DATASET_OWNERS_AS_DELETED, datasetId); if (owners.size() > 0) { - String urn = getDatasetUrnById(jdbcTemplate, datasetId); - updateDatasetOwnerDatabase(jdbcTemplate, datasetId, urn, owners); + updateDatasetOwnerDatabase(jdbcTemplate, datasetId, datasetUrn, owners); } } diff --git a/wherehows-frontend/app/controllers/api/v1/Dataset.java b/wherehows-frontend/app/controllers/api/v1/Dataset.java index b270c5f5db..d6d815f1b0 100644 --- a/wherehows-frontend/app/controllers/api/v1/Dataset.java +++ b/wherehows-frontend/app/controllers/api/v1/Dataset.java @@ -230,6 +230,8 @@ public class Dataset extends Controller { return ok(result); } + String urn = DATASETS_DAO.validateUrn(JDBC_TEMPLATE, id); + Map params = request().body().asFormUrlEncoded(); // params should contain mapping 'owners': ['ownerInfoJsonString'] if (params == null || !params.containsKey("owners") || params.get("owners") == null @@ -289,7 +291,7 @@ public class Dataset extends Controller { } try { - DATASETS_DAO.updateDatasetOwners(JDBC_TEMPLATE, username, id, owners); + DATASETS_DAO.updateDatasetOwners(JDBC_TEMPLATE, username, id, urn, owners); result.put("status", "success"); } catch (Exception e) { Logger.error("Owner updating error: ", e);