Repository: ranger
Updated Branches:
  refs/heads/master 9c7ef90e6 -> 3edac55fc


RANGER-2090: Empty start and end time Strings should be interpreted same as 
NULL in Ranger


Project: http://git-wip-us.apache.org/repos/asf/ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/3edac55f
Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/3edac55f
Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/3edac55f

Branch: refs/heads/master
Commit: 3edac55fc718baf54edd0148200f461addc60e6e
Parents: 9c7ef90
Author: Abhay Kulkarni <akulka...@hortonworks.com>
Authored: Mon Apr 30 17:12:55 2018 -0700
Committer: Abhay Kulkarni <akulka...@hortonworks.com>
Committed: Mon Apr 30 17:12:55 2018 -0700

----------------------------------------------------------------------
 .../RangerValidityScheduleValidator.java        |  4 +--
 .../RangerValidityScheduleEvaluator.java        |  4 +--
 ...validity-schedules-valid-and-applicable.json | 30 ++++++++++++++++++++
 3 files changed, 34 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ranger/blob/3edac55f/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerValidityScheduleValidator.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerValidityScheduleValidator.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerValidityScheduleValidator.java
index 30c4d41..17ff37f 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerValidityScheduleValidator.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerValidityScheduleValidator.java
@@ -81,7 +81,7 @@ public class RangerValidityScheduleValidator {
             validationFailures.add(new ValidationFailureDetails(0, 
"startTime,endTime,recurrences", "", true, true, false, "empty values"));
         } else {
 
-            if (validitySchedule.getStartTime() != null) {
+            if (StringUtils.isNotEmpty(validitySchedule.getStartTime())) {
                 try {
                     startTime = 
DATE_FORMATTER.get().parse(validitySchedule.getStartTime());
                 } catch (ParseException exception) {
@@ -92,7 +92,7 @@ public class RangerValidityScheduleValidator {
                 startTime = new Date();
             }
 
-            if (validitySchedule.getEndTime() != null) {
+            if (StringUtils.isNotEmpty(validitySchedule.getEndTime())) {
                 try {
                     endTime = 
DATE_FORMATTER.get().parse(validitySchedule.getEndTime());
                 } catch (ParseException exception) {

http://git-wip-us.apache.org/repos/asf/ranger/blob/3edac55f/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerValidityScheduleEvaluator.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerValidityScheduleEvaluator.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerValidityScheduleEvaluator.java
index f097f22..b48ff3b 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerValidityScheduleEvaluator.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerValidityScheduleEvaluator.java
@@ -70,7 +70,7 @@ public class RangerValidityScheduleEvaluator {
         Date startTime = null;
         Date endTime   = null;
 
-        if (startTimeStr != null) {
+        if (StringUtils.isNotEmpty(startTimeStr)) {
             try {
                 startTime = DATE_FORMATTER.get().parse(startTimeStr);
             } catch (ParseException exception) {
@@ -78,7 +78,7 @@ public class RangerValidityScheduleEvaluator {
             }
         }
 
-        if (endTimeStr != null) {
+        if (StringUtils.isNotEmpty(endTimeStr)) {
             try {
                 endTime = DATE_FORMATTER.get().parse(endTimeStr);
             } catch (ParseException exception) {

http://git-wip-us.apache.org/repos/asf/ranger/blob/3edac55f/agents-common/src/test/resources/policyengine/validityscheduler/test-validity-schedules-valid-and-applicable.json
----------------------------------------------------------------------
diff --git 
a/agents-common/src/test/resources/policyengine/validityscheduler/test-validity-schedules-valid-and-applicable.json
 
b/agents-common/src/test/resources/policyengine/validityscheduler/test-validity-schedules-valid-and-applicable.json
index 7df6fcf..6081b85 100644
--- 
a/agents-common/src/test/resources/policyengine/validityscheduler/test-validity-schedules-valid-and-applicable.json
+++ 
b/agents-common/src/test/resources/policyengine/validityscheduler/test-validity-schedules-valid-and-applicable.json
@@ -30,6 +30,36 @@
     }
   },
   {
+    "name": "Empty end-time",
+    "validitySchedules": [
+      {
+        "startTime": "2018/01/12 14:30:00",
+        "endTime": ""
+      }
+    ],
+    "accessTime": "20180112-14:32:27.000-0800",
+    "result": {
+      "isValid": true,
+      "isApplicable": true,
+      "validationFailureCount": 0
+    }
+  },
+  {
+    "name": "Empty start-time",
+    "validitySchedules": [
+      {
+        "startTime": "",
+        "endTime": "2020/01/12 14:30:00"
+      }
+    ],
+    "accessTime": "20180112-14:32:27.000-0800",
+    "result": {
+      "isValid": true,
+      "isApplicable": true,
+      "validationFailureCount": 0
+    }
+  },
+  {
     "name": "Applicable for 9 minutes in a 10 minute interval",
     "validitySchedules": [
       {

Reply via email to