org.kuali.student.lum.lo.service.impl
Class LearningObjectiveServiceImpl

java.lang.Object
  extended by org.kuali.student.lum.lo.service.impl.LearningObjectiveServiceImpl
All Implemented Interfaces:
DictionaryService, SearchService, LearningObjectiveService

public class LearningObjectiveServiceImpl
extends Object
implements LearningObjectiveService


Constructor Summary
LearningObjectiveServiceImpl()
           
 
Method Summary
 StatusInfo addLoCategoryToLo(String loCategoryId, String loId)
          Add a existing learning objective category to an existing learning objective in the same repository.
 LoInfo createLo(String repositoryId, String loType, LoInfo loInfo)
          Create a learning objective.
 LoCategoryInfo createLoCategory(String loRepositoryKey, String loCategoryTypeKey, LoCategoryInfo loCategoryInfo)
          Create a learning objective category in a particular learning objective repository.
 LoLoRelationInfo createLoLoRelation(String loId, String relatedLoId, String loLoRelationType, LoLoRelationInfo loLoRelationInfo)
          Create a directional relationship between two LOs
 StatusInfo deleteLo(String loId)
          Delete a learning objective.
 StatusInfo deleteLoCategory(String loCategoryId)
          Deletes a learning objective category.
 StatusInfo deleteLoLoRelation(String loLoRelationId)
          Deletes a relationship between two LOs
 List<String> getAllowedLoLoRelationTypesForLoType(String loTypeKey, String relatedLoTypeKey)
          Retrieves the list of allowed relation types between the two specified LO Types
 LoInfo getLo(String loId)
          Retrieves information on a single learning objective.
 List<LoInfo> getLoByIdList(List<String> loIds)
          Retrieves information on multiple learning objectives.
 List<LoCategoryInfo> getLoCategories(String loRepositoryKey)
          Retrieves information about all the learning objective categories in a given learning objective repository.
 List<LoCategoryInfo> getLoCategoriesForLo(String loId)
          Retrieves a list of learning objective categories for a specific learning objective.
 LoCategoryInfo getLoCategory(String loCategoryId)
          Retrieves information about an learning objective category.
 LoCategoryTypeInfo getLoCategoryType(String loCategoryTypeKey)
          Retrieves information about a particular learning objective category type.
 List<LoCategoryTypeInfo> getLoCategoryTypes()
          Retrieves the list of learning objective category types known by this service.
 LoDao getLoDao()
           
 LoLoRelationInfo getLoLoRelation(String loLoRelationId)
          Retrieves the relationship information between LOs for a particular relationship identifier
 List<LoLoRelationInfo> getLoLoRelationsByLoId(String loId)
          Retrieves the relationship information between LOs for a particular LO.
 LoLoRelationTypeInfo getLoLoRelationType(String loLoRelationTypeKey)
          Retrieves the LO to LO relation type
 List<LoLoRelationTypeInfo> getLoLoRelationTypes()
          Retrieves the complete list of LO to LO relation types
 List<LoRepositoryInfo> getLoRepositories()
          Retrieves the list of learning objective repositories known by this service.
 LoRepositoryInfo getLoRepository(String loRepositoryKey)
          Retrieves information about a particular learning objective repository.
 List<LoInfo> getLosByLoCategory(String loCategoryId)
          Retrieves a list of learning objectives that have a specific learning objective category.
 List<LoInfo> getLosByRelatedLoId(String relatedLoId, String loLoRelationType)
          Retrieves the list of LO information for the LOs related to a specified LO Id with a certain LU to LU relation type (getRelatedLosByLoId from the other direction)
 List<LoInfo> getLosByRepository(String loRepositoryKey, String loTypeKey, String loStateKey)
          Retrieves learning objectives from a given repository of a given type and state.
 LoTypeInfo getLoType(String loTypeKey)
          Retrieves information about a particular learning objective type.
 List<LoTypeInfo> getLoTypes()
          Retrieves the list of learning objective types known by this service.
 ObjectStructureDefinition getObjectStructure(String objectTypeKey)
           
 List<String> getObjectTypes()
           
 List<LoInfo> getRelatedLosByLoId(String loId, String loLoRelationTypeKey)
          Retrieves the list of related LO information for the specified LO Id and LU to LU relation type (getLosByRelatedLoId from the other direction)
 SearchCriteriaTypeInfo getSearchCriteriaType(String searchCriteriaTypeKey)
          Retrieves information about a particular search criteria type.
 List<SearchCriteriaTypeInfo> getSearchCriteriaTypes()
          Retrieves the list of search criteria types known by this service.
 SearchResultTypeInfo getSearchResultType(String searchResultTypeKey)
          Retrieves information about a particular search result type.
 List<SearchResultTypeInfo> getSearchResultTypes()
          Retrieves the list of search result types known by this service.
 SearchTypeInfo getSearchType(String searchTypeKey)
          Retrieves information about a particular search type.
 List<SearchTypeInfo> getSearchTypes()
          Retrieves the list of search types known by this service.
 List<SearchTypeInfo> getSearchTypesByCriteria(String searchCriteriaTypeKey)
          Retrieves the list of search types which use criteria in the specified format.
 List<SearchTypeInfo> getSearchTypesByResult(String searchResultTypeKey)
          Retrieves the list of search types which return results in the specified format.
 ValidatorFactory getValidatorFactory()
           
 StatusInfo removeLoCategoryFromLo(String loCategoryId, String loId)
          Remove a existing learning objective category from an existing learning objective in the same repository.
 SearchResult search(SearchRequest searchRequest)
           
 void setDictionaryServiceDelegate(DictionaryService dictionaryServiceDelegate)
           
 void setLoDao(LoDao dao)
           
 void setSearchManager(SearchManager searchManager)
           
 void setValidatorFactory(ValidatorFactory validatorFactory)
           
 LoInfo updateLo(String loId, LoInfo loInfo)
          Update a learning objective.
 LoCategoryInfo updateLoCategory(String loCategoryId, LoCategoryInfo loCategoryInfo)
          Updates a learning objective category in a particular learning objective repository.
 LoLoRelationInfo updateLoLoRelation(String loLoRelationId, LoLoRelationInfo loLoRelationInfo)
          Updates a relationship between two LOs
 List<ValidationResultInfo> validateLo(String validationType, LoInfo loInfo)
          Validates a learning objective.
 List<ValidationResultInfo> validateLoCategory(String validationType, LoCategoryInfo loCategoryInfo)
          Validates a learning objective category.
 List<ValidationResultInfo> validateLoLoRelation(String validationType, LoLoRelationInfo loLoRelationInfo)
          Validates a loLoRelation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LearningObjectiveServiceImpl

public LearningObjectiveServiceImpl()
Method Detail

getLoDao

public LoDao getLoDao()

setLoDao

public void setLoDao(LoDao dao)

setSearchManager

public void setSearchManager(SearchManager searchManager)

setDictionaryServiceDelegate

public void setDictionaryServiceDelegate(DictionaryService dictionaryServiceDelegate)

getValidatorFactory

public ValidatorFactory getValidatorFactory()

setValidatorFactory

public void setValidatorFactory(ValidatorFactory validatorFactory)

getLoRepositories

@Transactional(readOnly=true)
public List<LoRepositoryInfo> getLoRepositories()
                                         throws OperationFailedException
Description copied from interface: LearningObjectiveService
Retrieves the list of learning objective repositories known by this service.

Specified by:
getLoRepositories in interface LearningObjectiveService
Returns:
list of learning objective repository information
Throws:
OperationFailedException - unable to complete request

getLoRepository

@Transactional(readOnly=true)
public LoRepositoryInfo getLoRepository(String loRepositoryKey)
                                 throws DoesNotExistException,
                                        InvalidParameterException,
                                        MissingParameterException,
                                        OperationFailedException
Description copied from interface: LearningObjectiveService
Retrieves information about a particular learning objective repository.

Specified by:
getLoRepository in interface LearningObjectiveService
Parameters:
loRepositoryKey - learning objective repository identifier
Returns:
information about a learning objective repository
Throws:
DoesNotExistException - specified learning objective repository not found
InvalidParameterException - invalid loRepositoryKey
MissingParameterException - loRepositoryKey not specified
OperationFailedException - unable to complete request

getLoTypes

@Transactional(readOnly=true)
public List<LoTypeInfo> getLoTypes()
                            throws OperationFailedException
Description copied from interface: LearningObjectiveService
Retrieves the list of learning objective types known by this service.

Specified by:
getLoTypes in interface LearningObjectiveService
Returns:
list of learning objective type information
Throws:
OperationFailedException - unable to complete request

getLoType

@Transactional(readOnly=true)
public LoTypeInfo getLoType(String loTypeKey)
                     throws DoesNotExistException,
                            InvalidParameterException,
                            MissingParameterException,
                            OperationFailedException
Description copied from interface: LearningObjectiveService
Retrieves information about a particular learning objective type.

Specified by:
getLoType in interface LearningObjectiveService
Parameters:
loTypeKey - learning objective type identifier
Returns:
information about a learning objective type
Throws:
DoesNotExistException - specified learning objective type not found
InvalidParameterException - invalid loTypeKey
MissingParameterException - loTypeKey not specified
OperationFailedException - unable to complete request

getLoLoRelationTypes

@Transactional(readOnly=true)
public List<LoLoRelationTypeInfo> getLoLoRelationTypes()
                                                throws OperationFailedException
Description copied from interface: LearningObjectiveService
Retrieves the complete list of LO to LO relation types

Specified by:
getLoLoRelationTypes in interface LearningObjectiveService
Returns:
list of LO to LO relation type information
Throws:
OperationFailedException - unable to complete request

getLoLoRelationType

@Transactional(readOnly=true)
public LoLoRelationTypeInfo getLoLoRelationType(String loLoRelationTypeKey)
                                         throws OperationFailedException,
                                                MissingParameterException,
                                                DoesNotExistException
Description copied from interface: LearningObjectiveService
Retrieves the LO to LO relation type

Specified by:
getLoLoRelationType in interface LearningObjectiveService
Parameters:
loLoRelationTypeKey - Key of the LO to LO Relation Type
Returns:
LO to LO relation type information
Throws:
OperationFailedException - unable to complete request
MissingParameterException
DoesNotExistException

getAllowedLoLoRelationTypesForLoType

@Transactional(readOnly=true)
public List<String> getAllowedLoLoRelationTypesForLoType(String loTypeKey,
                                                                               String relatedLoTypeKey)
                                                  throws DoesNotExistException,
                                                         InvalidParameterException,
                                                         MissingParameterException,
                                                         OperationFailedException
Description copied from interface: LearningObjectiveService
Retrieves the list of allowed relation types between the two specified LO Types

Specified by:
getAllowedLoLoRelationTypesForLoType in interface LearningObjectiveService
Parameters:
loTypeKey - Key of the first LO Type
relatedLoTypeKey - Key of the second LO Type
Returns:
list of LO to LO relation types
Throws:
DoesNotExistException - loTypeKey, relatedLoTypeKey not found
InvalidParameterException - invalid loTypeKey, relatedLoTypeKey
MissingParameterException - missing loTypeKey, relatedLoTypeKey
OperationFailedException - unable to complete request

addLoCategoryToLo

@Transactional(readOnly=false,
               noRollbackFor=DoesNotExistException.class,
               rollbackFor=java.lang.Throwable.class)
public StatusInfo addLoCategoryToLo(String loCategoryId,
                                                                                                                                      String loId)
                             throws AlreadyExistsException,
                                    DoesNotExistException,
                                    InvalidParameterException,
                                    MissingParameterException,
                                    OperationFailedException,
                                    PermissionDeniedException,
                                    UnsupportedActionException
Description copied from interface: LearningObjectiveService
Add a existing learning objective category to an existing learning objective in the same repository.

Specified by:
addLoCategoryToLo in interface LearningObjectiveService
Parameters:
loCategoryId - identifier of the learning objective category to add
loId - identifier of the learning objective
Returns:
status of the operation (success or failure)
Throws:
AlreadyExistsException - loCategoryId is already set as a category of the LoId
DoesNotExistException - loId, loCategoryId not found
InvalidParameterException - invalid loId, loCategoryId
MissingParameterException - missing loId, loCategoryId
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure
UnsupportedActionException - loId, loCategoryId are not in the same repository

createLo

@Transactional(readOnly=false,
               noRollbackFor=DoesNotExistException.class,
               rollbackFor=java.lang.Throwable.class)
public LoInfo createLo(String repositoryId,
                                                                                                                         String loType,
                                                                                                                         LoInfo loInfo)
                throws DataValidationErrorException,
                       DoesNotExistException,
                       InvalidParameterException,
                       MissingParameterException,
                       OperationFailedException,
                       PermissionDeniedException
Description copied from interface: LearningObjectiveService
Create a learning objective.

Specified by:
createLo in interface LearningObjectiveService
Parameters:
repositoryId - identifier of the learning objective repository
loType - type for the learning objective
loInfo - information to create the learning objective
Returns:
information on the created learning objective
Throws:
DataValidationErrorException - One or more values invalid for this operation
DoesNotExistException - loRepositoryKey, loType not found
InvalidParameterException - invalid loRepositoryKey, loType, loInfo
MissingParameterException - missing loRepositoryKey, loType, loInfo
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure

deleteLo

@Transactional(readOnly=false,
               noRollbackFor=DoesNotExistException.class,
               rollbackFor=java.lang.Throwable.class)
public StatusInfo deleteLo(String loId)
                    throws DependentObjectsExistException,
                           DoesNotExistException,
                           InvalidParameterException,
                           MissingParameterException,
                           OperationFailedException,
                           PermissionDeniedException
Description copied from interface: LearningObjectiveService
Delete a learning objective.

Specified by:
deleteLo in interface LearningObjectiveService
Parameters:
loId - identifier of the learning objective to delete
Returns:
status of the operation (success or failure)
Throws:
DependentObjectsExistException - removing the learning objective will orphan one or more child learning objectives
DoesNotExistException - loId not found
InvalidParameterException - invalid loId
MissingParameterException - missing loId
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure

deleteLoCategory

@Transactional(readOnly=false,
               noRollbackFor=DoesNotExistException.class,
               rollbackFor=java.lang.Throwable.class)
public StatusInfo deleteLoCategory(String loCategoryId)
                            throws DependentObjectsExistException,
                                   DoesNotExistException,
                                   InvalidParameterException,
                                   MissingParameterException,
                                   OperationFailedException,
                                   PermissionDeniedException
Description copied from interface: LearningObjectiveService
Deletes a learning objective category.

Specified by:
deleteLoCategory in interface LearningObjectiveService
Parameters:
loCategoryId - learning objective category identifier
Returns:
status of the operation (success/failure)
Throws:
DependentObjectsExistException - learning objective category is still attached to one or more learning objectives
DoesNotExistException - loCategoryId not found
InvalidParameterException - invalid loCategoryId
MissingParameterException - missing loCategoryId
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure

getLo

@Transactional(readOnly=true)
public LoInfo getLo(String loId)
             throws DoesNotExistException,
                    InvalidParameterException,
                    MissingParameterException,
                    OperationFailedException
Description copied from interface: LearningObjectiveService
Retrieves information on a single learning objective.

Specified by:
getLo in interface LearningObjectiveService
Parameters:
loId - learning objective identifier
Returns:
information about a single learning objective
Throws:
DoesNotExistException - loId not found
InvalidParameterException - invalid loId
MissingParameterException - missing loId
OperationFailedException - unable to complete request

getLoByIdList

@Transactional(readOnly=true)
public List<LoInfo> getLoByIdList(List<String> loIds)
                           throws InvalidParameterException,
                                  MissingParameterException,
                                  OperationFailedException
Description copied from interface: LearningObjectiveService
Retrieves information on multiple learning objectives.

Specified by:
getLoByIdList in interface LearningObjectiveService
Parameters:
loIds - list of learning objective identifiers
Returns:
list of learning objective information
Throws:
InvalidParameterException - invalid loIdList
MissingParameterException - missing loIdList
OperationFailedException - unable to complete request

getLoCategories

@Transactional(readOnly=true)
public List<LoCategoryInfo> getLoCategories(String loRepositoryKey)
                                     throws DoesNotExistException,
                                            InvalidParameterException,
                                            MissingParameterException,
                                            OperationFailedException
Description copied from interface: LearningObjectiveService
Retrieves information about all the learning objective categories in a given learning objective repository.

Specified by:
getLoCategories in interface LearningObjectiveService
Parameters:
loRepositoryKey - loRepository identifier
Returns:
list of learning objective category information
Throws:
DoesNotExistException - loRepositoryKey not found
InvalidParameterException - invalid loRepositoryKey
MissingParameterException - missing loRepositoryKey
OperationFailedException - unable to complete request

getLoCategoriesForLo

@Transactional(readOnly=true)
public List<LoCategoryInfo> getLoCategoriesForLo(String loId)
                                          throws DoesNotExistException,
                                                 InvalidParameterException,
                                                 MissingParameterException,
                                                 OperationFailedException
Description copied from interface: LearningObjectiveService
Retrieves a list of learning objective categories for a specific learning objective.

Specified by:
getLoCategoriesForLo in interface LearningObjectiveService
Parameters:
loId - learning objective identifier
Returns:
list of learning objective category information
Throws:
DoesNotExistException - loCategoryId not found
InvalidParameterException - invalid loId
MissingParameterException - missing loId
OperationFailedException - unable to complete request

getLoCategory

@Transactional(readOnly=true)
public LoCategoryInfo getLoCategory(String loCategoryId)
                             throws DoesNotExistException,
                                    InvalidParameterException,
                                    MissingParameterException,
                                    OperationFailedException
Description copied from interface: LearningObjectiveService
Retrieves information about an learning objective category.

Specified by:
getLoCategory in interface LearningObjectiveService
Parameters:
loCategoryId - loCategory identifier
Returns:
LoCategory
Throws:
DoesNotExistException - loCategoryId not found
InvalidParameterException - invalid loCategoryId
MissingParameterException - missing loCategoryId
OperationFailedException - unable to complete request

getLosByLoCategory

@Transactional(readOnly=true)
public List<LoInfo> getLosByLoCategory(String loCategoryId)
                                throws DoesNotExistException,
                                       InvalidParameterException,
                                       MissingParameterException,
                                       OperationFailedException
Description copied from interface: LearningObjectiveService
Retrieves a list of learning objectives that have a specific learning objective category.

Specified by:
getLosByLoCategory in interface LearningObjectiveService
Parameters:
loCategoryId - learning objective category identifier
Returns:
list of learning objective information
Throws:
DoesNotExistException - loCategoryId not found
InvalidParameterException - invalid loCategoryId
MissingParameterException - missing loCategoryId
OperationFailedException - unable to complete request

removeLoCategoryFromLo

@Transactional(readOnly=false,
               noRollbackFor=DoesNotExistException.class,
               rollbackFor=java.lang.Throwable.class)
public StatusInfo removeLoCategoryFromLo(String loCategoryId,
                                                                                                                                           String loId)
                                  throws DoesNotExistException,
                                         InvalidParameterException,
                                         MissingParameterException,
                                         OperationFailedException,
                                         PermissionDeniedException,
                                         UnsupportedActionException
Description copied from interface: LearningObjectiveService
Remove a existing learning objective category from an existing learning objective in the same repository.

Specified by:
removeLoCategoryFromLo in interface LearningObjectiveService
Parameters:
loCategoryId - identifier of the learning objective category to remove
loId - identifier of the learning objective
Returns:
status of the operation (success or failure)
Throws:
DoesNotExistException - loId, loCategoryId not found
InvalidParameterException - invalid loId, loCategoryId
MissingParameterException - missing loId, loCategoryId
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure
UnsupportedActionException - loId, loCategoryId are not in the same repository

updateLo

@Transactional(readOnly=false,
               noRollbackFor=DoesNotExistException.class,
               rollbackFor=java.lang.Throwable.class)
public LoInfo updateLo(String loId,
                                                                                                                         LoInfo loInfo)
                throws DataValidationErrorException,
                       DoesNotExistException,
                       InvalidParameterException,
                       MissingParameterException,
                       OperationFailedException,
                       PermissionDeniedException,
                       VersionMismatchException
Description copied from interface: LearningObjectiveService
Update a learning objective.

Specified by:
updateLo in interface LearningObjectiveService
Parameters:
loId - identifier of the learning objective to update
loInfo - updated information on the learning objective
Returns:
information on the updated learning objective
Throws:
DataValidationErrorException - One or more values invalid for this operation
DoesNotExistException - loId not found
InvalidParameterException - invalid loId, loInfo
MissingParameterException - missing loId, loInfo
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure
VersionMismatchException - action was attempted on an out of date version.

updateLoCategory

@Transactional(readOnly=false,
               noRollbackFor=DoesNotExistException.class,
               rollbackFor=java.lang.Throwable.class)
public LoCategoryInfo updateLoCategory(String loCategoryId,
                                                                                                                                         LoCategoryInfo loCategoryInfo)
                                throws DataValidationErrorException,
                                       DoesNotExistException,
                                       InvalidParameterException,
                                       MissingParameterException,
                                       OperationFailedException,
                                       PermissionDeniedException,
                                       VersionMismatchException
Description copied from interface: LearningObjectiveService
Updates a learning objective category in a particular learning objective repository.

Specified by:
updateLoCategory in interface LearningObjectiveService
Parameters:
loCategoryId - the learning objective category identifier
loCategoryInfo - information to create the learning objective category
Returns:
information on the uppdated learning objective category
Throws:
DataValidationErrorException - One or more values invalid for this operation
DoesNotExistException - loCategoryId not found
InvalidParameterException - invalid loCategoryId, loCategoryInfo
MissingParameterException - missing loCategoryId, loCategoryInfo
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure
VersionMismatchException - action was attempted on an out of date version.

validateLo

public List<ValidationResultInfo> validateLo(String validationType,
                                             LoInfo loInfo)
                                      throws DoesNotExistException,
                                             InvalidParameterException,
                                             MissingParameterException,
                                             OperationFailedException
Description copied from interface: LearningObjectiveService
Validates a learning objective. Depending on the value of validationType, this validation could be limited to tests on just the current object and its directly contained sub-objects or expanded to perform all tests related to this object. If an identifier is present for the learning objective (and/or one of its contained sub-objects) and a record is found for that identifier, the validation checks if the learning objective can be shifted to the new values. If an identifier is not present or 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.

Specified by:
validateLo in interface LearningObjectiveService
Parameters:
validationType - identifier of the extent of validation
loInfo - learning objective information to be tested.
Returns:
results from performing the validation
Throws:
DoesNotExistException - validationTypeKey not found
InvalidParameterException - invalid validationTypeKey, loInfo
MissingParameterException - missing validationTypeKey, loInfo
OperationFailedException - unable to complete request

validateLoCategory

public List<ValidationResultInfo> validateLoCategory(String validationType,
                                                     LoCategoryInfo loCategoryInfo)
                                              throws DoesNotExistException,
                                                     InvalidParameterException,
                                                     MissingParameterException,
                                                     OperationFailedException
Description copied from interface: LearningObjectiveService
Validates a learning objective category. Depending on the value of validationType, this validation could be limited to tests on just the current object and its directly contained sub-objects or expanded to perform all tests related to this object. If an identifier is present for the learning objective category (and/or one of its contained sub-objects) and a record is found for that identifier, the validation checks if the learning objective category can be shifted to the new values. If an identifier is not present or 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.

Specified by:
validateLoCategory in interface LearningObjectiveService
Parameters:
validationType - identifier of the extent of validation
loCategoryInfo - learning objective category information to be tested.
Returns:
results from performing the validation
Throws:
DoesNotExistException - validationTypeKey not found
InvalidParameterException - invalid validationTypeKey, loCategoryInfo
MissingParameterException - missing validationTypeKey, loCategoryInfo
OperationFailedException - unable to complete request

validateLoLoRelation

public List<ValidationResultInfo> validateLoLoRelation(String validationType,
                                                       LoLoRelationInfo loLoRelationInfo)
                                                throws DoesNotExistException,
                                                       InvalidParameterException,
                                                       MissingParameterException,
                                                       OperationFailedException
Description copied from interface: LearningObjectiveService
Validates a loLoRelation. Depending on the value of validationType, this validation could be limited to tests on just the current object and its directly contained sub-objects or expanded to perform all tests related to this object. If an identifier is present for the loLoRelation (and/or one of its contained sub-objects) and a record is found for that identifier, the validation checks if the relationship can be shifted to the new values. If an identifier is not present or 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.

Specified by:
validateLoLoRelation in interface LearningObjectiveService
Parameters:
validationType - identifier of the extent of validation
loLoRelationInfo - loLoRelation information to be tested.
Returns:
results from performing the validation
Throws:
DoesNotExistException - validationTypeKey not found
InvalidParameterException - invalid validationTypeKey, loLoRelationInfo
MissingParameterException - missing validationTypeKey, loLoRelationInfo
OperationFailedException - unable to complete request

getObjectStructure

public ObjectStructureDefinition getObjectStructure(String objectTypeKey)
Specified by:
getObjectStructure in interface DictionaryService

getObjectTypes

public List<String> getObjectTypes()
Specified by:
getObjectTypes in interface DictionaryService

getSearchCriteriaType

public SearchCriteriaTypeInfo getSearchCriteriaType(String searchCriteriaTypeKey)
                                             throws DoesNotExistException,
                                                    InvalidParameterException,
                                                    MissingParameterException,
                                                    OperationFailedException
Description copied from interface: SearchService
Retrieves information about a particular search criteria type.

Specified by:
getSearchCriteriaType in interface SearchService
Parameters:
searchCriteriaTypeKey - identifier of the search criteria type
Returns:
information on the search criteria type
Throws:
DoesNotExistException - specified searchCriteriaTypeKey not found
InvalidParameterException - invalid searchCriteriaTypeKey
MissingParameterException - searchCriteriaTypeKey not specified
OperationFailedException - unable to complete request

getSearchCriteriaTypes

public List<SearchCriteriaTypeInfo> getSearchCriteriaTypes()
                                                    throws OperationFailedException
Description copied from interface: SearchService
Retrieves the list of search criteria types known by this service.

Specified by:
getSearchCriteriaTypes in interface SearchService
Returns:
list of search criteria type information
Throws:
OperationFailedException - unable to complete request

getSearchResultType

public SearchResultTypeInfo getSearchResultType(String searchResultTypeKey)
                                         throws DoesNotExistException,
                                                InvalidParameterException,
                                                MissingParameterException,
                                                OperationFailedException
Description copied from interface: SearchService
Retrieves information about a particular search result type. Search result types describe the return structure for a search.

Specified by:
getSearchResultType in interface SearchService
Parameters:
searchResultTypeKey - identifier of the search result type
Returns:
information on the search result type
Throws:
DoesNotExistException - specified searchResultTypeKey not found
InvalidParameterException - invalid searchResultTypeKey
MissingParameterException - searchResultTypeKey not specified
OperationFailedException - unable to complete request

getSearchResultTypes

public List<SearchResultTypeInfo> getSearchResultTypes()
                                                throws OperationFailedException
Description copied from interface: SearchService
Retrieves the list of search result types known by this service. Search result types describe the return structure for a search.

Specified by:
getSearchResultTypes in interface SearchService
Returns:
list of search result type information
Throws:
OperationFailedException - unable to complete request

getSearchType

public SearchTypeInfo getSearchType(String searchTypeKey)
                             throws DoesNotExistException,
                                    InvalidParameterException,
                                    MissingParameterException,
                                    OperationFailedException
Description copied from interface: SearchService
Retrieves information about a particular search type.

Specified by:
getSearchType in interface SearchService
Parameters:
searchTypeKey - identifier of the search type
Returns:
information on the search type
Throws:
DoesNotExistException - specified searchTypeKey not found
InvalidParameterException - invalid searchTypeKey
MissingParameterException - searchTypeKey not specified
OperationFailedException - unable to complete request

getSearchTypes

public List<SearchTypeInfo> getSearchTypes()
                                    throws OperationFailedException
Description copied from interface: SearchService
Retrieves the list of search types known by this service.

Specified by:
getSearchTypes in interface SearchService
Returns:
list of search type information
Throws:
OperationFailedException - unable to complete request

getSearchTypesByCriteria

public List<SearchTypeInfo> getSearchTypesByCriteria(String searchCriteriaTypeKey)
                                              throws DoesNotExistException,
                                                     InvalidParameterException,
                                                     MissingParameterException,
                                                     OperationFailedException
Description copied from interface: SearchService
Retrieves the list of search types which use criteria in the specified format.

Specified by:
getSearchTypesByCriteria in interface SearchService
Parameters:
searchCriteriaTypeKey - identifier of the search criteria
Returns:
list of search type information
Throws:
DoesNotExistException - specified searchCriteriaTypeKey not found
InvalidParameterException - invalid searchCriteriaTypeKey
MissingParameterException - searchCriteriaTypeKey not specified
OperationFailedException - unable to complete request

getSearchTypesByResult

public List<SearchTypeInfo> getSearchTypesByResult(String searchResultTypeKey)
                                            throws DoesNotExistException,
                                                   InvalidParameterException,
                                                   MissingParameterException,
                                                   OperationFailedException
Description copied from interface: SearchService
Retrieves the list of search types which return results in the specified format.

Specified by:
getSearchTypesByResult in interface SearchService
Parameters:
searchResultTypeKey - identifier of the search result type
Returns:
list of search type information
Throws:
DoesNotExistException - specified searchResultTypeKey not found
InvalidParameterException - invalid searchResultTypeKey
MissingParameterException - searchResultTypeKey not specified
OperationFailedException - unable to complete request

createLoLoRelation

@Transactional(readOnly=false,
               noRollbackFor=DoesNotExistException.class,
               rollbackFor=java.lang.Throwable.class)
public LoLoRelationInfo createLoLoRelation(String loId,
                                                                                                                                             String relatedLoId,
                                                                                                                                             String loLoRelationType,
                                                                                                                                             LoLoRelationInfo loLoRelationInfo)
                                    throws AlreadyExistsException,
                                           DataValidationErrorException,
                                           DoesNotExistException,
                                           InvalidParameterException,
                                           MissingParameterException,
                                           OperationFailedException,
                                           PermissionDeniedException
Description copied from interface: LearningObjectiveService
Create a directional relationship between two LOs

Specified by:
createLoLoRelation in interface LearningObjectiveService
Parameters:
loId - identifier of the first LO in the relationship - The From or Parent of the relation
relatedLoId - identifier of the second LO in the relationship to be related to - the To or Child of the Relation
loLoRelationType - the type of the LO to LO relationship
loLoRelationInfo - information about the relationship between the two LOs
Returns:
the created LO to LO relation information
Throws:
AlreadyExistsException - relationship already exists
DataValidationErrorException - One or more values invalid for this operation
DoesNotExistException - loId, relatedLoId, luLuRelationType not found
InvalidParameterException - invalid loId, relatedLoId, luluRelationType, loLoRelationInfo
MissingParameterException - missing loId, relatedLoId, luluRelationType, loLoRelationInfo
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure

deleteLoLoRelation

@Transactional(readOnly=false,
               noRollbackFor=DoesNotExistException.class,
               rollbackFor=java.lang.Throwable.class)
public StatusInfo deleteLoLoRelation(String loLoRelationId)
                              throws DoesNotExistException,
                                     InvalidParameterException,
                                     MissingParameterException,
                                     OperationFailedException,
                                     PermissionDeniedException
Description copied from interface: LearningObjectiveService
Deletes a relationship between two LOs

Specified by:
deleteLoLoRelation in interface LearningObjectiveService
Parameters:
loLoRelationId - identifier of LO to LO relationship to delete
Returns:
status of the operation (success or failure)
Throws:
DoesNotExistException - loLoRelationId not found
InvalidParameterException - invalid loLoRelationId
MissingParameterException - missing loLoRelationId
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure

getLoLoRelation

@Transactional(readOnly=true)
public LoLoRelationInfo getLoLoRelation(String loLoRelationId)
                                 throws DoesNotExistException,
                                        InvalidParameterException,
                                        MissingParameterException,
                                        OperationFailedException
Description copied from interface: LearningObjectiveService
Retrieves the relationship information between LOs for a particular relationship identifier

Specified by:
getLoLoRelation in interface LearningObjectiveService
Parameters:
loLoRelationId - identifier of the LO to LO relationship
Returns:
information on the relation between two LOs
Throws:
DoesNotExistException - loLoRelationId not found
InvalidParameterException - invalid loLoRelationId
MissingParameterException - missing loLoRelationId
OperationFailedException - unable to complete request

getLoLoRelationsByLoId

@Transactional(readOnly=true)
public List<LoLoRelationInfo> getLoLoRelationsByLoId(String loId)
                                              throws DoesNotExistException,
                                                     InvalidParameterException,
                                                     MissingParameterException,
                                                     OperationFailedException
Description copied from interface: LearningObjectiveService
Retrieves the relationship information between LOs for a particular LO.

Specified by:
getLoLoRelationsByLoId in interface LearningObjectiveService
Parameters:
loId - identifier of the LO
Returns:
all relations (both directions) from an LO
Throws:
DoesNotExistException - loId not found
InvalidParameterException - invalid loId
MissingParameterException - missing loId
OperationFailedException - unable to complete request

getLosByRelatedLoId

@Transactional(readOnly=true)
public List<LoInfo> getLosByRelatedLoId(String relatedLoId,
                                                              String loLoRelationType)
                                 throws DoesNotExistException,
                                        InvalidParameterException,
                                        MissingParameterException,
                                        OperationFailedException
Description copied from interface: LearningObjectiveService
Retrieves the list of LO information for the LOs related to a specified LO Id with a certain LU to LU relation type (getRelatedLosByLoId from the other direction)

Specified by:
getLosByRelatedLoId in interface LearningObjectiveService
Parameters:
relatedLoId - identifier of the LO
loLoRelationType - the LO to LO relation type
Returns:
list of LO information
Throws:
DoesNotExistException - relatedLoId, loLoRelationType not found
InvalidParameterException - invalid relatedLoId, loLoRelationType
MissingParameterException - missing relatedLoId, loLoRelationType
OperationFailedException - unable to complete request

getRelatedLosByLoId

@Transactional(readOnly=true)
public List<LoInfo> getRelatedLosByLoId(String loId,
                                                              String loLoRelationTypeKey)
                                 throws DoesNotExistException,
                                        InvalidParameterException,
                                        MissingParameterException,
                                        OperationFailedException
Description copied from interface: LearningObjectiveService
Retrieves the list of related LO information for the specified LO Id and LU to LU relation type (getLosByRelatedLoId from the other direction)

Specified by:
getRelatedLosByLoId in interface LearningObjectiveService
Parameters:
loId - identifier of the LO
loLoRelationTypeKey - the LO to LO relation type
Returns:
list of LO information
Throws:
DoesNotExistException - loId, loLoRelationType not found
InvalidParameterException - invalid loId, loLoRelationType
MissingParameterException - missing loId, loLoRelationType
OperationFailedException - unable to complete request

updateLoLoRelation

@Transactional(readOnly=false,
               noRollbackFor=DoesNotExistException.class,
               rollbackFor=java.lang.Throwable.class)
public LoLoRelationInfo updateLoLoRelation(String loLoRelationId,
                                                                                                                                             LoLoRelationInfo loLoRelationInfo)
                                    throws DataValidationErrorException,
                                           DoesNotExistException,
                                           InvalidParameterException,
                                           MissingParameterException,
                                           OperationFailedException,
                                           PermissionDeniedException,
                                           VersionMismatchException
Description copied from interface: LearningObjectiveService
Updates a relationship between two LOs

Specified by:
updateLoLoRelation in interface LearningObjectiveService
Parameters:
loLoRelationId - identifier of the LO to LO relation to be updated
loLoRelationInfo - changed information about the LO to LO relationship
Returns:
the updated LO to LO relation information
Throws:
DataValidationErrorException - One or more values invalid for this operation
DoesNotExistException - loLoRelationId not found
InvalidParameterException - invalid loLoRelationId, loLoRelationInfo
MissingParameterException - missing loLoRelationId, loLoRelationInfo
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure
VersionMismatchException - The action was attempted on an out of date version.

createLoCategory

@Transactional(readOnly=false,
               noRollbackFor=DoesNotExistException.class,
               rollbackFor=java.lang.Throwable.class)
public LoCategoryInfo createLoCategory(String loRepositoryKey,
                                                                                                                                         String loCategoryTypeKey,
                                                                                                                                         LoCategoryInfo loCategoryInfo)
                                throws DataValidationErrorException,
                                       DoesNotExistException,
                                       InvalidParameterException,
                                       MissingParameterException,
                                       OperationFailedException,
                                       PermissionDeniedException
Description copied from interface: LearningObjectiveService
Create a learning objective category in a particular learning objective repository.

Specified by:
createLoCategory in interface LearningObjectiveService
Parameters:
loRepositoryKey - identifier of the learning objective repository
loCategoryTypeKey - identifier of the learning objective category type
loCategoryInfo - information to create the learning objective category
Returns:
information on the created learning objective category
Throws:
DataValidationErrorException - One or more values invalid for this operation
DoesNotExistException - loRepositoryKey, loCategoryTypeKey not found
InvalidParameterException - invalid loRepositoryKey, loCategoryTypeKey, loCategoryInfo
MissingParameterException - missing loRepositoryKey, loCategoryTypeKey, loCategoryInfo
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure

getLoCategoryType

@Transactional(readOnly=true)
public LoCategoryTypeInfo getLoCategoryType(String loCategoryTypeKey)
                                     throws DoesNotExistException,
                                            InvalidParameterException,
                                            MissingParameterException,
                                            OperationFailedException
Description copied from interface: LearningObjectiveService
Retrieves information about a particular learning objective category type.

Specified by:
getLoCategoryType in interface LearningObjectiveService
Parameters:
loCategoryTypeKey - learning objective category type identifier
Returns:
information about a learning objective category type
Throws:
DoesNotExistException - specified learning objective category type not found
InvalidParameterException - invalid loCategoryTypeKey
MissingParameterException - loCategoryTypeKey not specified
OperationFailedException - unable to complete request

getLoCategoryTypes

@Transactional(readOnly=true)
public List<LoCategoryTypeInfo> getLoCategoryTypes()
                                            throws OperationFailedException
Description copied from interface: LearningObjectiveService
Retrieves the list of learning objective category types known by this service.

Specified by:
getLoCategoryTypes in interface LearningObjectiveService
Returns:
list of learning objective category type information
Throws:
OperationFailedException - unable to complete request

getLosByRepository

@Transactional(readOnly=true)
public List<LoInfo> getLosByRepository(String loRepositoryKey,
                                                             String loTypeKey,
                                                             String loStateKey)
                                throws InvalidParameterException,
                                       MissingParameterException,
                                       OperationFailedException
Description copied from interface: LearningObjectiveService
Retrieves learning objectives from a given repository of a given type and state.

Specified by:
getLosByRepository in interface LearningObjectiveService
Parameters:
loRepositoryKey - repository identifier
loTypeKey - learning objective type identifier
loStateKey - learning objective state identifier
Returns:
list of learning objectives
Throws:
InvalidParameterException - one or more parameters invalid
MissingParameterException - one or more missing parameters missing
OperationFailedException - unable to complete request

search

public SearchResult search(SearchRequest searchRequest)
                    throws MissingParameterException
Specified by:
search in interface SearchService
Throws:
MissingParameterException


Copyright © 2004-2012 The Kuali Foundation. All Rights Reserved.