Skip to content

Commit

Permalink
[APPS-2907][APPS-2909] Defect fixes in Retention Schedule V1 API's
Browse files Browse the repository at this point in the history
  • Loading branch information
Sathish Kumar authored and Sathish Kumar committed Jul 2, 2024
1 parent 843c312 commit af5e2d4
Showing 1 changed file with 14 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -197,22 +197,15 @@ private void retentionScheduleRequestValidation(RetentionScheduleActionDefinitio
{
throw new InvalidArgumentException("name value is invalid : " +retentionScheduleActionDefinition.getName());
}
// period value validation
if (invalidPeriodCheck(retentionScheduleActionDefinition.getPeriod()))
{
throw new InvalidArgumentException("period value is invalid : " +retentionScheduleActionDefinition.getPeriod());
}

validatePeriodAndPeriodProperty(retentionScheduleActionDefinition);

// event name validation
if (invalidEventNameCheck(retentionScheduleActionDefinition.getEvents()))
{
throw new InvalidArgumentException("event value is invalid: " + retentionScheduleActionDefinition.getEvents());
}

if (validatePeriodProperty(retentionScheduleActionDefinition.getPeriodProperty()))
{
throw new InvalidArgumentException("periodProperty value is invalid: " + retentionScheduleActionDefinition.getPeriodProperty());
}

if (validateCombineRetentionStepConditionsForNonAccessionStep(retentionScheduleActionDefinition))
{
throw new IllegalArgumentException("combineRetentionStepConditions property is only valid for accession step. Not valid for :" + retentionScheduleActionDefinition.getName());
Expand All @@ -224,11 +217,20 @@ private void retentionScheduleRequestValidation(RetentionScheduleActionDefinitio
}
}

private boolean validatePeriodProperty(String periodProperty)
private void validatePeriodAndPeriodProperty(RetentionScheduleActionDefinition retentionScheduleActionDefinition)
{
// period value validation
if (invalidPeriodCheck(retentionScheduleActionDefinition.getPeriod()))
{
throw new InvalidArgumentException("period value is invalid : " +retentionScheduleActionDefinition.getPeriod());
}

// periodProperty validation
List<String> validPeriodProperties = Arrays.asList("cm:created", "rma:cutOffDate", "rma:dispositionAsOf");
return validPeriodProperties.stream().noneMatch(periodProperty::equals);
if (validPeriodProperties.stream().noneMatch(retentionScheduleActionDefinition.getPeriodProperty()::equals))
{
throw new InvalidArgumentException("periodProperty value is invalid: " + retentionScheduleActionDefinition.getPeriodProperty());
}
}

private boolean validateCombineRetentionStepConditionsForNonAccessionStep(RetentionScheduleActionDefinition retentionScheduleActionDefinition)
Expand Down

0 comments on commit af5e2d4

Please sign in to comment.