1 /** 2 * Copyright 2010 The Kuali Foundation 3 * 4 * Licensed under the the Educational Community License, Version 1.0 5 * (the "License"); you may not use this file except in compliance 6 * with the License. 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.batchjobresults.service; 17 18 import org.kuali.student.enrollment.batchjobresults.dto.BatchJobResultInfo; 19 import org.kuali.student.enrollment.batchjobresults.dto.BatchJobResultItemInfo; 20 import org.kuali.student.r2.common.dto.AttributeInfo; 21 import org.kuali.student.r2.common.dto.ContextInfo; 22 import org.kuali.student.r2.common.dto.StatusInfo; 23 import org.kuali.student.r2.common.dto.ValidationResultInfo; 24 import org.kuali.student.r2.common.exceptions.*; 25 import org.kuali.student.r2.common.util.constants.BatchJobResultServiceConstants; 26 27 import javax.jws.WebParam; 28 import javax.jws.WebService; 29 import javax.jws.soap.SOAPBinding; 30 import java.util.Date; 31 import java.util.List; 32 33 /** 34 * The batch job results service provides a simple mechanism to 35 * store and progress and final results of of a long running batch job. 36 * 37 * @version 0.0.7 38 * 39 * @author nwright 40 */ 41 @WebService(name = "BatchJobResultService", serviceName = "BatchJobResultService", portName = "BatchJobResultService", targetNamespace = BatchJobResultServiceConstants.NAMESPACE) 42 @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED) 43 public interface BatchJobResultService { 44 45 /** 46 * Retrieve information about a BatchJobResult 47 * 48 * @param batchJobResultId Unique Id of the BatchJobResult 49 * @param context Context information containing the principalId and locale 50 * information about the caller of service operation 51 * 52 * @throws DoesNotExistException batchJobResultId not found 53 * @throws InvalidParameterException invalid parameter 54 * @throws MissingParameterException missing parameter 55 * @throws OperationFailedException unable to complete request 56 * @throws PermissionDeniedException authorization failure 57 */ 58 public BatchJobResultInfo getBatchJobResult(@WebParam(name = "batchJobResultId") String batchJobResultId, 59 @WebParam(name = "context") ContextInfo context) 60 throws DoesNotExistException, InvalidParameterException, 61 MissingParameterException, OperationFailedException, PermissionDeniedException; 62 63 /** 64 * Retrieves a list of batch job results by id list. 65 * 66 * @param batchJobResultIds List of unique Ids of BatchJobResult 67 * @param context Context information containing the principalId and locale 68 * information about the caller of service operation 69 * @throws DoesNotExistException batchJobResultId in the list not found 70 * @throws InvalidParameterException invalid batchJobResultIds 71 * @throws MissingParameterException missing batchJobResultIds 72 * @throws OperationFailedException unable to complete request 73 * @throws PermissionDeniedException authorization failure 74 */ 75 public List<BatchJobResultInfo> getBatchJobResultsByIds(@WebParam(name = "batchJobResultIds") List<String> batchJobResultIds, 76 @WebParam(name = "context") ContextInfo context) 77 throws DoesNotExistException, InvalidParameterException, MissingParameterException, 78 OperationFailedException, PermissionDeniedException; 79 80 /** 81 * Retrieve BatchJobResult Ids by type 82 * 83 * @param typeKey Unique key type of BatchJobResult 84 * @param context Context information containing the principalId and locale 85 * information about the caller of service operation 86 * @return List of BatchJobResult Ids 87 * @throws DoesNotExistException typeKey not found 88 * @throws InvalidParameterException invalid parameter 89 * @throws MissingParameterException missing parameter 90 * @throws OperationFailedException unable to complete request 91 * @throws PermissionDeniedException authorization failure 92 */ 93 public List<String> getBatchJobResultIdsByType(@WebParam(name = "typeKey") String typeKey, 94 @WebParam(name = "context") ContextInfo context) 95 throws DoesNotExistException, InvalidParameterException, MissingParameterException, 96 OperationFailedException, PermissionDeniedException; 97 98 /** 99 * Retrieve BatchJobResult Ids by type created on or after a date 100 * 101 * @param typeKey Unique key type of BatchJobResult 102 * @param sinceDateCreated the date on which or after the result was created 103 * @param context Context information containing the principalId and locale 104 * information about the caller of service operation 105 * @return List of BatchJobResult Ids 106 * @throws DoesNotExistException typeKey not found 107 * @throws InvalidParameterException invalid parameter 108 * @throws MissingParameterException missing parameter 109 * @throws OperationFailedException unable to complete request 110 * @throws PermissionDeniedException authorization failure 111 */ 112 public List<String> getBatchJobResultIdsByTypeSinceDateCreated(@WebParam(name = "typeKey") String typeKey, 113 @WebParam(name = "sinceDateCreated") Date sinceDateCreated, 114 @WebParam(name = "context") ContextInfo context) 115 throws DoesNotExistException, InvalidParameterException, MissingParameterException, 116 OperationFailedException, PermissionDeniedException; 117 118 /** 119 * Retrieve BatchJobResult Ids by type and the value of a single parameter 120 * 121 * @param typeKey Unique key type of BatchJobResult 122 * @param parameter key value pair used to match an existing parameter 123 * @param context Context information containing the principalId and locale 124 * information about the caller of service operation 125 * @return List of BatchJobResult Ids 126 * @throws DoesNotExistException typeKey not found 127 * @throws InvalidParameterException invalid parameter 128 * @throws MissingParameterException missing parameter 129 * @throws OperationFailedException unable to complete request 130 * @throws PermissionDeniedException authorization failure 131 */ 132 public List<String> getBatchJobResultIdsByTypeAndParameter(@WebParam(name = "typeKey") String typeKey, 133 @WebParam(name = "parameter") AttributeInfo parameter, 134 @WebParam(name = "context") ContextInfo context) 135 throws DoesNotExistException, InvalidParameterException, MissingParameterException, 136 OperationFailedException, PermissionDeniedException; 137 138 /** 139 * Retrieve BatchJobResult Ids by type and the value of a single global result 140 * 141 * @param typeKey Unique key type of BatchJobResult 142 * @param globalResult key value pair used to match an single global result 143 * @param context Context information containing the principalId and locale 144 * information about the caller of service operation 145 * @return List of BatchJobResult Ids 146 * @throws DoesNotExistException typeKey not found 147 * @throws InvalidParameterException invalid parameter 148 * @throws MissingParameterException missing parameter 149 * @throws OperationFailedException unable to complete request 150 * @throws PermissionDeniedException authorization failure 151 */ 152 public List<String> getBatchJobResultIdsByTypeAndGlobalResult(@WebParam(name = "typeKey") String typeKey, 153 @WebParam(name = "globalResult") AttributeInfo globalResult, 154 @WebParam(name = "context") ContextInfo context) 155 throws DoesNotExistException, InvalidParameterException, MissingParameterException, 156 OperationFailedException, PermissionDeniedException; 157 158 /** 159 * Creates a new BatchJobResult 160 * 161 * @param batchJobResultTypeKey batch job result type key 162 * @param batchJobResultInfo object to be created 163 * @param context Context information containing the principalId and locale 164 * information about the caller of service operation 165 * @return newly created BatchJobResultInfo 166 * @throws DoesNotExistException termId or batchJobResultTypeKey not found 167 * @throws DataValidationErrorException One or more values invalid for this operation 168 * @throws InvalidParameterException One or more parameters invalid 169 * @throws MissingParameterException One or more parameters missing 170 * @throws OperationFailedException unable to complete request 171 * @throws PermissionDeniedException authorization failure 172 */ 173 public BatchJobResultInfo createBatchJobResult(@WebParam(name = "batchJobResultTypeKey") String batchJobResultTypeKey, 174 @WebParam(name = "batchJobResultInfo") BatchJobResultInfo batchJobResultInfo, 175 @WebParam(name = "context") ContextInfo context) 176 throws DoesNotExistException, DataValidationErrorException, InvalidParameterException, 177 MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException; 178 179 /** 180 * Updates an existing BatchJobResult. 181 * 182 * @param batchJobResultId Id of BatchJobResult to be updated 183 * @param batchJobResultInfo Details of updates to the BatchJobResult 184 * @param context Context information containing the principalId and locale 185 * information about the caller of service operation 186 * @return updated BatchJobResult 187 * @throws DataValidationErrorException One or more values invalid for this operation 188 * @throws DoesNotExistException the BatchJobResult does not exist 189 * @throws InvalidParameterException One or more parameters invalid 190 * @throws MissingParameterException One or more parameters missing 191 * @throws OperationFailedException unable to complete request 192 * @throws PermissionDeniedException authorization failure 193 * @throws VersionMismatchException The action was attempted on an out of date version. 194 */ 195 public BatchJobResultInfo updateBatchJobResult(@WebParam(name = "batchJobResultId") String batchJobResultId, 196 @WebParam(name = "batchJobResultInfo") BatchJobResultInfo batchJobResultInfo, 197 @WebParam(name = "context") ContextInfo context) 198 throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, 199 MissingParameterException, OperationFailedException, PermissionDeniedException, 200 ReadOnlyException, VersionMismatchException; 201 202 /** 203 * Updates the state of an existing BatchJobResult to another state 204 * provided that it is valid to do so. 205 * 206 * @param batchJobResultId identifier of the BatchJobResult to be 207 * updated 208 * @param nextStateKey The State Key into which the identified 209 * BatchJobResult will be placed if the 210 * operation succeeds. 211 * @param contextInfo Context information containing the principalId 212 * and locale information about the caller of 213 * service operation 214 * @return status of the operation (success, failed) 215 * @throws DoesNotExistException the identified BatchJobResult does 216 * not exist 217 * @throws InvalidParameterException the contextInfo object is invalid 218 * @throws MissingParameterException One or more parameters missing 219 * @throws OperationFailedException unable to complete request 220 * @throws PermissionDeniedException authorization failure 221 */ 222 public StatusInfo changeBatchJobResultState(@WebParam(name = "batchJobResultId") String batchJobResultId, @WebParam(name = "nextStateKey") String nextStateKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; 223 224 /** 225 * Update progress information 226 * 227 * @param batchJobResultId Id of BatchJobResult to be updated 228 * @param itemsProcessed new count of the number of items processed 229 * @param context Context information containing the principalId and locale 230 * information about the caller of service operation 231 * @return StatusInfo indicates the update worked 232 * @throws DataValidationErrorException One or more values invalid for this operation 233 * @throws DoesNotExistException the BatchJobResult does not exist 234 * @throws InvalidParameterException One or more parameters invalid 235 * @throws MissingParameterException One or more parameters missing 236 * @throws OperationFailedException unable to complete request 237 * @throws PermissionDeniedException authorization failure 238 * @throws VersionMismatchException The action was attempted on an out of date version. 239 */ 240 public BatchJobResultInfo updateBatchJobProgress(@WebParam(name = "batchJobResultId") String batchJobResultId, 241 @WebParam(name = "itemsProcessed") Integer itemsProcessed, 242 @WebParam(name = "context") ContextInfo context) 243 throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, 244 MissingParameterException, OperationFailedException, PermissionDeniedException, 245 ReadOnlyException, VersionMismatchException; 246 247 /** 248 * Deletes an existing BatchJobResult. 249 * 250 * @param batchJobResultId the Id of the ActivityOffering to be deleted 251 * @param context Context information containing the principalId and locale 252 * information about the caller of service operation 253 * @return status of the operation (success, failed) 254 * @throws DoesNotExistException the SeatPoolDefinition does not exist 255 * @throws InvalidParameterException One or more parameters invalid 256 * @throws MissingParameterException One or more parameters missing 257 * @throws OperationFailedException unable to complete request 258 * @throws PermissionDeniedException authorization failure 259 */ 260 public StatusInfo deleteBatchJobResult(@WebParam(name = "batchJobResultId") String batchJobResultId, 261 @WebParam(name = "context") ContextInfo context) 262 throws DoesNotExistException, InvalidParameterException, 263 MissingParameterException, OperationFailedException, PermissionDeniedException; 264 265 /** 266 * Validates a BatchJobResult. Depending on the value of validationType, 267 * this validation could be limited to tests on just the current object and 268 * its directly contained sub-objects or expanded to perform all tests 269 * related to this object. If an identifier is present for the academic 270 * calendar and a record is found for that identifier, the validation checks 271 * if the academic calendar can be shifted to the new values. If a record 272 * cannot be found for the identifier, it is assumed that the record does 273 * not exist and as such, the checks performed will be much shallower, 274 * typically mimicking those performed by setting the validationType to the 275 * current object. This is a slightly different pattern from the standard 276 * validation as the caller provides the identifier in the create statement 277 * instead of the server assigning an identifier. 278 * 279 * @param validationType Identifier of the extent of validation 280 * @param batchJobResultInfo the batchJobResult information to be tested. 281 * @param context Context information containing the principalId and locale 282 * information about the caller of service operation 283 * @return the results from performing the validation 284 * @throws DoesNotExistException validationTypeKey not found 285 * @throws InvalidParameterException invalid validationTypeKey, batchJobResultInfo 286 * @throws MissingParameterException missing validationTypeKey, batchJobResultInfo 287 * @throws OperationFailedException unable to complete request 288 */ 289 public List<ValidationResultInfo> validateBatchJobResult(@WebParam(name = "validationType") String validationType, 290 @WebParam(name = "batchJobResultInfo") BatchJobResultInfo batchJobResultInfo, 291 @WebParam(name = "context") ContextInfo context) 292 throws DoesNotExistException, InvalidParameterException, 293 MissingParameterException, OperationFailedException; 294 295 //// 296 //// items 297 //// 298 /** 299 * Retrieves a list of result items associated with the batch job result id 300 * 301 * @param batchJobResultId Unique Ids of the rollover results for which the items are to be fetched 302 * @param context Context information containing the principalId and locale 303 * information about the caller of service operation 304 * @throws DoesNotExistException batchJobResultId in the list not found 305 * @throws InvalidParameterException invalid parameter 306 * @throws MissingParameterException missing parameter 307 * @throws OperationFailedException unable to complete request 308 * @throws PermissionDeniedException authorization failure 309 */ 310 public List<BatchJobResultItemInfo> getBatchJobResultItemsByResultId(@WebParam(name = "batchJobResultId") String batchJobResultId, 311 @WebParam(name = "context") ContextInfo context) 312 throws DoesNotExistException, InvalidParameterException, MissingParameterException, 313 OperationFailedException, PermissionDeniedException; 314 315 /** 316 * Retrieves a list of result item ids associated with a particular batch job 317 * result type and a source id. 318 * 319 * This would allows you to get all the result items associated with a particular course offering 320 * that has been rolled over. 321 * 322 * @param batchJobResultTypeKey Unique Ids of the rollover results for which the items are to be fetched 323 * @param sourceId source id to be matched 324 * @param context Context information containing the principalId and locale 325 * information about the caller of service operation 326 * @throws DoesNotExistException batchJobResultId in the list not found 327 * @throws InvalidParameterException invalid parameter 328 * @throws MissingParameterException missing parameter 329 * @throws OperationFailedException unable to complete request 330 * @throws PermissionDeniedException authorization failure 331 */ 332 public List<String> getBatchJobResultItemIdsByResultTypeAndSourceId(@WebParam(name = "batchJobResultTypeKey") String batchJobResultTypeKey, 333 @WebParam(name = "sourceId") String sourceId, 334 @WebParam(name = "context") ContextInfo context) 335 throws DoesNotExistException, InvalidParameterException, MissingParameterException, 336 OperationFailedException, PermissionDeniedException; 337 338 339 /** 340 * Retrieves a list of result item ids associated with a particular batch job 341 * result type and a source id. 342 * 343 * This would allows you to get all the result items associated with a particular course offering 344 * that has been created via a rolled over. 345 * 346 * @param batchJobResultTypeKey Unique Ids of the rollover results for which the items are to be fetched 347 * @param targetId target id to be matched 348 * @param context Context information containing the principalId and locale 349 * information about the caller of service operation 350 * @throws DoesNotExistException batchJobResultId in the list not found 351 * @throws InvalidParameterException invalid parameter 352 * @throws MissingParameterException missing parameter 353 * @throws OperationFailedException unable to complete request 354 * @throws PermissionDeniedException authorization failure 355 */ 356 public List<String> getBatchJobResultItemIdsByResultTypeAndTargetId(@WebParam(name = "batchJobResultTypeKey") String batchJobResultTypeKey, 357 @WebParam(name = "targetId") String targetId, 358 @WebParam(name = "context") ContextInfo context) 359 throws DoesNotExistException, InvalidParameterException, MissingParameterException, 360 OperationFailedException, PermissionDeniedException; 361 /** 362 * Retrieve information about a BatchJobResultItem 363 * 364 * @param batchJobResultItemId Unique Id of the BatchJobResultItem 365 * @param context Context information containing the principalId and locale 366 * information about the caller of service operation 367 * @throws DoesNotExistException batchJobResultItemId not found 368 * @throws InvalidParameterException invalid parameter 369 * @throws MissingParameterException missing parameter 370 * @throws OperationFailedException unable to complete request 371 * @throws PermissionDeniedException authorization failure 372 */ 373 public BatchJobResultItemInfo getBatchJobResultItem(@WebParam(name = "batchJobResultItemId") String batchJobResultItemId, 374 @WebParam(name = "context") ContextInfo context) 375 throws DoesNotExistException, InvalidParameterException, 376 MissingParameterException, OperationFailedException, PermissionDeniedException; 377 378 /** 379 * Retrieves a list of batch job result items by id list. 380 * 381 * @param batchJobResultItemIds List of unique Ids of BatchJobResultItem 382 * @param context Context information containing the principalId and locale 383 * information about the caller of service operation 384 * @throws DoesNotExistException batchJobResultItemId in the list not found 385 * @throws InvalidParameterException invalid batchJobResultItemIds 386 * @throws MissingParameterException missing batchJobResultItemIds 387 * @throws OperationFailedException unable to complete request 388 * @throws PermissionDeniedException authorization failure 389 */ 390 public List<BatchJobResultItemInfo> getBatchJobResultItemsByIds(@WebParam(name = "batchJobResultItemIds") List<String> batchJobResultItemIds, 391 @WebParam(name = "context") ContextInfo context) 392 throws DoesNotExistException, InvalidParameterException, MissingParameterException, 393 OperationFailedException, PermissionDeniedException; 394 395 /** 396 * Creates a new BatchJobResultItem 397 * 398 * @param batchJobResultId Id of the corresponding batch job result 399 * @param batchJobResultItemTypeKey batch job result type key 400 * @param batchJobResultItemInfo object to be created 401 * @param context Context information containing the principalId and locale 402 * information about the caller of service operation 403 * @return newly created BatchJobResultItemInfo 404 * @throws DoesNotExistException termId or batchJobResultItemTypeKey not found 405 * @throws DataValidationErrorException One or more values invalid for this operation 406 * @throws InvalidParameterException One or more parameters invalid 407 * @throws MissingParameterException One or more parameters missing 408 * @throws OperationFailedException unable to complete request 409 * @throws PermissionDeniedException authorization failure 410 */ 411 public BatchJobResultItemInfo createBatchJobResultItem(@WebParam(name = "batchJobResultId") String batchJobResultId, 412 @WebParam(name = "batchJobResultItemTypeKey") String batchJobResultItemTypeKey, 413 @WebParam(name = "batchJobResultItemInfo") BatchJobResultItemInfo batchJobResultItemInfo, 414 @WebParam(name = "context") ContextInfo context) 415 throws DoesNotExistException, DataValidationErrorException, InvalidParameterException, 416 MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException; 417 418 /** 419 * Bulk create of BatchJobResultItems 420 * All must be for the same result but the types may vary. 421 * 422 * @param batchJobResultId Id of the corresponding batch job result 423 * @param batchJobResultItemInfos objects to be created 424 * @param context Context information containing the principalId and locale 425 * information about the caller of service operation 426 * @return count of number of items created 427 * @throws DoesNotExistException termId or batchJobResultItemTypeKey not found 428 * @throws DataValidationErrorException One or more values invalid for this operation 429 * @throws InvalidParameterException One or more parameters invalid 430 * @throws MissingParameterException One or more parameters missing 431 * @throws OperationFailedException unable to complete request 432 * @throws PermissionDeniedException authorization failure 433 */ 434 public Integer createBatchJobResultItems(@WebParam(name = "batchJobResultId") String batchJobResultId, 435 @WebParam(name = "batchJobResultItemInfos") List<BatchJobResultItemInfo> batchJobResultItemInfos, 436 @WebParam(name = "context") ContextInfo context) 437 throws DoesNotExistException, DataValidationErrorException, InvalidParameterException, 438 MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException; 439 440 /** 441 * Updates an existing BatchJobResultItem. 442 * 443 * @param batchJobResultItemId Id of BatchJobResultItem to be updated 444 * @param batchJobResultItemInfo Details of updates to the BatchJobResultItem 445 * @param context Context information containing the principalId and locale 446 * information about the caller of service operation 447 * @return updated BatchJobResultItem 448 * @throws DataValidationErrorException One or more values invalid for this operation 449 * @throws DoesNotExistException the BatchJobResultItem does not exist 450 * @throws InvalidParameterException One or more parameters invalid 451 * @throws MissingParameterException One or more parameters missing 452 * @throws OperationFailedException unable to complete request 453 * @throws PermissionDeniedException authorization failure 454 * @throws VersionMismatchException The action was attempted on an out of date version. 455 */ 456 public BatchJobResultItemInfo updateBatchJobResultItem(@WebParam(name = "batchJobResultItemId") String batchJobResultItemId, 457 @WebParam(name = "batchJobResultItemInfo") BatchJobResultItemInfo batchJobResultItemInfo, 458 @WebParam(name = "context") ContextInfo context) 459 throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, 460 MissingParameterException, OperationFailedException, PermissionDeniedException, 461 ReadOnlyException, VersionMismatchException; 462 463 /** 464 * Updates the state of an existing BatchJobResultItem to another state 465 * provided that it is valid to do so. 466 * 467 * @param batchJobResultItemId identifier of the BatchJobResultItem to be 468 * updated 469 * @param nextStateKey The State Key into which the identified 470 * BatchJobResultItem will be placed if the 471 * operation succeeds. 472 * @param contextInfo Context information containing the principalId 473 * and locale information about the caller of 474 * service operation 475 * @return status of the operation (success, failed) 476 * @throws DoesNotExistException the identified BatchJobResultItem does 477 * not exist 478 * @throws InvalidParameterException the contextInfo object is invalid 479 * @throws MissingParameterException One or more parameters missing 480 * @throws OperationFailedException unable to complete request 481 * @throws PermissionDeniedException authorization failure 482 */ 483 public StatusInfo changeBatchJobResultItemState(@WebParam(name = "batchJobResultItemId") String batchJobResultItemId, @WebParam(name = "nextStateKey") String nextStateKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; 484 485 /** 486 * Deletes an existing BatchJobResultItem. 487 * 488 * @param batchJobResultItemId the Id of the ActivityOffering to be deleted 489 * @param context Context information containing the principalId and locale 490 * information about the caller of service operation 491 * @return status of the operation (success, failed) 492 * @throws DoesNotExistException the SeatPoolDefinition does not exist 493 * @throws InvalidParameterException One or more parameters invalid 494 * @throws MissingParameterException One or more parameters missing 495 * @throws OperationFailedException unable to complete request 496 * @throws PermissionDeniedException authorization failure 497 */ 498 public StatusInfo deleteBatchJobResultItem(@WebParam(name = "batchJobResultItemId") String batchJobResultItemId, 499 @WebParam(name = "context") ContextInfo context) 500 throws DoesNotExistException, InvalidParameterException, 501 MissingParameterException, OperationFailedException, PermissionDeniedException; 502 503 /** 504 * Validates a BatchJobResultItem. Depending on the value of validationType, 505 * this validation could be limited to tests on just the current object and 506 * its directly contained sub-objects or expanded to perform all tests 507 * related to this object. If an identifier is present for the academic 508 * calendar and a record is found for that identifier, the validation checks 509 * if the academic calendar can be shifted to the new values. If a record 510 * cannot be found for the identifier, it is assumed that the record does 511 * not exist and as such, the checks performed will be much shallower, 512 * typically mimicking those performed by setting the validationType to the 513 * current object. This is a slightly different pattern from the standard 514 * validation as the caller provides the identifier in the create statement 515 * instead of the server assigning an identifier. 516 * 517 * @param validationType Identifier of the extent of validation 518 * @param batchJobResultItemInfo the batchJobResultItem information to be tested. 519 * @param context Context information containing the principalId and locale 520 * information about the caller of service operation 521 * @return the results from performing the validation 522 * @throws DoesNotExistException validationTypeKey not found 523 * @throws InvalidParameterException invalid validationTypeKey, batchJobResultItemInfo 524 * @throws MissingParameterException missing validationTypeKey, batchJobResultItemInfo 525 * @throws OperationFailedException unable to complete request 526 */ 527 public List<ValidationResultInfo> validateBatchJobResultItem(@WebParam(name = "validationType") String validationType, 528 @WebParam(name = "batchJobResultItemInfo") BatchJobResultItemInfo batchJobResultItemInfo, 529 @WebParam(name = "context") ContextInfo context) 530 throws DoesNotExistException, InvalidParameterException, 531 MissingParameterException, OperationFailedException; 532 }