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": [ {