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