Move urn validation to controller when saving ownership (#741)

This commit is contained in:
Yi (Alan) Wang 2017-09-12 20:51:25 -07:00 committed by GitHub
parent b53374d32a
commit 1e129b50d0
2 changed files with 6 additions and 5 deletions

View File

@ -107,14 +107,13 @@ public class DatasetsDao {
return urn; return urn;
} }
public void updateDatasetOwners(JdbcTemplate jdbcTemplate, String user, int datasetId, List<DatasetOwner> owners) public void updateDatasetOwners(JdbcTemplate jdbcTemplate, String user, int datasetId, String datasetUrn,
throws Exception { List<DatasetOwner> owners) throws Exception {
// first mark existing owners as deleted, new owners will be updated later // first mark existing owners as deleted, new owners will be updated later
jdbcTemplate.update(MARK_DATASET_OWNERS_AS_DELETED, datasetId); jdbcTemplate.update(MARK_DATASET_OWNERS_AS_DELETED, datasetId);
if (owners.size() > 0) { if (owners.size() > 0) {
String urn = getDatasetUrnById(jdbcTemplate, datasetId); updateDatasetOwnerDatabase(jdbcTemplate, datasetId, datasetUrn, owners);
updateDatasetOwnerDatabase(jdbcTemplate, datasetId, urn, owners);
} }
} }

View File

@ -230,6 +230,8 @@ public class Dataset extends Controller {
return ok(result); return ok(result);
} }
String urn = DATASETS_DAO.validateUrn(JDBC_TEMPLATE, id);
Map<String, String[]> params = request().body().asFormUrlEncoded(); Map<String, String[]> params = request().body().asFormUrlEncoded();
// params should contain mapping 'owners': ['ownerInfoJsonString'] // params should contain mapping 'owners': ['ownerInfoJsonString']
if (params == null || !params.containsKey("owners") || params.get("owners") == null if (params == null || !params.containsKey("owners") || params.get("owners") == null
@ -289,7 +291,7 @@ public class Dataset extends Controller {
} }
try { try {
DATASETS_DAO.updateDatasetOwners(JDBC_TEMPLATE, username, id, owners); DATASETS_DAO.updateDatasetOwners(JDBC_TEMPLATE, username, id, urn, owners);
result.put("status", "success"); result.put("status", "success");
} catch (Exception e) { } catch (Exception e) {
Logger.error("Owner updating error: ", e); Logger.error("Owner updating error: ", e);