1 /* 2 * Copyright 2012 The Kuali Foundation 3 * 4 * Licensed under the Educational Community License, Version 1.0 (the 5 * "License"); you may not use this file except in compliance with the 6 * 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 13 * implied. See the License for the specific language governing 14 * permissions and limitations under the License. 15 */ 16 17 package org.kuali.student.enrollment.roster.service; 18 19 import java.util.List; 20 21 import javax.jws.WebParam; 22 import javax.jws.WebService; 23 import javax.jws.soap.SOAPBinding; 24 25 import org.kuali.rice.core.api.criteria.QueryByCriteria; 26 import org.kuali.student.enrollment.roster.dto.LprRosterEntryInfo; 27 import org.kuali.student.enrollment.roster.dto.LprRosterInfo; 28 import org.kuali.student.r2.common.dto.ContextInfo; 29 import org.kuali.student.r2.common.dto.StatusInfo; 30 import org.kuali.student.r2.common.dto.ValidationResultInfo; 31 32 import org.kuali.student.r2.common.exceptions.DataValidationErrorException; 33 import org.kuali.student.r2.common.exceptions.DoesNotExistException; 34 import org.kuali.student.r2.common.exceptions.InvalidParameterException; 35 import org.kuali.student.r2.common.exceptions.MissingParameterException; 36 import org.kuali.student.r2.common.exceptions.OperationFailedException; 37 import org.kuali.student.r2.common.exceptions.PermissionDeniedException; 38 import org.kuali.student.r2.common.exceptions.ReadOnlyException; 39 import org.kuali.student.r2.common.exceptions.VersionMismatchException; 40 41 import org.kuali.student.r2.common.util.constants.LprRosterServiceConstants; 42 43 /** 44 * The LprRoster service maintains ordered collections of Lprs for 45 * various applications such as waitlists and grading sheets. 46 * @version 0.0.7 47 */ 48 49 @WebService(name = "LprRosterService", serviceName = "LprRosterService", portName = "LprRosterService", targetNamespace = LprRosterServiceConstants.NAMESPACE) 50 @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED) 51 52 public interface LprRosterService { 53 54 /** 55 * Retrieves a single LprRoster by an LprRoster Id. 56 * 57 * @param lprRosterId the identifier for the LprRoster to be retrieved 58 * @param contextInfo information containing the principalId and 59 * locale information about the caller of the service 60 * operation 61 * @return the LprRoster requested 62 * @throws DoesNotExistException lprRosterId is not found 63 * @throws InvalidParameterException contextInfo is not valid 64 * @throws MissingParameterException lprRosterId or contextInfo is 65 * missing or null 66 * @throws OperationFailedException unable to complete request 67 * @throws PermissionDeniedException an authorization failure occurred 68 */ 69 public LprRosterInfo getLprRoster(@WebParam(name = "lprRosterId") String lprRosterId, 70 @WebParam(name = "contextInfo") ContextInfo contextInfo) 71 throws DoesNotExistException, 72 InvalidParameterException, 73 MissingParameterException, 74 OperationFailedException, 75 PermissionDeniedException; 76 77 /** 78 * Retrieve a list of LprRosters from a list of LprRoster Ids. The 79 * returned list may be in any order and if duplicate Ids are 80 * supplied, a unique set may or may not ber returned. 81 * 82 * @param lprRosterIds a list of LprRoster identifiers 83 * @param contextInfo information containing the principalId and 84 * locale information about the caller of the service 85 * operation 86 * @return a list of LprRosters 87 * @throws DoesNotExistException a lprRosterId in the list was not found 88 * @throws InvalidParameterException contextInfo is not valid 89 * @throws MissingParameterException lprRosterIds, an Id in 90 * lprRosterIds, or contextInfo is missing or null 91 * @throws OperationFailedException unable to complete request 92 * @throws PermissionDeniedException an authorization failure occurred 93 */ 94 public List<LprRosterInfo> getLprRostersByIds(@WebParam(name = "lprRosterIds") List<String> lprRosterIds, 95 @WebParam(name = "contextInfo") ContextInfo contextInfo) 96 throws DoesNotExistException, 97 InvalidParameterException, 98 MissingParameterException, 99 OperationFailedException, 100 PermissionDeniedException; 101 102 /** 103 * Retrieve a list of LprRosterIds by LprRoster Type. 104 * 105 * @param lprRosterTypeKey an identifier for an LprRoster Type 106 * @param contextInfo information containing the principalId and 107 * locale information about the caller of the service 108 * operation 109 * @return a list of LprRosters identifiers matching 110 * lprRosterTypeKey or an empty list of none found 111 * @throws InvalidParameterException contextInfo is not valid 112 * @throws MissingParameterException lprRosterTypeKey 113 * or contextInfo is missing or null 114 * @throws OperationFailedException unable to complete request 115 * @throws PermissionDeniedException an authorization failure occurred 116 */ 117 public List<String> getLprRosterIdsByType(@WebParam(name = "lprRosterTypeKey") String lprRosterTypeKey, 118 @WebParam(name = "contextInfo") ContextInfo contextInfo) 119 throws InvalidParameterException, 120 MissingParameterException, 121 OperationFailedException, 122 PermissionDeniedException; 123 124 /** 125 * Gets a list of LprRosters associated with a given Lui. 126 * 127 * @param luiId an identifier for a LUI 128 * @param contextInfo information containing the principalId and 129 * locale information about the caller of the service 130 * operation 131 * @return list of LprRosters associated with the given Lui or 132 * an empty list if none found 133 * @throws InvalidParameterException contextInfo is not valid 134 * @throws MissingParameterException luiId 135 * or contextInfo is missing or null 136 * @throws OperationFailedException unable to complete request 137 * @throws PermissionDeniedException an authorization failure occurred 138 */ 139 public List<LprRosterInfo> getLprRostersByLui(@WebParam(name = "luiId") String luiId, 140 @WebParam(name = "contextInfo") ContextInfo contextInfo) 141 throws InvalidParameterException, 142 MissingParameterException, 143 OperationFailedException, 144 PermissionDeniedException; 145 146 /** 147 * Gets a list of LprRosters associated with a given LprRoster 148 * Type and Lui. 149 * 150 * @param lprRosterTypeKey an identifier for an LprRoster Type 151 * @param luiId an identifier for a Lui 152 * @param contextInfo information containing the principalId and 153 * locale information about the caller of the service 154 * operation 155 * @return list of LprRosters of the given LprRoster Type and 156 * associated with the given Lui or an empty list if none 157 * found 158 * @throws InvalidParameterException contextInfo is not valid 159 * @throws MissingParameterException lprRosterTypeKey, luiId or 160 * contextInfo is missing or null 161 * @throws OperationFailedException unable to complete request 162 * @throws PermissionDeniedException an authorization failure occurred 163 */ 164 public List<LprRosterInfo> getLprRostersByTypeAndLui(@WebParam(name = "lprRosterTypeKey") String lprRosterTypeKey, 165 @WebParam(name = "luiId") String luiId, 166 @WebParam(name = "contextInfo") ContextInfo contextInfo) 167 throws InvalidParameterException, 168 MissingParameterException, 169 OperationFailedException, 170 PermissionDeniedException; 171 172 /** 173 * Searches for LprRosters that meet the given search criteria. 174 * 175 * @param criteria the search criteria 176 * @param contextInfo information containing the principalId and 177 * locale information about the caller of the service 178 * operation 179 * @return a list of LprRoster identifiers matching the criteria 180 * @throws InvalidParameterException criteria or contextInfo is 181 * not valid 182 * @throws MissingParameterException criteria or or contextInfo is 183 * missing or null 184 * @throws OperationFailedException unable to complete request 185 * @throws PermissionDeniedException an authorization failure occurred 186 */ 187 public List<String> searchForLprRosterIds(@WebParam(name = "criteria") QueryByCriteria criteria, 188 @WebParam(name = "contextInfo") ContextInfo contextInfo) 189 throws InvalidParameterException, 190 MissingParameterException, 191 OperationFailedException, 192 PermissionDeniedException; 193 194 /** 195 * Searches for LprRosters that meet the given search criteria. 196 * 197 * @param criteria the search criteria 198 * @param contextInfo information containing the principalId and 199 * locale information about the caller of the service 200 * operation 201 * @return a list of LprRosters matching the criteria 202 * @throws InvalidParameterException criteria or contextInfo is 203 * not valid 204 * @throws MissingParameterException criteria or or contextInfo is 205 * missing or null 206 * @throws OperationFailedException unable to complete request 207 * @throws PermissionDeniedException an authorization failure occurred 208 */ 209 public List<LprRosterInfo> searchForLprRosters(@WebParam(name = "criteria") QueryByCriteria criteria, 210 @WebParam(name = "contextInfo") ContextInfo contextInfo) 211 throws InvalidParameterException, 212 MissingParameterException, 213 OperationFailedException, 214 PermissionDeniedException; 215 216 /** 217 * Validates an LprRoster. Depending on the value of 218 * validationType, this validation could be limited to tests on 219 * just the current LprRoster and its directly contained 220 * sub-objects or expanded to perform all tests related to this 221 * LprRoster. If an identifier is present for the LprRoster 222 * (and/or one of its contained sub-objects) and a record is found 223 * for that identifier, the validation checks if the LprRoster can 224 * be updated to the new values. If an identifier is not present 225 * or a record does not exist, the validation checks if the 226 * LprRoster with the given data can be created. 227 * 228 * @param validationTypeKey the identifier for the validation Type 229 * @param lprRosterTypeKey the identifier for the LprRoster Type 230 * to be validated 231 * @param lprRosterInfo the LprRoster to be validated 232 * @param contextInfo information containing the principalId and 233 * locale information about the caller of the service 234 * operation 235 * @return a list of validation results or an empty list if 236 * validation succeeded 237 * @throws DoesNotExistException validationTypeKey or 238 * lprRosterTypeKey is not found 239 * @throws InvalidParameterException lprRosterInfo or contextInfo 240 * is not valid 241 * @throws MissingParameterException validationTypeKey, 242 * lprRosterTypeKey, lprRosterInfo, or contextInfo is 243 * missing or null 244 * @throws OperationFailedException unable to complete request 245 * @throws PermissionDeniedException an authorization failure occurred 246 */ 247 public List<ValidationResultInfo> validateLprRoster(@WebParam(name = "validationTypeKey") String validationTypeKey, 248 @WebParam(name = "lprRosterTypeKey") String lprRosterTypeKey, 249 @WebParam(name = "lprRosterInfo") LprRosterInfo lprRosterInfo, 250 @WebParam(name = "contextInfo") ContextInfo contextInfo) 251 throws DoesNotExistException, 252 InvalidParameterException, 253 MissingParameterException, 254 OperationFailedException, 255 PermissionDeniedException; 256 257 /** 258 * Creates a new LprRoster. The LprRoster Id, Type, and Meta 259 * information may not be set in the supplied data object. 260 * 261 * @param lprRosterTypeKey the identifier for the Type of 262 * LprRoster to be created 263 * @param lprRosterInfo the data with which to create the 264 * LprRoster 265 * @param contextInfo information containing the principalId and 266 * locale information about the caller of the service 267 * operation 268 * @return the new LprRoster 269 * @throws DataValidationErrorException supplied data is invalid 270 * @throws DoesNotExistException lprRosterTypeKey does not exist 271 * or is not supported 272 * @throws InvalidParameterException lprRosterInfo or contextInfo 273 * is not valid 274 * @throws MissingParameterException lprRosterTypeKey, 275 * lprRosterInfo, or contextInfo is missing or null 276 * @throws OperationFailedException unable to complete request 277 * @throws PermissionDeniedException an authorization failure occurred 278 * @throws ReadOnlyException an attempt at supplying information 279 * designated as read only 280 */ 281 public LprRosterInfo createLprRoster(@WebParam(name = "lprRosterTypeKey") String lprRosterTypeKey, 282 @WebParam(name = "lprRosterInfo") LprRosterInfo lprRosterInfo, 283 @WebParam(name = "contextInfo") ContextInfo contextInfo) 284 throws DataValidationErrorException, 285 DoesNotExistException, 286 InvalidParameterException, 287 MissingParameterException, 288 OperationFailedException, 289 PermissionDeniedException, 290 ReadOnlyException; 291 292 /** 293 * Updates an existing LprRoster. The LprRoster Id, Type, and Meta 294 * information may not be changed. 295 * 296 * @param lprRosterId the identifier for the LprRoster to be 297 * updated 298 * @param lprRosterInfo the new data for the LprRoster 299 * @param contextInfo information containing the principalId and 300 * locale information about the caller of the service 301 * operation 302 * @return the updated LprRoster 303 * @throws DataValidationErrorException supplied data is invalid 304 * @throws DoesNotExistException lprRosterId is not found 305 * @throws InvalidParameterException lprRosterInfo or contextInfo 306 * is not valid 307 * @throws MissingParameterException lprRosterId, lprRosterInfo, 308 * or contextInfo is missing or null 309 * @throws OperationFailedException unable to complete request 310 * @throws PermissionDeniedException an authorization failure occurred 311 * @throws ReadOnlyException an attempt at supplying information 312 * designated as read only 313 * @throws VersionMismatchException an optimistic locking failure 314 * or the action was attempted on an out of date version 315 */ 316 public LprRosterInfo updateLprRoster(@WebParam(name = "lprRosterId") String lprRosterId, 317 @WebParam(name = "lprRosterInfo") LprRosterInfo lprRosterInfo, 318 @WebParam(name = "contextInfo") ContextInfo contextInfo) 319 throws DataValidationErrorException, 320 DoesNotExistException, 321 InvalidParameterException, 322 MissingParameterException, 323 OperationFailedException, 324 PermissionDeniedException, 325 ReadOnlyException, 326 VersionMismatchException; 327 328 /** 329 * Deletes an existing LprRoster. 330 * 331 * @param lprRosterId the identifier for the LprRoster to be deleted 332 * @param contextInfo information containing the principalId and 333 * locale information about the caller of the service 334 * operation 335 * @return the status of the delete operation. This must always be 336 * true. 337 * @throws DoesNotExistException lprRosterId is not found 338 * @throws InvalidParameterException contextInfo is not valid 339 * @throws MissingParameterException lprRosterId or contextInfo is 340 * missing or null 341 * @throws OperationFailedException unable to complete request 342 * @throws PermissionDeniedException authorization failure 343 */ 344 public StatusInfo deleteLprRoster(@WebParam(name = "lprRosterId") String lprRosterId, 345 @WebParam(name = "contextInfo") ContextInfo contextInfo) 346 throws DoesNotExistException, 347 InvalidParameterException, 348 MissingParameterException, 349 OperationFailedException, 350 PermissionDeniedException; 351 352 /** 353 * Retrieves a single LprRosterEntry by an LprRosterEntry Id. 354 * 355 * @param lprRosterEntryId the identifier for the LprRosterEntry to be retrieved 356 * @param contextInfo information containing the principalId and 357 * locale information about the caller of the service 358 * operation 359 * @return the LprRosterEntry requested 360 * @throws DoesNotExistException lprRosterEntryId is not found 361 * @throws InvalidParameterException contextInfo is not valid 362 * @throws MissingParameterException lprRosterEntryId or 363 * contextInfo is missing or null 364 * @throws OperationFailedException unable to complete request 365 * @throws PermissionDeniedException an authorization failure occurred 366 */ 367 public LprRosterEntryInfo getLprRosterEntry(@WebParam(name = "lprRosterEntryId") String lprRosterEntryId, 368 @WebParam(name = "contextInfo") ContextInfo contextInfo) 369 throws DoesNotExistException, 370 InvalidParameterException, 371 MissingParameterException, 372 OperationFailedException, 373 PermissionDeniedException; 374 375 /** 376 * Retrieve a list of LprRosterEntriess from a list of 377 * LprRosterEntry Ids. The returned list may be in any order and 378 * if duplicate Ids are supplied, a unique set may or may not ber 379 * returned. 380 * 381 * @param lprRosterEntryIds a list of LprRosterEntry identifiers 382 * @param contextInfo information containing the principalId and 383 * locale information about the caller of the service 384 * operation 385 * @return a list of LprRosterEntries 386 * @throws DoesNotExistException a lprRosterEntryId in the list 387 * was not found 388 * @throws InvalidParameterException contextInfo is not valid 389 * @throws MissingParameterException lprRosterEntryIds, an Id in 390 * lprRosterIds, or contextInfo is missing or null 391 * @throws OperationFailedException unable to complete request 392 * @throws PermissionDeniedException an authorization failure occurred 393 */ 394 public List<LprRosterEntryInfo> getLprRosterEntriesByIds(@WebParam(name = "lprRosterEntryIds") List<String> lprRosterEntryIds, 395 @WebParam(name = "contextInfo") ContextInfo contextInfo) 396 throws DoesNotExistException, 397 InvalidParameterException, 398 MissingParameterException, 399 OperationFailedException, 400 PermissionDeniedException; 401 402 /** 403 * Retrieve a list of LprRosterENtryIds by LprRosterEntry Type. 404 * 405 * @param lprRosterEntryTypeKey an identifier for an 406 * LprRosterEntry Type 407 * @param contextInfo information containing the principalId and 408 * locale information about the caller of the service 409 * operation 410 * @return a list of LprRosterEntries identifiers matching 411 * lprRosterEntryTypeKey or an empty list of none found 412 * @throws InvalidParameterException contextInfo is not valid 413 * @throws MissingParameterException lprRosterEntryTypeKey 414 * or contextInfo is missing or null 415 * @throws OperationFailedException unable to complete request 416 * @throws PermissionDeniedException an authorization failure occurred 417 */ 418 public List<String> getLprRosterEntryIdsByType(@WebParam(name = "lprRosterEntryTypeKey") String lprRosterEntryTypeKey, 419 @WebParam(name = "contextInfo") ContextInfo contextInfo) 420 throws InvalidParameterException, 421 MissingParameterException, 422 OperationFailedException, 423 PermissionDeniedException; 424 425 /** 426 * This method returns all the LprRosterEntries for an LprRoster. 427 * The returned list will be ordered by LprRosterEntryInfo.position starting with position 1. 428 * 429 * @param lprRosterId an identifier for an LprRoster 430 * @param contextInfo information containing the principalId and 431 * locale information about the caller of the service 432 * operation 433 * @return a list of LprRosterEntries identifiers for the given 434 * LprRoster or an empty list of none found 435 * @throws InvalidParameterException contextInfo is not valid 436 * @throws MissingParameterException lprRosterId or contextInfo is 437 * missing or null 438 * @throws OperationFailedException unable to complete request 439 * @throws PermissionDeniedException an authorization failure occurred 440 */ 441 public List<LprRosterEntryInfo> getLprRosterEntriesByLprRoster(@WebParam(name = "lprRosterId") String lprRosterId, 442 @WebParam(name = "contextInfo") ContextInfo contextInfo) 443 throws InvalidParameterException, 444 MissingParameterException, 445 OperationFailedException, 446 PermissionDeniedException; 447 448 /** 449 * This method returns all the LprRosterEntries for an LPR. 450 * 451 * @param lprId an identifier for an Lpr 452 * @param contextInfo information containing the principalId and 453 * locale information about the caller of the service 454 * operation 455 * @return a list of LprRosterEntries identifiers for the given 456 * Lpr or an empty list of none found 457 * @throws InvalidParameterException contextInfo is not valid 458 * @throws MissingParameterException lprId or contextInfo is 459 * missing or null 460 * @throws OperationFailedException unable to complete request 461 * @throws PermissionDeniedException an authorization failure occurred 462 */ 463 public List<LprRosterEntryInfo> getLprRosterEntriesByLpr(@WebParam(name = "lprId") String lprId, 464 @WebParam(name = "contextInfo") ContextInfo contextInfo) 465 throws InvalidParameterException, 466 MissingParameterException, 467 OperationFailedException, 468 PermissionDeniedException; 469 470 /** 471 * This method returns all the LprRosterEntries to the given 472 * LprRoster and Lpr. 473 * 474 * @param lprRosterId an identifier for an LprRoster 475 * @param lprId an identifier for an Lpr 476 * @param contextInfo information containing the principalId and 477 * locale information about the caller of the service 478 * operation 479 * @return a list of LprRosterEntries identifiers for the given 480 * LprRoster and Lpr or an empty list of none found 481 * @throws InvalidParameterException contextInfo is not valid 482 * @throws MissingParameterException lprRosterId, lprId, or 483 * contextInfo is missing or null 484 * @throws OperationFailedException unable to complete request 485 * @throws PermissionDeniedException an authorization failure occurred 486 */ 487 public List<LprRosterEntryInfo> getLprRosterEntriesByLprRosterAndLpr(@WebParam(name = "lprRosterId") String lprRosterId, 488 @WebParam(name = "lprId") String lprId, 489 @WebParam(name = "contextInfo") ContextInfo contextInfo) 490 throws InvalidParameterException, 491 MissingParameterException, 492 OperationFailedException, 493 PermissionDeniedException; 494 495 /** 496 * Searches for LprRosterEntries that meet the given search 497 * criteria. 498 * 499 * @param criteria the search criteria 500 * @param contextInfo information containing the principalId and 501 * locale information about the caller of the service 502 * operation 503 * @return a list of LprRosterEntry identifiers matching the 504 * criteria 505 * @throws InvalidParameterException criteria or contextInfo is 506 * not valid 507 * @throws MissingParameterException criteria or or contextInfo is 508 * missing or null 509 * @throws OperationFailedException unable to complete request 510 * @throws PermissionDeniedException an authorization failure occurred 511 */ 512 public List<String> searchForLprRosterEntryIds(@WebParam(name = "criteria") QueryByCriteria criteria, 513 @WebParam(name = "contextInfo") ContextInfo contextInfo) 514 throws InvalidParameterException, 515 MissingParameterException, 516 OperationFailedException, 517 PermissionDeniedException; 518 519 /** 520 * Searches for LprRosterEntris that meet the given search 521 * criteria. 522 * 523 * @param criteria the search criteria 524 * @param contextInfo information containing the principalId and 525 * locale information about the caller of the service 526 * operation 527 * @return a list of LprRosterEntries matching the criteria 528 * @throws InvalidParameterException criteria or contextInfo is 529 * not valid 530 * @throws MissingParameterException criteria or or contextInfo is 531 * missing or null 532 * @throws OperationFailedException unable to complete request 533 * @throws PermissionDeniedException an authorization failure occurred 534 */ 535 public List<LprRosterEntryInfo> searchForLprRosterEntries(@WebParam(name = "criteria") QueryByCriteria criteria, 536 @WebParam(name = "contextInfo") ContextInfo contextInfo) 537 throws InvalidParameterException, 538 MissingParameterException, 539 OperationFailedException, 540 PermissionDeniedException; 541 542 /** 543 * Validates an LprRosterEntry. Depending on the value of 544 * validationType, this validation could be limited to tests on 545 * just the current LprRosterEntry and its directly contained 546 * sub-objects or expanded to perform all tests related to this 547 * LprRosterEntry. If an identifier is present for the 548 * LprRosterEntry (and/or one of its contained sub-objects) and a 549 * record is found for that identifier, the validation checks if 550 * the LprRosterEntry can be updated to the new values. If an 551 * identifier is not present or a record does not exist, the 552 * validation checks if the LprRosterEntry with the given data can 553 * be created. 554 * 555 * @param validationTypeKey the identifier for the validation Type 556 * @param lprRosterId the LprRoster of the LprRosterEntry 557 * @param lprId the Lpr of the LprRosterEntry 558 * @param lprRosterEntryTypeKey the identifier for the 559 * LprRosterEntry Type to be validated 560 * @param lprRosterEntryInfo the LprRosterEntry to be validated 561 * @param contextInfo information containing the principalId and 562 * locale information about the caller of the service 563 * operation 564 * @return a list of validation results or an empty list if 565 * validation succeeded 566 * @throws DoesNotExistException validationTypeKey, lprRosterId, 567 * or lprId, or lprRosterEntryTypeKey is not found 568 * @throws InvalidParameterException lprRosterEntryInfo or contextInfo 569 * is not valid 570 * @throws MissingParameterException validationTypeKey, 571 * lprRosterId, lprId, lprRosterTypeKey, lprRosterInfo, or 572 * lprRosterEntryInfo, or contextInfo is missing or null 573 * @throws OperationFailedException unable to complete request 574 * @throws PermissionDeniedException an authorization failure occurred 575 */ 576 public List<ValidationResultInfo> validateLprRosterEntry(@WebParam(name = "validationTypeKey") String validationTypeKey, 577 @WebParam(name = "lprRosterId") String lprRosterId, 578 @WebParam(name = "lprId") String lprId, 579 @WebParam(name = "lprRosterEntryTypeKey") String lprRosterEntryTypeKey, 580 @WebParam(name = "lprRosterEntryInfo") LprRosterEntryInfo lprRosterEntryInfo, 581 @WebParam(name = "contextInfo") ContextInfo contextInfo) 582 throws DoesNotExistException, 583 InvalidParameterException, 584 MissingParameterException, 585 OperationFailedException, 586 PermissionDeniedException; 587 588 /** 589 * Creates a new LprRosterEntry. The LprRosterEntry Id, 590 * LprRosterId, Lpr Id, Type, and Meta information may not be set 591 * in the supplied data object. 592 * 593 * @param lprRosterId the LprRoster of the LprRosterEntry 594 * @param lprId the Lpr of the LprRosterEntry 595 * @param lprRosterEntryTypeKey the identifier for the Type of 596 * LprRosterEntry to be created 597 * @param lprRosterEntryInfo the data with which to create the 598 * LprRoster 599 * @param contextInfo information containing the principalId and 600 * locale information about the caller of the service 601 * operation 602 * @return the new LprRosterEntry 603 * @throws DataValidationErrorException supplied data is invalid 604 * @throws DoesNotExistException lprRosterId, lprId, or 605 * lprRosterEntryTypeKey does not exist or is not 606 * supported 607 * @throws InvalidParameterException lprRosterEntryInfo or contextInfo 608 * is not valid 609 * @throws MissingParameterException lprRosterId, lprId, 610 * lprRosterEntryTypeKey, lprRosterInfo, or contextInfo is 611 * missing or null 612 * @throws OperationFailedException unable to complete request 613 * @throws PermissionDeniedException an authorization failure occurred 614 * @throws ReadOnlyException an attempt at supplying information 615 * designated as read only 616 */ 617 public LprRosterEntryInfo createLprRosterEntry(@WebParam(name = "lprRosterId") String lprRosterId, 618 @WebParam(name = "lprId") String lprId, 619 @WebParam(name = "lprRosterEntryTypeKey") String lprRosterEntryTypeKey, 620 @WebParam(name = "lprRosterEntryInfo") LprRosterEntryInfo lprRosterEntryInfo, 621 @WebParam(name = "contextInfo") ContextInfo contextInfo) 622 throws DataValidationErrorException, 623 DoesNotExistException, 624 InvalidParameterException, 625 MissingParameterException, 626 OperationFailedException, 627 PermissionDeniedException, 628 ReadOnlyException; 629 630 /** 631 * Updates an existing LprRosterEntry. The LprRosterEntry Id, 632 * Type, and Meta information may not be changed. 633 * 634 * @param lprRosterEntryId the identifier for the LprRosterEntry to 635 * be updated 636 * @param lprRosterEntryInfo the new data for the LprRosterEntry 637 * @param contextInfo information containing the principalId and 638 * locale information about the caller of the service 639 * operation 640 * @return the updated LprRosterEntry 641 * @throws DataValidationErrorException supplied data is invalid 642 * @throws DoesNotExistException lprRosterEntryId is not found 643 * @throws InvalidParameterException lprRosterEntryInfo or 644 * contextInfo is not valid 645 * @throws MissingParameterException lprRosterEntryId, 646 * lprRosterEntryInfo, or contextInfo is missing or null 647 * @throws OperationFailedException unable to complete request 648 * @throws PermissionDeniedException an authorization failure occurred 649 * @throws ReadOnlyException an attempt at supplying information 650 * designated as read only 651 * @throws VersionMismatchException an optimistic locking failure 652 * or the action was attempted on an out of date version 653 */ 654 public LprRosterEntryInfo updateLprRosterEntry(@WebParam(name = "lprRosterEntryId") String lprRosterEntryId, 655 @WebParam(name = "lprRosterEntryInfo") LprRosterEntryInfo lprRosterEntryInfo, 656 @WebParam(name = "contextInfo") ContextInfo contextInfo) 657 throws DataValidationErrorException, 658 DoesNotExistException, 659 InvalidParameterException, 660 MissingParameterException, 661 OperationFailedException, 662 PermissionDeniedException, 663 ReadOnlyException, 664 VersionMismatchException; 665 666 /** 667 * Deletes an existing LprRosterEntry. 668 * 669 * @param lprRosterEntryId the identifier for the LprRosterEntry 670 * to be deleted 671 * @param contextInfo information containing the principalId and 672 * locale information about the caller of the service 673 * operation 674 * @return the status of the delete operation. This must always be 675 * true. 676 * @throws DoesNotExistException lprRosterEntryId is not found 677 * @throws InvalidParameterException contextInfo is not valid 678 * @throws MissingParameterException lprRosterEntryId or 679 * contextInfo is missing or null 680 * @throws OperationFailedException unable to complete request 681 * @throws PermissionDeniedException authorization failure 682 */ 683 public StatusInfo deleteLprRosterEntry(@WebParam(name = "lprRosterEntryId") String lprRosterEntryId, 684 @WebParam(name = "contextInfo") ContextInfo contextInfo) 685 throws DoesNotExistException, 686 InvalidParameterException, 687 MissingParameterException, 688 OperationFailedException, 689 PermissionDeniedException; 690 691 /** 692 * Inserts an existing roster entry at a particular position on 693 * the roster. 694 * 695 * If another roster entry already exists at that particular 696 * position within the roster then this method "bumps down" the 697 * rest of the roster entries until there is an open position. 698 * 699 * @param lprRosterEntryId the id for the lpr roster entry to be moved. 700 * @param position the absolute position in the LprRoster 701 * @param contextInfo information containing the principalId and 702 * locale information about the caller of the service 703 * operation 704 * @throws DoesNotExistException lprRosterEntryId is not found 705 * @throws InvalidParameterException contextInfo is not valid 706 * @throws MissingParameterException lprRosterEntryId or 707 * contextInfo is missing or null 708 * @throws OperationFailedException unable to complete request 709 * @throws PermissionDeniedException an authorization failure occurred 710 */ 711 public StatusInfo moveLprRosterEntryToPosition(@WebParam(name = "lprRosterEntryId") String lprRosterEntryId, 712 @WebParam(name = "position") Integer position, 713 @WebParam(name = "contextInfo") ContextInfo contextInfo) 714 throws DoesNotExistException, 715 InvalidParameterException, 716 MissingParameterException, 717 OperationFailedException, 718 PermissionDeniedException; 719 720 /** 721 * Reorders all the LprRosterEntries setting their position to 722 * match the order within the specified list of LprRosterEntry 723 * Ids. 724 * 725 * This is a bulk method to reset the positions all of the entries 726 * in the LprRoster. 727 * 728 * Any entries in the LprRoster that are not specified in the 729 * supplied list are ordered by their existing position and placed 730 * at the end of the LprRosterEntries in the specified list. 731 * 732 * @param lprRosterId the LprRoster to reorder. All supplied 733 * LprRosterEntryIds must belong to the given LprRoster. 734 * @param lprRosterEntryIds an ordered list of LprRosterEntries 735 * @param contextInfo information containing the principalId and 736 * locale information about the caller of the service 737 * operation 738 * @throws DoesNotExistException an lprRosterEntryId in the list 739 * is not found 740 * @throws InvalidParameterException contextInfo is not valid 741 * @throws MissingParameterException lprRosterEntryIds, an Id in 742 * lprRosterEntryIds, or conetxtInfo is missing or null 743 * @throws OperationFailedException unable to complete request 744 * @throws PermissionDeniedException an authorization failure occurred 745 */ 746 public StatusInfo reorderLprRosterEntries(@WebParam(name = "lprRosterId") String lprRosterId, 747 @WebParam(name = "lprRosterEntryIds") List<String> lprRosterEntryIds, 748 @WebParam(name = "context") ContextInfo contextInfo) 749 throws DoesNotExistException, 750 InvalidParameterException, 751 MissingParameterException, 752 OperationFailedException, 753 PermissionDeniedException; 754 }