Coverage Report - org.kuali.student.enrollment.lrr.service.LearningResultRecordService
 
Classes in this File Line Coverage Branch Coverage Complexity
LearningResultRecordService
N/A
N/A
1
 
 1  
 /*
 2  
  * Copyright 2009 The Kuali Foundation
 3  
  *
 4  
  * Licensed under the Educational Community License, Version 1.0 (the "License");
 5  
  * you may not use this file except in compliance with the License.
 6  
  * You may obtain a copy of the License at
 7  
  *
 8  
  * http://www.opensource.org/licenses/ecl1.php
 9  
  *
 10  
  * Unless required by applicable law or agreed to in writing, software
 11  
  * distributed under the License is distributed on an "AS IS" BASIS,
 12  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 13  
  * See the License for the specific language governing permissions and
 14  
  * limitations under the License.
 15  
  */
 16  
 package org.kuali.student.enrollment.lrr.service;
 17  
 
 18  
 import java.util.List;
 19  
 
 20  
 import javax.jws.WebParam;
 21  
 import javax.jws.WebService;
 22  
 import javax.jws.soap.SOAPBinding;
 23  
 
 24  
 import org.kuali.student.enrollment.lrr.dto.LearningResultRecordInfo;
 25  
 import org.kuali.student.enrollment.lrr.dto.ResultSourceInfo;
 26  
 import org.kuali.student.r2.common.dto.ContextInfo;
 27  
 import org.kuali.student.r2.common.dto.StatusInfo;
 28  
 import org.kuali.student.r2.common.dto.ValidationResultInfo;
 29  
 import org.kuali.student.r2.common.exceptions.AlreadyExistsException;
 30  
 import org.kuali.student.r2.common.exceptions.DataValidationErrorException;
 31  
 import org.kuali.student.r2.common.exceptions.DoesNotExistException;
 32  
 import org.kuali.student.r2.common.exceptions.InvalidParameterException;
 33  
 import org.kuali.student.r2.common.exceptions.MissingParameterException;
 34  
 import org.kuali.student.r2.common.exceptions.OperationFailedException;
 35  
 import org.kuali.student.r2.common.exceptions.PermissionDeniedException;
 36  
 import org.kuali.student.r2.common.exceptions.VersionMismatchException;
 37  
 import org.kuali.student.r2.common.util.constants.LrrServiceConstants;
 38  
 
 39  
 
 40  
 /**
 41  
  * 
 42  
  * 
 43  
  * The Learning Result Record Service supports the management of results earned through a person's participation in a learning unit instance. 
 44  
  * 
 45  
  * @Version: 1.0 (Dev) DRAFT - NOT READY FOR RELEASE.
 46  
  * @author Kuali Student Team (Kamal)
 47  
  */
 48  
 @WebService(name = "LearningResultRecordService", targetNamespace = LrrServiceConstants.NAMESPACE) // TODO CHECK THESE VALUES
 49  
 @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
 50  
 public interface LearningResultRecordService { 
 51  
 
 52  
 
 53  
     /** 
 54  
      * Retrieves a learning result record by its identifier
 55  
      * 
 56  
      * @param learningResultRecordId learning result record identifier
 57  
      * @param context Context information containing the principalId
 58  
      *                and locale information about the caller of service
 59  
      *                operation
 60  
      * @return learning result record information
 61  
      * @throws DoesNotExistException learning result record not found
 62  
      * @throws InvalidParameterException invalid learningResultRecordId
 63  
      * @throws MissingParameterException learningResultRecordId not specified
 64  
      * @throws OperationFailedException unable to complete request
 65  
      * @throws PermissionDeniedException authorization failure 
 66  
          */
 67  
     public LearningResultRecordInfo getLearningResultRecord(@WebParam(name="learningResultRecordId")String learningResultRecordId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 68  
 
 69  
     /** 
 70  
      * Retrieves a list of learning result records for a Lui Person Relation
 71  
      * @param lprId Lui person relation identifier
 72  
      * @param context Context information containing the principalId
 73  
      *                and locale information about the caller of service
 74  
      *                operation
 75  
      * @return list of learning result record information
 76  
      * @throws DoesNotExistException person not found
 77  
      * @throws InvalidParameterException invalid personId
 78  
      * @throws MissingParameterException personId not specified
 79  
      * @throws OperationFailedException unable to complete request
 80  
          */
 81  
     public List<LearningResultRecordInfo> getLearningResultRecordsForLpr(@WebParam(name="lprId")String lprId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 82  
     
 83  
     
 84  
     /**
 85  
      * 
 86  
      * Retrieves a list of learning result records based on LPR and the type of LRR
 87  
      * 
 88  
      * @param lprId
 89  
      * @param lrrType
 90  
      * @return
 91  
      * @throws DoesNotExistException
 92  
      * @throws InvalidParameterException
 93  
      * @throws MissingParameterException
 94  
      * @throws OperationFailedException
 95  
      */
 96  
     public List<LearningResultRecordInfo> getLearningResultRecordsForLprAndType(@WebParam(name="lprId")String lprId, @WebParam(name="lrrType")String lrrType) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 97  
 
 98  
 
 99  
     /** 
 100  
      * Retrieves a list of learning result records for Lui Person Relation Ids
 101  
      * @param lprIds List of Lui person relation identifier
 102  
      * @param context Context information containing the principalId
 103  
      *                and locale information about the caller of service
 104  
      *                operation
 105  
      * @return list of learning result record information
 106  
      * @throws DoesNotExistException person not found
 107  
      * @throws InvalidParameterException invalid personId
 108  
      * @throws MissingParameterException personId not specified
 109  
      * @throws OperationFailedException unable to complete request
 110  
      */
 111  
     public List<LearningResultRecordInfo> getLearningResultRecordsForLprIds(@WebParam(name="lprIds")List<String> lprIds, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 112  
 
 113  
     /** 
 114  
      * Retrieves a list of learning result records by source Id
 115  
      * @param lprIds List of Lui person relation identifier
 116  
      * @param context Context information containing the principalId
 117  
      *                and locale information about the caller of service
 118  
      *                operation
 119  
      * @return list of learning result record information
 120  
      * @throws DoesNotExistException person not found
 121  
      * @throws InvalidParameterException invalid personId
 122  
      * @throws MissingParameterException personId not specified
 123  
      * @throws OperationFailedException unable to complete request
 124  
      */
 125  
     public List<LearningResultRecordInfo> getLearningResultRecordsBySourceId(@WebParam(name="lprIds")List<String> sourceIds, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 126  
     
 127  
     
 128  
     /** 
 129  
      * Creates an learning result record.
 130  
      * @param learningResultRecordInfo information about the learning result record
 131  
      * @param context Context information containing the principalId
 132  
      *                and locale information about the caller of service
 133  
      *                operation
 134  
      * @return information about the newly created learning result record
 135  
      * @throws AlreadyExistsException Learning result record already exists
 136  
      * @throws DataValidationErrorException One or more values invalid for this operation
 137  
      * @throws InvalidParameterException one or more parameters invalid
 138  
      * @throws MissingParameterException one or more parameters missing
 139  
      * @throws OperationFailedException unable to complete request
 140  
      * @throws PermissionDeniedException authorization failure
 141  
          */
 142  
     public LearningResultRecordInfo createLearningResultRecord(@WebParam(name="learningResultRecord")LearningResultRecordInfo learningResultRecord, @WebParam(name = "context") ContextInfo context) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 143  
 
 144  
     /** 
 145  
      * Updates an learning result record
 146  
      * @param learningResultRecordId identifier of the learning result record to be updated
 147  
      * @param learningResultRecordInfo information about the learningResultRecord to be updated
 148  
      * @param context Context information containing the principalId
 149  
      *                and locale information about the caller of service
 150  
      *                operation
 151  
      * @return the updated learning result record information
 152  
      * @throws DataValidationErrorException One or more values invalid for this operation
 153  
      * @throws DoesNotExistException learning result record not found
 154  
      * @throws InvalidParameterException one or more parameters invalid
 155  
      * @throws MissingParameterException one or more parameters missing
 156  
      * @throws OperationFailedException unable to complete request
 157  
      * @throws PermissionDeniedException authorization failure
 158  
      * @throws VersionMismatchException The action was attempted on an out of date version.
 159  
          */
 160  
     public LearningResultRecordInfo updateLearningResultRecord(@WebParam(name="learningResultRecordId")String learningResultRecordId, @WebParam(name="learningResultRecordInfo")LearningResultRecordInfo learningResultRecordInfo, @WebParam(name = "context") ContextInfo context) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException;
 161  
 
 162  
     /** 
 163  
      * Deletes an learning result record
 164  
      * @param learningResultRecordId identifier of the learning result record to delete
 165  
      * @param context Context information containing the principalId
 166  
      *                and locale information about the caller of service
 167  
      *                operation
 168  
      * @return status of the operation (success or failure)
 169  
      * @throws DoesNotExistException learning result record not found
 170  
      * @throws InvalidParameterException invalid learningResultRecordId
 171  
      * @throws MissingParameterException missing learningResultRecordId
 172  
      * @throws OperationFailedException unable to complete request
 173  
      * @throws PermissionDeniedException authorization failure
 174  
          */
 175  
     public StatusInfo deleteLearningResultRecord(@WebParam(name="learningResultRecordId")String learningResultRecordId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 176  
 
 177  
 
 178  
     /** 
 179  
      * Validates an learning result record. 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 result record (and/or one of its contained sub-objects) and a record is found for that identifier, the validation checks if the learning result record 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.
 180  
      * @param validationType identifier of the extent of validation
 181  
      * @param learningResultRecordInfo learning result record information to be tested.
 182  
      * @param context Context information containing the principalId
 183  
      *                and locale information about the caller of service
 184  
      *                operation
 185  
      * @return results from performing the validation
 186  
      * @throws DoesNotExistException validationTypeKey not found
 187  
      * @throws InvalidParameterException invalid validationTypeKey, learningResultRecordInfo
 188  
      * @throws MissingParameterException missing validationTypeKey, learningResultRecordInfo
 189  
      * @throws OperationFailedException unable to complete request
 190  
      */
 191  
     public List<ValidationResultInfo> validateLearningResultRecord(@WebParam(name="validationType")String validationType, @WebParam(name="learningResultRecordInfo")LearningResultRecordInfo learningResultRecordInfo, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 192  
     
 193  
     /** 
 194  
      * Retrieves a result source for a given identifier
 195  
      * 
 196  
      * @param resultSourceId result source id
 197  
      * @param context Context information containing the principalId
 198  
      *                and locale information about the caller of service
 199  
      *                operation
 200  
      * @return learning result record information
 201  
      * @throws DoesNotExistException result source not found
 202  
      * @throws InvalidParameterException invalid resultSourceId
 203  
      * @throws MissingParameterException resultSourceId not specified
 204  
      * @throws OperationFailedException unable to complete request
 205  
      * @throws PermissionDeniedException authorization failure 
 206  
      */
 207  
     public ResultSourceInfo getResultSource(@WebParam(name="resultSourceId")String resultSourceId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 208  
 
 209  
 
 210  
     /** 
 211  
      * Retrieves a list of result sources for a list of Ids
 212  
      * 
 213  
      * @param resultSourceIds result source Id list
 214  
      * @param context Context information containing the principalId
 215  
      *                and locale information about the caller of service
 216  
      *                operation
 217  
      * @return list of result sources
 218  
      * @throws DoesNotExistException result source not found
 219  
      * @throws InvalidParameterException invalid resultSourceIds
 220  
      * @throws MissingParameterException resultSourceIds not specified
 221  
      * @throws OperationFailedException unable to complete request
 222  
      * @throws PermissionDeniedException authorization failure 
 223  
      */
 224  
     public List<ResultSourceInfo> getResultSourcesByIds(@WebParam(name="resultSourceIds")List <String> resultSourceIds, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 225  
     
 226  
     /** 
 227  
      * Retrieves a list of result sources by type
 228  
      * 
 229  
      * @param resultSourceTypeKey result source type key
 230  
      * @param context Context information containing the principalId
 231  
      *                and locale information about the caller of service
 232  
      *                operation
 233  
      * @return list of result sources
 234  
      * @throws DoesNotExistException result source not found
 235  
      * @throws InvalidParameterException invalid resultSourceTypeKey
 236  
      * @throws MissingParameterException resultSourceTypeKey not specified
 237  
      * @throws OperationFailedException unable to complete request
 238  
      * @throws PermissionDeniedException authorization failure 
 239  
      */
 240  
     public List<ResultSourceInfo> getResultSourcesByType(@WebParam(name="resultSourceTypeKey")String resultSourceTypeKey, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 241  
     
 242  
     
 243  
     /** 
 244  
      * Create a new result source 
 245  
      * @param learningResultRecordId learning result record identifier
 246  
      * @param sourceInfo source information
 247  
      * @param context Context information containing the principalId
 248  
      *                and locale information about the caller of service
 249  
      *                operation
 250  
      * @throws AlreadyExistsException the result source being created already exists
 251  
      * @throws DataValidationErrorException One or more values invalid for this operation
 252  
      * @throws InvalidParameterException One or more parameters invalid
 253  
      * @throws MissingParameterException One or more parameters missing
 254  
      * @throws OperationFailedException unable to complete request
 255  
      * @throws PermissionDeniedException authorization failure    
 256  
          */
 257  
     public ResultSourceInfo createResultSource(@WebParam(name="resultSourceInfo")ResultSourceInfo sourceInfo, @WebParam(name = "context") ContextInfo context) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 258  
 
 259  
     /** 
 260  
      * Updates a result source 
 261  
      * @param resultSourceId source identifier
 262  
      * @param resultSourceInfo source information
 263  
      * @param context Context information containing the principalId
 264  
      *                and locale information about the caller of service
 265  
      *                operation
 266  
      * @return updated result source information
 267  
      * @throws DataValidationErrorException One or more values invalid for this operation
 268  
      * @throws DoesNotExistException result source not found 
 269  
      * @throws InvalidParameterException invalid resultSourceId or resultSourceInfo
 270  
      * @throws MissingParameterException resultSourceId or resultSourceInfo not specified
 271  
      * @throws OperationFailedException unable to complete request
 272  
      * @throws PermissionDeniedException authorization failure
 273  
      * @throws VersionMismatchException  The action was attempted on an out of date version
 274  
      */
 275  
     public ResultSourceInfo updateResultSource(@WebParam(name="resultSourceId")String resultSourceId, @WebParam(name="resultSourceInfo")ResultSourceInfo resultSourceInfo, @WebParam(name = "context") ContextInfo context) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException;
 276  
 
 277  
     /** 
 278  
      * Delete a result source. The result source should not be deleteable if it is still being referenced by any LRR
 279  
      * @param sourceId source information identifier
 280  
      * @param context Context information containing the principalId
 281  
      *                and locale information about the caller of service
 282  
      *                operation
 283  
      * @return status
 284  
      * @throws DoesNotExistException the result source does not exist
 285  
      * @throws InvalidParameterException One or more parameters invalid
 286  
      * @throws MissingParameterException One or more parameters missing
 287  
      * @throws OperationFailedException unable to complete request
 288  
      * @throws PermissionDeniedException authorization failure
 289  
      */
 290  
     public StatusInfo deleteResultSource(@WebParam(name="deleteResultSourceId")String resultSourceId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 291  
 
 292  
     /** 
 293  
      * Validates a result source 
 294  
      * @param validationType identifier of the extent of validation
 295  
      * @param resultSourceInfo result source information to be tested.
 296  
      * @param context Context information containing the principalId
 297  
      *                and locale information about the caller of service
 298  
      *                operation
 299  
      * @return results from performing the validation
 300  
      * @throws DoesNotExistException validationTypeKey not found
 301  
      * @throws InvalidParameterException invalid validationTypeKey, resultSourceInfo
 302  
      * @throws MissingParameterException missing validationTypeKey, resultSourceInfo
 303  
      * @throws OperationFailedException unable to complete request
 304  
      */
 305  
     public List<ValidationResultInfo> validateResultSource(@WebParam(name="validationType")String validationType, @WebParam(name="resultSourceInfo")ResultSourceInfo resultSourceInfo, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 306  
 
 307  
 }