Class AccessConditionResourcePolicyUtils

java.lang.Object
org.dspace.app.rest.submit.factory.impl.AccessConditionResourcePolicyUtils

public class AccessConditionResourcePolicyUtils extends Object
Utility class to reuse methods related to item resource-policies These methods are applicable in the submission when adding new AccessCondition.
Author:
Mykhaylo Boychuk (mykhaylo.boychuk@4science.com)
  • Method Details

    • findApplyResourcePolicy

      public static void findApplyResourcePolicy(Context context, List<AccessConditionOption> accessConditionOptions, DSpaceObject obj, List<AccessConditionDTO> newAccessConditions) throws SQLException, AuthorizeException, ParseException
      Based on the given access conditions, find the resource policy to apply on the given DSpace object This function applies the resource policies.
      Parameters:
      context - DSpace context object
      accessConditionOptions - The configured AccessCondition options
      obj - The applicable DSpace object whose policies should be determined
      newAccessConditions - The access condition containing the details for the desired policies
      Throws:
      SQLException - If a database error occurs
      AuthorizeException - If the user is not authorized
      ParseException - if parser error
    • findApplyResourcePolicy

      public static void findApplyResourcePolicy(Context context, List<AccessConditionOption> accessConditionOptions, DSpaceObject obj, String name, String description, LocalDate startDate, LocalDate endDate) throws SQLException, AuthorizeException, ParseException
      Based on the given name, startDate and endDate check if it match any access condition option, then apply the the resource policy on the given DSpace object, otherwise it throws UnprocessableEntity exception.
      Parameters:
      context - DSpace context object
      accessConditionOptions - The configured AccessCondition options
      obj - The applicable DSpace object whose policies should be determined
      name - The name of the access condition matching the desired policies
      description - An optional description for the policies
      startDate - An optional start date for the policies
      endDate - An optional end date for the policies
      Throws:
      SQLException - If a database error occurs
      AuthorizeException - If the user is not authorized
      ParseException - if parser error
    • canApplyResourcePolicy

      public static void canApplyResourcePolicy(Context context, List<AccessConditionOption> accessConditionOptions, String name, LocalDate startDate, LocalDate endDate)
      Check if the given name, startDate and endDate match any access condition options configured, otherwise it throws UnprocessableEntity exception.
      Parameters:
      context - DSpace context object
      accessConditionOptions - The configured AccessCondition options
      name - The name of the access condition matching the desired policies
      startDate - An optional start date for the policies
      endDate - An optional end date for the policies
      Throws:
      SQLException - If a database error occurs
      AuthorizeException - If the user is not authorized
      ParseException - if parser error