OSID Logo
OSID Specifications
control batch package
Version 3.0.0
Release Candidate Preview
Interfaceosid.control.batch.SettingBatchAdminSession
Implementsosid.control.SettingAdminSession
Description

This session creates, updates, and deletes Settings in bulk. The data for create and update is provided by the consumer via the form object. OsidForms are requested for each create or update and may not be reused.

Create and update operations differ in their usage. To create a Setting, a SettingForm is requested using getSettingFormsForCreate() specifying the desired controller and record Types or none if no record Types are needed. Each of the returned SettingForms will indicate that it is to be used with a create operation and can be used to examine metdata or validate data prior to creation. Once a SettingForm is submiited to a create operation, it cannot be reused with another create operation unless the first operation was unsuccessful. Each SettingForm corresponds to an attempted transaction.

The SettingForms returned from getSettingFormsForCreate() may be linked to the originating request through the peer Ids of the SettingForm. In the case where there may be duplicates, any SettingForm of the same peer Ids may be used for a create operation.

Once a batch of SettingForm are submitted for create, a CreateSetting is returned for each SettingForm, although the ordering is not defined. Only errors that pertain to the entire create operation are returned from createSettings(), errors specific to an individual SettingForm are indicated in the corresponding CreateSetting. CreateSettings may be linked to the originating SettingForm through the SettingForm Id .

For updates, SettingForms are requested to the Setting Id that is to be updated using getSettingFormsForUpdate() where the reference Id in the SettingForm may be used to link the request. Similarly, the SettingForm has metadata about the data that can be updated and it can perform validation before submitting the update. The SettingForm can only be used once for a successful update and cannot be reused.

Once a batch of SettingForms are submitted for update, an UpdateSetting is returned for each SettingForm, although the ordering is not defined. Only errors that pertain to the entire update operation are returned from updateSettings(), errors specific to an individual SettingForm are indicated in the corresponding UpdateSetting. UpdateSettings may be linked to the originating SettingForm through the SettingForm Id.

The delete operations delete Settings in bulk. To unmap a Setting from the current System, the SettingSystemAssignmentSession should be used. These delete operations attempt to remove the Setting itself thus removing it from all known System catalogs. Bulk delete operations return the results in DeleteSettings.

MethodgetSettingFormsForCreate
Description

Gets the setting forms for creating a bunch of new settings. A form is retrieved for each controller.

Parametersosid.id.IdListcontrollerIdslist of controller Ids
osid.type.Type[]settingRecordTypesarray of setting record types to be included in each create operation or an empty list if none
Returnosid.control.batch.SettingBatchFormListthe setting forms
ErrorsNOT_FOUNDa controllerId is not found
NULL_ARGUMENT controllerIds or settingRecordTypes is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTEDunable to request forms with given record types
CompliancemandatoryThis method must be implemented.
MethodcreateSettings
Description

Creates a new set of Settings. This method returns an error if the entire operation fails. Otherwise, the status of an individual create operation is indicated in the BatchCreateSetting .

Parametersosid.control.batch.SettingBatchFormListsettingFormsthe setting forms
Returnosid.transaction.batch.CreateResponseListthe create responses
ErrorsNULL_ARGUMENT settingForms is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetSettingFormsForUpdate
Description

Gets the setting forms for updating an existing set of settings. A new setting form should be requested for each update transaction.

Parametersosid.id.IdListsettingIdsthe Ids of the Setting
Returnosid.control.batch.SettingBatchFormListthe setting form
ErrorsNOT_FOUNDa settingId is not found
NULL_ARGUMENT settingIds is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodupdateSettings
Description

Updates existing settings. This method returns an error if the entire operation fails. Otherwise, the status of an individual update operation is indicated in the BatchCreateSetting .

Parametersosid.control.batch.SettingBatchFormListsettingFormsthe form containing the elements to be updated
Returnosid.transaction.batch.UpdateResponseListthe update responses
ErrorsNULL_ARGUMENT settingForms is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethoddeleteAllSettings
Description

Deletes all Settings in this System.

Returnosid.transaction.batch.DeleteResponseListthe delete responses
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethoddeleteSettings
Description

Deletes settings for the given Ids.

Parametersosid.id.IdListsettingIdsthe Ids of the settings to delete
Returnosid.transaction.batch.DeleteResponseListthe delete responses
ErrorsNULL_ARGUMENT settingIds is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethoddeleteSettingsForController
Description

Deletes settings for the given Controller.

Parametersosid.id.IdcontrollerIda controller Id
Returnosid.transaction.batch.DeleteResponseListthe delete responses
ErrorsNULL_ARGUMENT controllerId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodaliasSettings
Description

Adds an Id to a Setting for the purpose of creating compatibility. The primary Id of the Setting is determined by the provider. The new Id is an alias to the primary Id. If the alias is a pointer to another setting, it is reassigned to the given setting Id.

Parametersosid.transaction.batch.AliasRequestListaliasRequeststhe alias requests
Returnosid.transaction.batch.AliasResponseListthe alias responses
ErrorsNULL_ARGUMENT aliasRequests is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.