This is an automated email from the ASF dual-hosted git repository. madhan pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ranger.git
commit 255aabce4a5758cf9cc8a931e5d4917f1ef84e60 Author: Subhrat Chaudhary <[email protected]> AuthorDate: Fri Jan 19 09:54:36 2024 -0800 RANGER-4664: GDS validation updated to handle empty resource Signed-off-by: Madhan Neethiraj <[email protected]> --- .../java/org/apache/ranger/plugin/errors/ValidationErrorCode.java | 1 + .../main/java/org/apache/ranger/validation/RangerGdsValidator.java | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/errors/ValidationErrorCode.java b/agents-common/src/main/java/org/apache/ranger/plugin/errors/ValidationErrorCode.java index dccd8f4f5..bf119773b 100644 --- a/agents-common/src/main/java/org/apache/ranger/plugin/errors/ValidationErrorCode.java +++ b/agents-common/src/main/java/org/apache/ranger/plugin/errors/ValidationErrorCode.java @@ -167,6 +167,7 @@ public enum ValidationErrorCode { GDS_DATASET_NAME_TOO_LONG(4129, "Invalid dataset name=[{0}]. Dataset name should not be longer than 512 characters"), GDS_DATASHARE_NAME_TOO_LONG(4130, "Invalid datashare name=[{0}]. Datashare name should not be longer than 512 characters"), GDS_PROJECT_NAME_TOO_LONG(4131, "Invalid project name=[{0}]. Project name should not be longer than 512 characters"), + GDS_VALIDATION_ERR_SHARED_RESOURCE_RESOURCE_NULL(4132, "Resource value in SharedResource [{0}] is null"), ; diff --git a/security-admin/src/main/java/org/apache/ranger/validation/RangerGdsValidator.java b/security-admin/src/main/java/org/apache/ranger/validation/RangerGdsValidator.java index 6efe9f420..a42a11ffb 100755 --- a/security-admin/src/main/java/org/apache/ranger/validation/RangerGdsValidator.java +++ b/security-admin/src/main/java/org/apache/ranger/validation/RangerGdsValidator.java @@ -303,6 +303,8 @@ public class RangerGdsValidator { if (existing != null) { result.addValidationFailure(new ValidationFailureDetails(ValidationErrorCode.GDS_VALIDATION_ERR_SHARED_RESOURCE_NAME_CONFLICT, "name", resource.getName(), dataShare.getName(), existing)); + } else if (MapUtils.isEmpty(resource.getResource())) { + result.addValidationFailure(new ValidationFailureDetails(ValidationErrorCode.GDS_VALIDATION_ERR_SHARED_RESOURCE_RESOURCE_NULL, "resource", resource.getName())); } else { validateSharedResourceCreateAndUpdate(dataShare, result); @@ -335,6 +337,8 @@ public class RangerGdsValidator { if (dataShare == null) { result.addValidationFailure(new ValidationFailureDetails(ValidationErrorCode.GDS_VALIDATION_ERR_DATA_SHARE_ID_NOT_FOUND, "dataShareId", resource.getDataShareId())); + } else if (MapUtils.isEmpty(resource.getResource())) { + result.addValidationFailure(new ValidationFailureDetails(ValidationErrorCode.GDS_VALIDATION_ERR_SHARED_RESOURCE_RESOURCE_NULL, "resource", resource.getName())); } else { validateSharedResourceCreateAndUpdate(dataShare, result);
