ExemptionService

Name Exemption
Version
Included Services  
Java Package org.kuali.student.r2.core.exemption.service

Version: DRAFT - NOT READY FOR RELEASE.

The Exemption service stores information to permit a person to be exempted
from the enforcement of a restriction, deadline, or statement.

The service begins with creating an ExemptionRequest for a person. On
approval of an ExemptionRequest, one or more Exemptions are created. There
are several types of Exemptions. Exemption types govern what data is stored
in the Exemption structure. Current types include:

Date Exemption: overrides a Milestone in ATP with a Date Milestone Exemption:
overrides a Milestone in ATP with another Milestone

The Exemption stores the fact that an exemption has been granted. The
interpretation and enforcment of the exemption is performed by the caller of
this service. The Exemption service provides the information to override a
specific check that occurs somewhere in the system based on one of the above
Exemption types.

Operations
Main Message Structures

Method getExemptionRequest
Description Retrieves the details of a single ExemptionRequest by a exemption Id.
Parameters String exemptionRequestId Unique Id of the ExemptionRequest to be
retrieved
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return ExemptionRequestInfo the details of the ExemptionRequest requested
Errors DoesNotExistException exemptionRequestId not found
InvalidParameterException invalid exemptionRequestId
MissingParameterException missing exemptionRequestId
OperationFailedException unable to complete request
PermissionDeniedException authorization failure

Back to Operations

Method getExemptionRequestsByIds
Description Retrieves a list ExemptionRequests corresponding to a list of exemption
request Ids.
Parameters StringList exemptionRequestIds list of unique Ids of the ExemptionRequests to
be retrieved
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return ExemptionRequestInfoList a list of ExemptionRequests
Errors DoesNotExistException an exemptionRequestId in list not found
InvalidParameterException invalid exemptionRequestId in list
MissingParameterException missing exemptionRequestIds
OperationFailedException unable to complete request
PermissionDeniedException authorization failure

Back to Operations

Method getExemptionRequestIdsByType
Description Retrieves a list Exemption Request Ids by Type.
Parameters String exemptionRequestTypeKey a unique key for an exemption requestType
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return StringList a list of Exemptions
Errors DoesNotExistException an exemptionId in list not found
InvalidParameterException invalid parameter
MissingParameterException missing parameter
OperationFailedException unable to complete request
PermissionDeniedException authorization failure

Back to Operations

Method validateExemptionRequest
Description Validates an ExemptionRequest. Depending on the value of validationType,
this validation could be limited to tests on just the current object and
its directly contained subobjects or expanded to perform all tests
related to this object. If an identifier is present for the exemption
request and a record is found for that identifier, the validation checks
if the exemption request can be shifted to the new values. If a record
cannot be found for the identifier, it is assumed that the record does
not exist and as such, the checks performed will be much shallower,
typically mimicking those performed by setting the validationType to the
current object. This is a slightly different pattern from the standard
validation as the caller provides the identifier in the create statement
instead of the server assigning an identifier.
Parameters String validationTypeKey Identifier of the extent of validation
ExemptionRequestInfo exemptionRequestInfo the exemption request information to be
tested.
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return ValidationResultInfoList the results from performing the validation
Errors DoesNotExistException validationTypeKey not found
InvalidParameterException invalid validationTypeKey,
exemptionRequestInfo
MissingParameterException missing validationTypeKey,
exemptionRequestInfo
OperationFailedException unable to complete request

Back to Operations

Method createExemptionRequest
Description Creates a new Exemption Request.
Parameters String personId id of the person for whom the exemption is requested
String exemptionRequestTypeKey type of request
ExemptionRequestInfo exemptionRequestInfo Details of the Exemption Request to be
created
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return ExemptionRequestInfo the details of the Exemption Requst just created
Errors AlreadyExistsException the Exemption Request being created
already exists
DataValidationErrorException One or more values invalid for this
operation
InvalidParameterException One or more parameters invalid
MissingParameterException One or more parameters missing
OperationFailedException unable to complete request
PermissionDeniedException authorization failure

Back to Operations

Method updateExemptionRequest
Description Updates an existing Exemption Request.
Parameters String exemptionRequestId Id of Exemption Request to be updated
ExemptionRequestInfo exemptionRequestInfo Details of updates to the Exemption Request
being updated
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return ExemptionRequestInfo the details of Exemption Request just updated
Errors DataValidationErrorException One or more values invalid for this
operation
DoesNotExistException the Exemption Request does not exist
InvalidParameterException One or more parameters invalid
MissingParameterException One or more parameters missing
OperationFailedException unable to complete request
PermissionDeniedException authorization failure
VersionMismatchException The action was attempted on an out of
date version.

Back to Operations

Method deleteExemptionRequest
Description Deletes an existing Exemption Request record.
Parameters String exemptionRequestId the Id of the Exemption Request to be deleted
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return StatusInfo status of the operation (success, failed)
Errors DoesNotExistException the Exemption Request does not exist
InvalidParameterException One or more parameters invalid
MissingParameterException One or more parameters missing
OperationFailedException unable to complete request
PermissionDeniedException authorization failure

Back to Operations

Method getRequestsByPerson
Description Gets a list of all exemption requests for a person.
Parameters String personId a unique Id of the Person
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return ExemptionRequestInfoList a list of Exemption requests
Errors InvalidParameterException invalid parameter
MissingParameterException missing parameter
OperationFailedException unable to complete request
PermissionDeniedException authorization failure

Back to Operations

Method getRequestsByRequester
Description Gets a list of all exemption requests by the requester.
Parameters String requesterId a unique Id of the Person
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return ExemptionRequestInfoList a list of Exemption requests
Errors InvalidParameterException invalid parameter
MissingParameterException missing parameter
OperationFailedException unable to complete request
PermissionDeniedException authorization failure

Back to Operations

Method getExemption
Description Retrieves the details of a single Exemption by a exemption Id.
Parameters String exemptionId Unique Id of the Exemption to be retrieved
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return ExemptionInfo the details of the Exemption requested
Errors DoesNotExistException exemptionId not found
InvalidParameterException invalid parameter
MissingParameterException missing parameter
OperationFailedException unable to complete request
PermissionDeniedException authorization failure

Back to Operations

Method getExemptionsByIds
Description Retrieves a list Exemptions corresponding to a list of exemption Ids.
Parameters StringList exemptionIds list of unique Ids of the Exemption to be retrieved
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return ExemptionInfoList a list of Exemptions
Errors DoesNotExistException an exemptionId in list not found
InvalidParameterException invalid parameter
MissingParameterException missing parameter
OperationFailedException unable to complete request
PermissionDeniedException authorization failure

Back to Operations

Method getExemptionIdsByType
Description Retrieves a list Exemption Ids by Type.
Parameters String exemptionTypeKey a unique key for an exemption Type
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return StringList a list of Exemptions
Errors DoesNotExistException an exemptionId in list not found
InvalidParameterException invalid parameter
MissingParameterException missing parameter
OperationFailedException unable to complete request
PermissionDeniedException authorization failure

Back to Operations

Method validateExemption
Description Validates an Exemption. Depending on the value of validationType, this
validation could be limited to tests on just the current object and its
directly contained subobjects or expanded to perform all tests related to
this object. If an identifier is present for the exemption and a record
is found for that identifier, the validation checks if the exemption can
be shifted to the new values. If a record cannot be found for the
identifier, it is assumed that the record does not exist and as such, the
checks performed will be much shallower, typically mimicking those
performed by setting the validationType to the current object. This is a
slightly different pattern from the standard validation as the caller
provides the identifier in the create statement instead of the server
assigning an identifier.
Parameters String validationTypeKey Identifier of the extent of validation
ExemptionInfo exemptionInfo the exemption information to be tested.
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return ValidationResultInfoList the results from performing the validation
Errors DoesNotExistException validationTypeKey not found
InvalidParameterException invalid validationTypeKey,
exemptionInfo
MissingParameterException missing validationTypeKey,
exemptionInfo
OperationFailedException unable to complete request

Back to Operations

Method createExemption
Description Creates a new Exemption. Exemptions can only be created off of an
exemption request.
Parameters String exemptionRequestId an Id for an exemption request
String exemptionTypeKey type key identifying the type of the exemption
ExemptionInfo exemptionInfo Details of the Exemption to be created
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return ExemptionInfo the details of the Exemption just created
Errors AlreadyExistsException the Exemption being created already exists
DataValidationErrorException One or more values invalid for this
operation
InvalidParameterException One or more parameters invalid
MissingParameterException One or more parameters missing
OperationFailedException unable to complete request
PermissionDeniedException authorization failure

Back to Operations

Method updateExemption
Description Updates an existing Exemption.
Parameters String exemptionId Id of Exemption to be updated
ExemptionInfo exemptionInfo Details of updates to the Exemption being updated
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return ExemptionInfo the details of Exemption just updated
Errors DataValidationErrorException One or more values invalid for this
operation
DoesNotExistException the Exemption does not exist
InvalidParameterException One or more parameters invalid
MissingParameterException One or more parameters missing
OperationFailedException unable to complete request
PermissionDeniedException authorization failure
VersionMismatchException The action was attempted on an out of
date version.

Back to Operations

Method addUseToExemption
Description Indicate that the given Exemption has been used successfully in a
transaction. This method increments the Exemption use count.
Parameters String exemptionId the Id for the Exemption
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return StatusInfo the status
Errors DoesNotExistException no valid exemption exists
InvalidParameterException invalid parameter
MissingParameterException missing parameter
OperationFailedException unable to complete request
PermissionDeniedException authorization failure

Back to Operations

Method deleteExemption
Description Deletes an existing Exemption record.
Parameters String exemptionId the Id of the Exemption to be deleted
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return StatusInfo status of the operation (success, failed)
Errors DoesNotExistException the Exemption does not exist
InvalidParameterException One or more parameters invalid
MissingParameterException One or more parameters missing
OperationFailedException unable to complete request
PermissionDeniedException authorization failure

Back to Operations

Method getExemptionsForPerson
Description Gets a list of all exemptions for a Person.
Parameters String personId a unique Id of the Person
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return ExemptionInfoList a list of Exemptions
Errors InvalidParameterException invalid parameter
MissingParameterException missing parameter
OperationFailedException unable to complete request
PermissionDeniedException authorization failure

Back to Operations

Method getExemptionsForRequest
Description Gets a list of all exemptions tied to the exemption request.
Parameters String requestId a unique Id of an exemption request
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return ExemptionInfoList a list of Exemptions
Errors InvalidParameterException invalid parameter
MissingParameterException missing parameter
OperationFailedException unable to complete request
PermissionDeniedException authorization failure

Back to Operations

Method getActiveExemptionsForPerson
Description Gets a list of all active effective exemptions for a Person.

An effective exemption is one with an active state, the as of date falls
within the effective date range, and the use count is less than the use limit.
Parameters String personId a unique Id of the Person
Date asOfDate the date for to check if the exemption is valid
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return ExemptionInfoList a list of Exemptions
Errors InvalidParameterException invalid parameter
MissingParameterException missing parameter
OperationFailedException unable to complete request
PermissionDeniedException authorization failure

Back to Operations

Method getExemptionsByTypeForPerson
Description Gets a list of all exemptions by Type for a Person.
Parameters String typeKey an exemption Type
String personId a unique Id of the Person
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return ExemptionInfoList a list of Exemptions
Errors InvalidParameterException invalid parameter
MissingParameterException missing parameter
OperationFailedException unable to complete request
PermissionDeniedException authorization failure

Back to Operations

Method getActiveExemptionsByTypeForPerson
Description Gets a list of all effective exemptions by Type for a Person. An
effective exemption is one with an active state, the current date falls
within the effective date range, and the use count is less than the use
limit.
Parameters String typeKey an exemption Type
String personId a unique Id of the Person
Date asOfDate the date for to check if the exemption is valid
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return ExemptionInfoList a list of Exemptions
Errors InvalidParameterException invalid parameter
MissingParameterException missing parameter
OperationFailedException unable to complete request
PermissionDeniedException authorization failure

Back to Operations

Method getActiveExemptionsByTypeProcessAndCheckForPerson
Description Gets a list of all effective exemptions by Type, Process and check for a
Person. An effective exemption is one with an active state, the current
date falls within the effective date range, and the use count is less
than the use limit.
Parameters String typeKey an exemption Type
String processKey the id of process
String checkId the key of a check
String personId a unique Id of the Person
Date asOfDate the date for to check if the exemption is valid
ContextInfo contextInfo Context information containing the principalId and locale
information about the caller of service operation
Return ExemptionInfoList a list of Exemptions
Errors InvalidParameterException invalid parameter
MissingParameterException missing parameter
OperationFailedException unable to complete request
PermissionDeniedException authorization failure

Back to Operations