From 1e129b50d0049b0a39d452003cbbf0aa33bf6e36 Mon Sep 17 00:00:00 2001 From: "Yi (Alan) Wang" Date: Tue, 12 Sep 2017 20:51:25 -0700 Subject: [PATCH] Move urn validation to controller when saving ownership (#741) --- .../src/main/java/wherehows/dao/table/DatasetsDao.java | 7 +++---- wherehows-frontend/app/controllers/api/v1/Dataset.java | 4 +++- 2 files changed, 6 insertions(+), 5 deletions(-) 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);