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);
 

Reply via email to