The ITranslateReadResultIdsForLineItemWithLineItemTypeRequest interface is used to translate the LIS Request object into D2L recognized values.
The interface implementation is D2L.IM.IPSIS.LIS.OMS.IReadResultIdsForLineItemWithLineItemTypeRequestTranslator.
The IPSIS, Template configuration lists for the ITranslateReadResultIdsForLineItemWithLineItemTypeRequest interface are shipped with the product. They are listed along with the extension point they are intended for.
The following translators are the default translators for the ITranslateReadResultIdsForLineItemWithLineItemTypeRequest interface. They are listed in the order configured by default:
- ReadResultIdsForLineItemWithLineItemTypeRequestGetSectionRequiredTranslator (Sort Order = 10)
- ReadResultIdsForLineItemWithLineItemTypeRequestValidateOrgUnitIsSectionTranslator (Sort Order = 20)
ReadResultIdsForLineItemWithLineItemTypeRequestGetSectionRequiredTranslator
The ReadResultIdsForLineItemWithLineItemTypeRequestGetSectionRequiredTranslator requires and maps the SIS section identifier for the OrgUnit.
Implementation
D2L.IM.IPSIS.LIS.RequestAdapters.OMS.Default.ReadResultIdsForLineItemWithLineItemTypeRequestGetSectionRequiredTranslator
Expected behavior
The translator performs the following tasks:
- Selects the SISId for the OrgUnit from the contextSourcedId element.
- Processing continues to the next translator.
Property
|
Translation Result Object
|
Value
|
SIS OrgUnitId
|
result.Entity.SISId
|
contextSourcedId
|
Error behavior
If there is a problem during processing, an IncompleteRequestException is thrown. This results in:
- The suspension of all further processing.
- A LIS Response Header containing:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Configuration notes
- This translator must be configured first in the list of Request translators for ReadResultIdsForLineItemWithLineItemType.
- This translator intentionally deviates from the LIS specification as written. It uses an input field intended for a LineItemId for a Section/Offering OrgUnitId instead. This is because the Oracle implementation makes this assumption.
ReadResultIdsForLineItemWithLineItemTypeRequestValidateOrgUnitIsSectionTranslator
The ReadResultIdsForLineItemWithLineItemTypeRequestValidateOrgUnitIsSectionTranslator identifies that the org unit for the request must be a CourseSection.
Implementation
D2L.IM.IPSIS.LIS.RequestAdapters.OMS.Default.ReadResultIdsForLineItemWithLineItemTypeRequestValidateOrgUnitIsSectionTranslator
Expected behavior
The translator performs the following tasks:
- Sets a property on the result object indicating which org unit types are valid for this request.
- Processing continues to the next translator.
Property
|
Translation Result Object
|
Value
|
ValidOrgUnitTypes
|
{OrgUnitTypeEnum.Section}
|
|
Configuration notes
- This translator must be configured after the ReadResultIdsForLineItemWithLineItemTypeRequestGetSectionRequiredTranslator.
- Only one ValidateOrgUnitIs translator must be configured.
ReadResultIdsForLineItemWithLineItemTypeRequestValidateOrgUnitIsOfferingTranslator
The ReadResultIdsForLineItemWithLineItemTypeRequestValidateOrgUnitIsOfferingTranslator identifies that the org unit for the request must be a CourseOffering.
Implementation
D2L.IM.IPSIS.LIS.RequestAdapters.OMS.Default.ReadResultIdsForLineItemWithLineItemTypeRequestValidateOrgUnitIsOfferingTranslator
Expected behavior
The handler performs the following tasks:
- Sets a property on the result object indicating which org unit types are valid for this request.
- Processing continues to the next translator.
Property
|
Translation Result Object
|
Value
|
ValidOrgUnitTypes
|
{OrgUnitTypeEnum.CourseOffering}
|
|
Configuration notes
- This translator must be configured after the ReadResultIdsForLineItemWithLineItemTypeRequestGetSectionRequiredTranslator.
- Only one ValidateOrgUnitIs translator must be configured.
ReadResultIdsForLineItemWithLineItemTypeRequestValidateOrgUnitIsOfferingOrSectionTranslator
The ReadResultIdsForLineItemWithLineItemTypeRequestValidateOrgUnitIsOfferingOrSectionTranslator identifies that the org unit for the request must be a CourseOffering or a CourseSection.
Implementation
D2L.IM.IPSIS.LIS.RequestAdapters.OMS.Default.ReadResultIdsForLineItemWithLineItemTypeRequestValidateOrgUnitIsOfferingOrSectionTranslator
Expected behavior
The translator performs the following tasks:
- Sets a property on the result object indicating which org unit types are valid for the request.
- Processing continues to the next translator.
Property
|
Translation Result Object
|
Value
|
ValidOrgUnitTypes
|
{OrgUnitTypeEnum.CourseOffering, OrgUnitTypeEnum.Section}
|
|
Configuration notes
- This translator must be configured after the ReadResultIdsForLineItemWithLineItemTypeRequestGetSectionRequiredTranslator.
- Only one ValidateOrgUnitIs translator must be configured.
ReadResultIdsForLineItemWithLineItemTypeRequestFinalAdjustedLineItemTypeRequiredTranslator
The ReadResultIdsForLineItemWithLineItemTypeRequestFinalAdjustedLineItemTypeRequiredTranslator requires the LIS Line Item type to be Final and if so, sets the grade type to Final Adjusted.
Implementation
D2L.IM.IPSIS.LIS.RequestAdapters.OMS.Default.ReadResultIdsForLineItemWithLineItemTypeRequestFinalAdjustedLineItemTypeRequiredTranslator
Expected behavior
The translator performs the following tasks:
- If the LIS Line Item type is anything other than Final an exception is thrown.
- If the LIS Line Item type is final the translator sets the GradeType to Final Adjusted and processing continues to the next translator.
Error behavior
If there is a problem during processing, an IncompleteRequestException is thrown. This results in:
- The suspension of all further processing.
- A LIS Response Header containing:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Configuration note
This translator must be configured after the GetSection ranslator.
ReadResultIdsForLineItemWithLineItemTypeRequestFinalCalculatedLineItemTypeRequiredTranslator
The ReadResultIdsForLineItemWithLineItemTypeRequestFinalCalculatedLineItemTypeRequiredTranslator requires the LIS Line Item type to be Final and if so, sets the grade type to Final Calculated.
Implementation
D2L.IM.IPSIS.LIS.RequestAdapters.OMS.Default.ReadResultIdsForLineItemWithLineItemTypeRequestFinalCalculatedLineItemTypeRequiredTranslator
Expected behavior
The handler performs the following tasks:
- If the LIS Line Item type is anything other than Final an exception is thrown.
- If the LIS Line Item type is Final, the translator sets the GradeType to Final Calculated and processing continues to the next translator.
Error behavior
If there is a problem processing, an IncompleteRequestException is thrown. This results in:
- The suspension of all further processing.
- A LIS response header containing:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Configuration note
This translator must be configured after the GetSection translator.