1 /* 2 * Copyright 2011 The Kuali Foundation 3 * 4 * Licensed under the Educational Community License, Version 2.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.osedu.org/licenses/ECL-2.0 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.courseregistration.service; 18 19 import org.kuali.rice.core.api.criteria.QueryByCriteria; 20 import org.kuali.student.enrollment.courseoffering.dto.RegistrationGroupInfo; 21 import org.kuali.student.enrollment.courseregistration.dto.ActivityRegistrationInfo; 22 import org.kuali.student.enrollment.courseregistration.dto.CourseRegistrationInfo; 23 import org.kuali.student.enrollment.courseregistration.dto.CreditLoadInfo; 24 import org.kuali.student.enrollment.courseregistration.dto.RegistrationRequestInfo; 25 import org.kuali.student.enrollment.courseregistration.dto.RegistrationRequestItemInfo; 26 import org.kuali.student.enrollment.courseregistration.infc.RegistrationRequestItem; 27 import org.kuali.student.r2.common.dto.ContextInfo; 28 import org.kuali.student.r2.common.dto.StatusInfo; 29 import org.kuali.student.r2.common.dto.ValidationResultInfo; 30 import org.kuali.student.r2.common.exceptions.AlreadyExistsException; 31 import org.kuali.student.r2.common.exceptions.DataValidationErrorException; 32 import org.kuali.student.r2.common.exceptions.DoesNotExistException; 33 import org.kuali.student.r2.common.exceptions.InvalidParameterException; 34 import org.kuali.student.r2.common.exceptions.MissingParameterException; 35 import org.kuali.student.r2.common.exceptions.OperationFailedException; 36 import org.kuali.student.r2.common.exceptions.PermissionDeniedException; 37 import org.kuali.student.r2.common.exceptions.ReadOnlyException; 38 import org.kuali.student.r2.common.exceptions.VersionMismatchException; 39 import org.kuali.student.r2.common.util.constants.CourseRegistrationServiceConstants; 40 41 import javax.jws.WebParam; 42 import javax.jws.WebService; 43 import javax.jws.soap.SOAPBinding; 44 import java.util.List; 45 46 /** 47 * The Course Registration Service is a Class II service supporting 48 * the process of registering a student in course(s) for a term. The 49 * service provides operations for creating and validating 50 * registration requests, registering for a course, and dropping a 51 * course. 52 * 53 * This service supports the concept of registration cart in the 54 * application and all of the transactional requests for registration 55 * are made through this service. As part of negotiating the student's 56 * registration, operations are provided to manage related exceptions 57 * and holds related to registration. 58 * 59 * @version 0.0.7 60 * @author Kuali Student Team (sambit) 61 */ 62 63 @WebService(name = "CourseRegistrationService", targetNamespace = CourseRegistrationServiceConstants.NAMESPACE) 64 @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED) 65 public interface CourseRegistrationService { 66 67 // CourseRegistration methods 68 69 /** 70 * Retrieves a single CourseRegistration by a CourseRegistration Id. 71 * 72 * @param courseRegistrationId the identifier for the 73 * CourseRegistration to be retrieved 74 * @param contextInfo information containing the principalId and 75 * locale information about the caller of the service 76 * operation 77 * @return the CourseRegistration requested 78 * @throws DoesNotExistException courseRegistrationId is not found 79 * @throws InvalidParameterException contextInfo is not valid 80 * @throws MissingParameterException courseRegistrationId or 81 * contextInfo is missing or null 82 * @throws OperationFailedException unable to complete request 83 * @throws PermissionDeniedException an authorization failure occurred 84 */ 85 public CourseRegistrationInfo getCourseRegistration(@WebParam(name = "courseRegistrationId") String courseRegistrationId, 86 @WebParam(name = "contextInfo") ContextInfo contextInfo) 87 throws DoesNotExistException, 88 InvalidParameterException, 89 MissingParameterException, 90 OperationFailedException, 91 PermissionDeniedException; 92 93 /** 94 * Retrieve a list of CourseRegistrations from a list of 95 * CourseRegistration Ids. The returned list may be in any order 96 * and if duplicate Ids are supplied, a unique set may or may not 97 * ber returned. 98 * 99 * @param courseRegistrationIds a list of CourseRegistration identifiers 100 * @param contextInfo information containing the principalId and 101 * locale information about the caller of the service 102 * operation 103 * @return a list of CourseRegistrations 104 * @throws DoesNotExistException a courseRegistrationId in the 105 * list was not found 106 * @throws InvalidParameterException contextInfo is not valid 107 * @throws MissingParameterException courseRegistrationIds, an Id 108 * in courseRegistrationIds, or contextInfo is missing or 109 * null 110 * @throws OperationFailedException unable to complete request 111 * @throws PermissionDeniedException an authorization failure occurred 112 */ 113 public List<CourseRegistrationInfo> getCourseRegistrationsByIds(@WebParam(name = "courseRegistrationIds") List<String> courseRegistrationIds, 114 @WebParam(name = "contextInfo") ContextInfo contextInfo) 115 throws DoesNotExistException, 116 InvalidParameterException, 117 MissingParameterException, 118 OperationFailedException, 119 PermissionDeniedException; 120 121 /** 122 * Retrieve a list of CourseRegistrationIds by CourseRegistration 123 * Type. 124 * 125 * @param courseRegistrationTypeKey an identifier for an 126 * CourseRegistration Type 127 * @param contextInfo information containing the principalId and 128 * locale information about the caller of the service 129 * operation 130 * @return a list of CourseRegistrations identifiers matching 131 * courseRegistrationTypeKey or an empty list of none found 132 * @throws InvalidParameterException contextInfo is not valid 133 * @throws MissingParameterException courseRegistrationTypeKey 134 * or contextInfo is missing or null 135 * @throws OperationFailedException unable to complete request 136 * @throws PermissionDeniedException an authorization failure occurred 137 */ 138 public List<String> getCourseRegistrationIdsByType(@WebParam(name = "courseRegistrationTypeKey") String courseRegistrationTypeKey, 139 @WebParam(name = "contextInfo") ContextInfo contextInfo) 140 throws InvalidParameterException, 141 MissingParameterException, 142 OperationFailedException, 143 PermissionDeniedException; 144 145 /** 146 * Gets a list of CourseRegistrations for a given Student. 147 * 148 * @param studentId an identifier for a Student 149 * @param contextInfo information containing the principalId and 150 * locale information about the caller of the service 151 * operation 152 * @return list of CourseRegistrations associated with the given 153 * Student or an empty list if none found 154 * @throws InvalidParameterException contextInfo is not valid 155 * @throws MissingParameterException studentId or contextInfo is 156 * missing or null 157 * @throws OperationFailedException unable to complete request 158 * @throws PermissionDeniedException an authorization failure occurred 159 */ 160 public List<CourseRegistrationInfo> getCourseRegistrationsByStudent(@WebParam(name = "studentId") String studentId, 161 @WebParam(name = "contextInfo") ContextInfo contextInfo) 162 throws InvalidParameterException, 163 MissingParameterException, 164 OperationFailedException, 165 PermissionDeniedException; 166 167 /** 168 * Gets a list of CourseRegistrations for a given CourseOffering. 169 * 170 * @param courseOfferingId an identifier for a CourseOffering 171 * @param contextInfo information containing the principalId and 172 * locale information about the caller of the service 173 * operation 174 * @return list of CourseRegistrations associated with the given 175 * CourseOffering or an empty list if none found 176 * @throws InvalidParameterException contextInfo is not valid 177 * @throws MissingParameterException courseOfferingId or 178 * contextInfo is missing or null 179 * @throws OperationFailedException unable to complete request 180 * @throws PermissionDeniedException an authorization failure occurred 181 */ 182 public List<CourseRegistrationInfo> getCourseRegistrationsByCourseOffering(@WebParam(name = "courseOfferingId") String courseOfferingId, 183 @WebParam(name = "contextInfo") ContextInfo contextInfo) 184 throws InvalidParameterException, 185 MissingParameterException, 186 OperationFailedException, 187 PermissionDeniedException; 188 189 /** 190 * Gets a list of CourseRegistrations for a given Student and 191 * CourseOffering. 192 * 193 * @param studentId an identifier for a Student 194 * @param courseOfferingId an identifier for a CourseOffering 195 * @param contextInfo information containing the principalId and 196 * locale information about the caller of the service 197 * operation 198 * @return list of CourseRegistrations associated with the given 199 * Student and CourseOffering or an empty list if none 200 * found 201 * @throws InvalidParameterException contextInfo is not valid 202 * @throws MissingParameterException studentId, courseOfferingId, 203 * or contextInfo is missing or null 204 * @throws OperationFailedException unable to complete request 205 * @throws PermissionDeniedException an authorization failure occurred 206 */ 207 public List<CourseRegistrationInfo> getCourseRegistrationsByStudentAndCourseOffering(@WebParam(name = "studentId") String studentId, 208 @WebParam(name = "courseOfferingId") String courseOfferingId, 209 @WebParam(name = "contextInfo") ContextInfo contextInfo) 210 throws InvalidParameterException, 211 MissingParameterException, 212 OperationFailedException, 213 PermissionDeniedException; 214 215 /** 216 * Gets a list of CourseRegistrations for a given Student and 217 * Term. 218 * 219 * @param studentId an identifier for a Student 220 * @param termId an identifier for a Term 221 * @param contextInfo information containing the principalId and 222 * locale information about the caller of the service 223 * operation 224 * @return list of CourseRegistrations associated with the given 225 * Student and CourseOffering or an empty list if none 226 * found 227 * @throws InvalidParameterException contextInfo is not valid 228 * @throws MissingParameterException studentId, termId, 229 * or contextInfo is missing or null 230 * @throws OperationFailedException unable to complete request 231 * @throws PermissionDeniedException an authorization failure occurred 232 */ 233 public List<CourseRegistrationInfo> getCourseRegistrationsByStudentAndTerm(@WebParam(name = "studentId") String studentId, 234 @WebParam(name = "termId") String termId, 235 @WebParam(name = "contextInfo") ContextInfo contextInfo) 236 throws InvalidParameterException, 237 MissingParameterException, 238 OperationFailedException, 239 PermissionDeniedException; 240 241 /** 242 * Searches for CourseRegistrations that meet the given search 243 * criteria. 244 * 245 * @param criteria the search criteria 246 * @param contextInfo information containing the principalId and 247 * locale information about the caller of the service 248 * operation 249 * @return a list of CourseRegistration identifiers matching the criteria 250 * @throws InvalidParameterException criteria or contextInfo is 251 * not valid 252 * @throws MissingParameterException criteria or or contextInfo is 253 * missing or null 254 * @throws OperationFailedException unable to complete request 255 * @throws PermissionDeniedException an authorization failure occurred 256 */ 257 public List<String> searchForCourseRegistrationIds(@WebParam(name = "criteria") QueryByCriteria criteria, 258 @WebParam(name = "contextInfo") ContextInfo contextInfo) 259 throws InvalidParameterException, 260 MissingParameterException, 261 OperationFailedException, 262 PermissionDeniedException; 263 264 /** 265 * Searches for CourseRegistrations that meet the given search 266 * criteria. 267 * 268 * @param criteria the search criteria 269 * @param contextInfo information containing the principalId and 270 * locale information about the caller of the service 271 * operation 272 * @return a list of CourseRegistrations matching the criteria 273 * @throws InvalidParameterException criteria or contextInfo is 274 * not valid 275 * @throws MissingParameterException criteria or or contextInfo is 276 * missing or null 277 * @throws OperationFailedException unable to complete request 278 * @throws PermissionDeniedException an authorization failure occurred 279 */ 280 public List<CourseRegistrationInfo> searchForCourseRegistrations(@WebParam(name = "criteria") QueryByCriteria criteria, 281 @WebParam(name = "contextInfo") ContextInfo contextInfo) 282 throws InvalidParameterException, 283 MissingParameterException, 284 OperationFailedException, 285 PermissionDeniedException; 286 287 // ActivityRegistration methods 288 289 /** 290 * Retrieves a single ActivityRegistration by an 291 * ActivityRegistration Id. 292 * 293 * @param activityRegistrationId the identifier for the 294 * ActivityRegistration to be retrieved 295 * @param contextInfo information containing the principalId and 296 * locale information about the caller of the service 297 * operation 298 * @return the ActivityRegistration requested 299 * @throws DoesNotExistException activityRegistrationId is not found 300 * @throws InvalidParameterException contextInfo is not valid 301 * @throws MissingParameterException activityRegistrationId or 302 * contextInfo is missing or null 303 * @throws OperationFailedException unable to complete request 304 * @throws PermissionDeniedException an authorization failure occurred 305 */ 306 public ActivityRegistrationInfo getActivityRegistration(@WebParam(name = "activityRegistrationId") String activityRegistrationId, 307 @WebParam(name = "contextInfo") ContextInfo contextInfo) 308 throws DoesNotExistException, 309 InvalidParameterException, 310 MissingParameterException, 311 OperationFailedException, 312 PermissionDeniedException; 313 314 /** 315 * Retrieve a list of ActivityRegistrations from a list of 316 * ActivityRegistration Ids. The returned list may be in any order 317 * and if duplicate Ids are supplied, a unique set may or may not 318 * ber returned. 319 * 320 * @param activityRegistrationIds a list of ActivityRegistration 321 * identifiers 322 * @param contextInfo information containing the principalId and 323 * locale information about the caller of the service 324 * operation 325 * @return a list of ActivityRegistrations 326 * @throws DoesNotExistException a activityRegistrationId in the 327 * list was not found 328 * @throws InvalidParameterException contextInfo is not valid 329 * @throws MissingParameterException activityRegistrationIds, an Id in 330 * activityRegistrationIds, or contextInfo is missing or null 331 * @throws OperationFailedException unable to complete request 332 * @throws PermissionDeniedException an authorization failure occurred 333 */ 334 public List<ActivityRegistrationInfo> getActivityRegistrationsByIds(@WebParam(name = "activityRegistrationIds") List<String> activityRegistrationIds, 335 @WebParam(name = "contextInfo") ContextInfo contextInfo) 336 throws DoesNotExistException, 337 InvalidParameterException, 338 MissingParameterException, 339 OperationFailedException, 340 PermissionDeniedException; 341 342 /** 343 * Retrieve a list of ActivityRegistrationIds by 344 * ActivityRegistration Type. 345 * 346 * @param activityRegistrationTypeKey an identifier for an 347 * ActivityRegistration Type 348 * @param contextInfo information containing the principalId and 349 * locale information about the caller of the service 350 * operation 351 * @return a list of ActivityRegistrations identifiers matching 352 * activityRegistrationTypeKey or an empty list of none 353 * found 354 * @throws InvalidParameterException contextInfo is not valid 355 * @throws MissingParameterException activityRegistrationTypeKey 356 * or contextInfo is missing or null 357 * @throws OperationFailedException unable to complete request 358 * @throws PermissionDeniedException an authorization failure occurred 359 */ 360 public List<String> getActivityRegistrationIdsByType(@WebParam(name = "activityRegistrationTypeKey") String activityRegistrationTypeKey, 361 @WebParam(name = "contextInfo") ContextInfo contextInfo) 362 throws InvalidParameterException, 363 MissingParameterException, 364 OperationFailedException, 365 PermissionDeniedException; 366 367 /** 368 * Gets a list of ActivityRegistrations for a CourseRegistration. 369 * 370 * @param courseRegistrationId an identifier for a CourseRegistration 371 * @param contextInfo information containing the principalId and 372 * locale information about the caller of the service 373 * operation 374 * @return list of ActivityRegistrations associated with the given 375 * CourseRegistration or an empty list if none found 376 * @throws InvalidParameterException contextInfo is not valid 377 * @throws MissingParameterException courseRegistrationId or 378 * contextInfo is missing or null 379 * @throws OperationFailedException unable to complete request 380 * @throws PermissionDeniedException an authorization failure occurred 381 */ 382 public List<ActivityRegistrationInfo> getActivityRegistrationsForCourseRegistration(@WebParam(name = "courseRegistrationId") String courseRegistrationId, 383 @WebParam(name = "contextInfo") ContextInfo contextInfo) 384 throws InvalidParameterException, 385 MissingParameterException, 386 OperationFailedException, 387 PermissionDeniedException; 388 389 /** 390 * Gets a list of ActivityRegistrations for a given Student. 391 * 392 * @param studentId an identifier for a Student 393 * @param contextInfo information containing the principalId and 394 * locale information about the caller of the service 395 * operation 396 * @return list of ActivityRegistrations associated with the given 397 * Student or an empty list if none found 398 * @throws InvalidParameterException contextInfo is not valid 399 * @throws MissingParameterException studentId or contextInfo is 400 * missing or null 401 * @throws OperationFailedException unable to complete request 402 * @throws PermissionDeniedException an authorization failure occurred 403 */ 404 public List<ActivityRegistrationInfo> getActivityRegistrationsByStudent(@WebParam(name = "studentId") String studentId, 405 @WebParam(name = "contextInfo") ContextInfo contextInfo) 406 throws InvalidParameterException, 407 MissingParameterException, 408 OperationFailedException, 409 PermissionDeniedException; 410 411 /** 412 * Gets a list of ActivityRegistrations for a given 413 * ActivityOffering. 414 * 415 * @param courseOfferingId an identifier for a ActivityOffering 416 * @param contextInfo information containing the principalId and 417 * locale information about the caller of the service 418 * operation 419 * @return list of ActivityRegistrations associated with the given 420 * ActivityOffering or an empty list if none found 421 * @throws InvalidParameterException contextInfo is not valid 422 * @throws MissingParameterException courseOfferingId or 423 * contextInfo is missing or null 424 * @throws OperationFailedException unable to complete request 425 * @throws PermissionDeniedException an authorization failure occurred 426 */ 427 public List<ActivityRegistrationInfo> getActivityRegistrationsByActivityOffering(@WebParam(name = "courseOfferingId") String courseOfferingId, 428 @WebParam(name = "contextInfo") ContextInfo contextInfo) 429 throws InvalidParameterException, 430 MissingParameterException, 431 OperationFailedException, 432 PermissionDeniedException; 433 434 /** 435 * Gets a list of ActivityRegistrations for a given Student and 436 * ActivityOffering. 437 * 438 * @param studentId an identifier for a Student 439 * @param courseOfferingId an identifier for a ActivityOffering 440 * @param contextInfo information containing the principalId and 441 * locale information about the caller of the service 442 * operation 443 * @return list of ActivityRegistrations associated with the given 444 * Student and ActivityOffering or an empty list if none 445 * found 446 * @throws InvalidParameterException contextInfo is not valid 447 * @throws MissingParameterException studentId, courseOfferingId, 448 * or contextInfo is missing or null 449 * @throws OperationFailedException unable to complete request 450 * @throws PermissionDeniedException an authorization failure occurred 451 */ 452 public List<ActivityRegistrationInfo> getActivityRegistrationsByStudentAndActivityOffering(@WebParam(name = "studentId") String studentId, 453 @WebParam(name = "courseOfferingId") String courseOfferingId, 454 @WebParam(name = "contextInfo") ContextInfo contextInfo) 455 throws InvalidParameterException, 456 MissingParameterException, 457 OperationFailedException, 458 PermissionDeniedException; 459 460 /** 461 * Gets a list of ActivityRegistrations for a given Student and 462 * Term. 463 * 464 * @param studentId an identifier for a Student 465 * @param termId an identifier for a Term 466 * @param contextInfo information containing the principalId and 467 * locale information about the caller of the service 468 * operation 469 * @return list of ActivityRegistrations associated with the given 470 * Student and ActivityOffering or an empty list if none 471 * found 472 * @throws InvalidParameterException contextInfo is not valid 473 * @throws MissingParameterException studentId, termId, 474 * or contextInfo is missing or null 475 * @throws OperationFailedException unable to complete request 476 * @throws PermissionDeniedException an authorization failure occurred 477 */ 478 public List<ActivityRegistrationInfo> getActivityRegistrationsByStudentAndTerm(@WebParam(name = "studentId") String studentId, 479 @WebParam(name = "termId") String termId, 480 @WebParam(name = "contextInfo") ContextInfo contextInfo) 481 throws InvalidParameterException, 482 MissingParameterException, 483 OperationFailedException, 484 PermissionDeniedException; 485 486 /** 487 * Searches for ActivityRegistrations that meet the given search 488 * criteria. 489 * 490 * @param criteria the search criteria 491 * @param contextInfo information containing the principalId and 492 * locale information about the caller of the service 493 * operation 494 * @return a list of ActivityRegistration identifiers matching the 495 * criteria 496 * @throws InvalidParameterException criteria or contextInfo is 497 * not valid 498 * @throws MissingParameterException criteria or or contextInfo is 499 * missing or null 500 * @throws OperationFailedException unable to complete request 501 * @throws PermissionDeniedException an authorization failure occurred 502 */ 503 public List<String> searchForActivityRegistrationIds(@WebParam(name = "criteria") QueryByCriteria criteria, 504 @WebParam(name = "contextInfo") ContextInfo contextInfo) 505 throws InvalidParameterException, 506 MissingParameterException, 507 OperationFailedException, 508 PermissionDeniedException; 509 510 /** 511 * Searches for ActivityRegistrations that meet the given search 512 * criteria. 513 * 514 * @param criteria the search criteria 515 * @param contextInfo information containing the principalId and 516 * locale information about the caller of the service 517 * operation 518 * @return a list of ActivityRegistrations matching the criteria 519 * @throws InvalidParameterException criteria or contextInfo is 520 * not valid 521 * @throws MissingParameterException criteria or or contextInfo is 522 * missing or null 523 * @throws OperationFailedException unable to complete request 524 * @throws PermissionDeniedException an authorization failure occurred 525 */ 526 public List<ActivityRegistrationInfo> searchForActivityRegistrations(@WebParam(name = "criteria") QueryByCriteria criteria, 527 @WebParam(name = "contextInfo") ContextInfo contextInfo) 528 throws InvalidParameterException, 529 MissingParameterException, 530 OperationFailedException, 531 PermissionDeniedException; 532 533 // RegistrationRequest methods 534 535 /** 536 * Retrieves a single RegistrationRequest by an 537 * RegistrationRequest Id. 538 * 539 * @param registrationRequestId the identifier for the 540 * RegistrationRequest to be retrieved 541 * @param contextInfo information containing the principalId and 542 * locale information about the caller of the service 543 * operation 544 * @return the RegistrationRequest requested 545 * @throws DoesNotExistException registrationRequestId is not found 546 * @throws InvalidParameterException contextInfo is not valid 547 * @throws MissingParameterException registrationRequestId or contextInfo is 548 * missing or null 549 * @throws OperationFailedException unable to complete request 550 * @throws PermissionDeniedException an authorization failure occurred 551 */ 552 public RegistrationRequestInfo getRegistrationRequest(@WebParam(name = "registrationRequestId") String registrationRequestId, 553 @WebParam(name = "contextInfo") ContextInfo contextInfo) 554 throws DoesNotExistException, 555 InvalidParameterException, 556 MissingParameterException, 557 OperationFailedException, 558 PermissionDeniedException; 559 560 /** 561 * Retrieve a list of RegistrationRequests from a list of 562 * RegistrationRequest Ids. The returned list may be in any order 563 * and if duplicate Ids are supplied, a unique set may or may not 564 * ber returned. 565 * 566 * @param registrationRequestIds a list of RegistrationRequest 567 * identifiers 568 * @param contextInfo information containing the principalId and 569 * locale information about the caller of the service 570 * operation 571 * @return a list of RegistrationRequests 572 * @throws DoesNotExistException a registrationRequestId in the 573 * list was not found 574 * @throws InvalidParameterException contextInfo is not valid 575 * @throws MissingParameterException registrationRequestIds, an Id in 576 * registrationRequestIds, or contextInfo is missing or null 577 * @throws OperationFailedException unable to complete request 578 * @throws PermissionDeniedException an authorization failure occurred 579 */ 580 public List<RegistrationRequestInfo> getRegistrationRequestsByIds(@WebParam(name = "registrationRequestIds") List<String> registrationRequestIds, 581 @WebParam(name = "contextInfo") ContextInfo contextInfo) 582 throws DoesNotExistException, 583 InvalidParameterException, 584 MissingParameterException, 585 OperationFailedException, 586 PermissionDeniedException; 587 588 /** 589 * Retrieve a list of RegistrationRequestIds by 590 * RegistrationRequest Type. 591 * 592 * @param registrationRequestTypeKey an identifier for an 593 * RegistrationRequest Type 594 * @param contextInfo information containing the principalId and 595 * locale information about the caller of the service 596 * operation 597 * @return a list of RegistrationRequests identifiers matching 598 * registrationRequestTypeKey or an empty list of none 599 * found 600 * @throws InvalidParameterException contextInfo is not valid 601 * @throws MissingParameterException registrationRequestTypeKey or 602 * contextInfo is missing or null 603 * @throws OperationFailedException unable to complete request 604 * @throws PermissionDeniedException an authorization failure occurred 605 */ 606 public List<String> getRegistrationRequestIdsByType(@WebParam(name = "registrationRequestTypeKey") String registrationRequestTypeKey, 607 @WebParam(name = "contextInfo") ContextInfo contextInfo) 608 throws InvalidParameterException, 609 MissingParameterException, 610 OperationFailedException, 611 PermissionDeniedException; 612 613 /** 614 * Gets a list of RegistrationRequests by requesting person Id. 615 * 616 * @param personId an identifier for a Person 617 * @param contextInfo information containing the principalId and 618 * locale information about the caller of the service 619 * operation 620 * @return list of RegistrationRequests associated with the given Lui or 621 * an empty list if none found 622 * @throws InvalidParameterException contextInfo is not valid 623 * @throws MissingParameterException personId 624 * or contextInfo is missing or null 625 * @throws OperationFailedException unable to complete request 626 * @throws PermissionDeniedException an authorization failure occurred 627 */ 628 public List<RegistrationRequestInfo> getRegistrationRequestsByRequestor(@WebParam(name = "pesonId") String personId, 629 @WebParam(name = "contextInfo") ContextInfo contextInfo) 630 throws InvalidParameterException, 631 MissingParameterException, 632 OperationFailedException, 633 PermissionDeniedException; 634 635 /** 636 * Gets a list of unsubmitted RegistrationRequests by requesting 637 * person Id and Term. 638 * 639 * @param requestorId an identifier for the person who is authoring the request 640 * @param termId an identifier for a Term 641 * @param contextInfo information containing the principalId and 642 * locale information about the caller of the service 643 * operation 644 * @return list of RegistrationRequests associated with the given Lui or 645 * an empty list if none found 646 * @throws InvalidParameterException contextInfo is not valid 647 * @throws MissingParameterException personId, termId, 648 * or contextInfo is missing or null 649 * @throws OperationFailedException unable to complete request 650 * @throws PermissionDeniedException an authorization failure occurred 651 */ 652 653 public List<RegistrationRequestInfo> getUnsubmittedRegistrationRequestsByRequestorAndTerm(@WebParam(name = "requestorId") String requestorId, 654 @WebParam(name = "termId") String termId, 655 @WebParam(name = "contextInfo") ContextInfo contextInfo) 656 throws InvalidParameterException, 657 MissingParameterException, 658 OperationFailedException, 659 PermissionDeniedException; 660 661 /** 662 * Searches for RegistrationRequests that meet the given search 663 * criteria. 664 * 665 * @param criteria the search criteria 666 * @param contextInfo information containing the principalId and 667 * locale information about the caller of the service 668 * operation 669 * @return a list of RegistrationRequest identifiers matching the 670 * criteria 671 * @throws InvalidParameterException criteria or contextInfo is 672 * not valid 673 * @throws MissingParameterException criteria or or contextInfo is 674 * missing or null 675 * @throws OperationFailedException unable to complete request 676 * @throws PermissionDeniedException an authorization failure occurred 677 */ 678 public List<String> searchForRegistrationRequestIds(@WebParam(name = "criteria") QueryByCriteria criteria, 679 @WebParam(name = "contextInfo") ContextInfo contextInfo) 680 throws InvalidParameterException, 681 MissingParameterException, 682 OperationFailedException, 683 PermissionDeniedException; 684 685 /** 686 * Searches for RegistrationRequests that meet the given search 687 * criteria. 688 * 689 * @param criteria the search criteria 690 * @param contextInfo information containing the principalId and 691 * locale information about the caller of the service 692 * operation 693 * @return a list of RegistrationRequests matching the criteria 694 * @throws InvalidParameterException criteria or contextInfo is 695 * not valid 696 * @throws MissingParameterException criteria or or contextInfo is 697 * missing or null 698 * @throws OperationFailedException unable to complete request 699 * @throws PermissionDeniedException an authorization failure occurred 700 */ 701 public List<RegistrationRequestInfo> searchForRegistrationRequests(@WebParam(name = "criteria") QueryByCriteria criteria, 702 @WebParam(name = "contextInfo") ContextInfo contextInfo) 703 throws InvalidParameterException, 704 MissingParameterException, 705 OperationFailedException, 706 PermissionDeniedException; 707 708 /** 709 * Validates a RegistrationRequest. Depending on the value of 710 * validationType, this validation could be limited to tests on 711 * just the current RegistrationRequest and its directly contained 712 * sub-objects or expanded to perform all tests related to this 713 * RegistrationRequest. If an identifier is present for the 714 * RegistrationRequest (and/or one of its contained sub-objects) 715 * and a record is found for that identifier, the validation 716 * checks if the RegistrationRequest can be updated to the new 717 * values. If an identifier is not present or a record does not 718 * exist, the validation checks if the RegistrationRequest with 719 * the given data can be created. 720 * 721 * @param validationTypeKey the identifier for the validation Type 722 * @param registrationRequestTypeKey the identifier for the 723 * RegistrationRequest Type to be validated 724 * @param registrationRequestInfo the RegistrationRequest to be validated 725 * @param contextInfo information containing the principalId and 726 * locale information about the caller of the service 727 * operation 728 * @return a list of validation results or an empty list if 729 * validation succeeded 730 * @throws DoesNotExistException validationTypeKey or 731 * registrationRequestTypeKey is not found 732 * @throws InvalidParameterException registrationRequestInfo or 733 * contextInfo is not valid 734 * @throws MissingParameterException validationTypeKey, 735 * registrationRequestTypeKey, registrationRequestInfo, or 736 * contextInfo is missing or null 737 * @throws OperationFailedException unable to complete request 738 * @throws PermissionDeniedException an authorization failure occurred 739 */ 740 public List<ValidationResultInfo> validateRegistrationRequest(@WebParam(name = "validationTypeKey") String validationTypeKey, 741 @WebParam(name = "registrationRequestTypeKey") String registrationRequestTypeKey, 742 @WebParam(name = "registrationRequestInfo") RegistrationRequestInfo registrationRequestInfo, 743 @WebParam(name = "contextInfo") ContextInfo contextInfo) 744 throws DoesNotExistException, 745 InvalidParameterException, 746 MissingParameterException, 747 OperationFailedException, 748 PermissionDeniedException; 749 750 /** 751 * Creates a new RegistrationRequest. The RegistrationRequest Id, 752 * Type, and Meta information may not be set in the supplied data 753 * object. 754 * 755 * @param registrationRequestTypeKey the identifier for the Type 756 * of RegistrationRequest to be created 757 * @param registrationRequestInfo the data with which to create 758 * the RegistrationRequest 759 * @param contextInfo information containing the principalId and 760 * locale information about the caller of the service 761 * operation 762 * @return the new RegistrationRequest 763 * @throws DataValidationErrorException supplied data is invalid 764 * @throws DoesNotExistException registrationRequestTypeKey does 765 * not exist or is not supported 766 * @throws InvalidParameterException registrationRequestInfo or 767 * contextInfo is not valid 768 * @throws MissingParameterException registrationRequestTypeKey, 769 * registrationRequestInfo, or contextInfo is missing or null 770 * @throws OperationFailedException unable to complete request 771 * @throws PermissionDeniedException an authorization failure occurred 772 * @throws ReadOnlyException an attempt at supplying information 773 * designated as read only 774 */ 775 public RegistrationRequestInfo createRegistrationRequest(@WebParam(name = "registrationRequestTypeKey") String registrationRequestTypeKey, 776 @WebParam(name = "registrationRequestInfo") RegistrationRequestInfo registrationRequestInfo, 777 @WebParam(name = "contextInfo") ContextInfo contextInfo) 778 throws DataValidationErrorException, 779 DoesNotExistException, 780 InvalidParameterException, 781 MissingParameterException, 782 OperationFailedException, 783 PermissionDeniedException, 784 ReadOnlyException; 785 786 /** 787 * A utiligy to create a new RegistrationRequest from an existing 788 * RegistrationRequest. Once a RegistrationRequest is submitted, 789 * it cannot be reused. If the registration fails, this method can 790 * be used to copy the contents of the failed request into a new 791 * request. 792 * 793 * @param registrationRequestId a RegistrationRequest from which to create 794 * the new one 795 * @param contextInfo information containing the principalId and 796 * locale information about the caller of the service 797 * operation 798 * @return the new RegistrationRequest 799 * @throws DoesNotExistException registrationRequestId does 800 * not exist 801 * @throws InvalidParameterException contextInfo is not valid 802 * @throws MissingParameterException registrationRequestId or 803 * contextInfo is missing or null 804 * @throws OperationFailedException unable to complete request 805 * @throws PermissionDeniedException an authorization failure occurred 806 */ 807 public RegistrationRequestInfo createRegistrationRequestFromExisting(@WebParam(name = "registrationRequestId") String registrationRequestId, 808 @WebParam(name = "contextInfo") ContextInfo contextInfo) 809 throws DoesNotExistException, 810 InvalidParameterException, 811 MissingParameterException, 812 OperationFailedException, 813 PermissionDeniedException; 814 815 /** 816 * Updates an existing Registration Request. The 817 * RegistrationRequest Id, Type, and Meta information may not be 818 * changed. 819 * 820 * @param registrationRequestId the identifier for the 821 * RegistrationRequest to be updated 822 * @param registrationRequestInfo the new data for the RegistrationRequest 823 * @param contextInfo information containing the principalId and 824 * locale information about the caller of the service 825 * operation 826 * @return the updated RegistrationRequest 827 * @throws DataValidationErrorException supplied data is invalid 828 * @throws DoesNotExistException registrationRequestId is not found 829 * @throws InvalidParameterException registrationRequestInfo or 830 * contextInfo is not valid 831 * @throws MissingParameterException registrationRequestId, 832 * registrationRequestInfo, or contextInfo is missing or 833 * null 834 * @throws OperationFailedException unable to complete request 835 * @throws PermissionDeniedException an authorization failure occurred 836 * @throws ReadOnlyException an attempt at supplying information 837 * designated as read only 838 * @throws VersionMismatchException an optimistic locking failure 839 * or the action was attempted on an out of date version 840 */ 841 public RegistrationRequestInfo updateRegistrationRequest(@WebParam(name = "registrationRequestId") String registrationRequestId, 842 @WebParam(name = "registrationRequestInfo") RegistrationRequestInfo registrationRequestInfo, 843 @WebParam(name = "contextInfo") ContextInfo contextInfo) 844 throws DataValidationErrorException, 845 DoesNotExistException, 846 InvalidParameterException, 847 MissingParameterException, 848 OperationFailedException, 849 PermissionDeniedException, 850 ReadOnlyException, 851 VersionMismatchException; 852 853 /** 854 * Updates the state of an existing RegistrationRequest to another 855 * state provided that it is valid to do so. 856 * 857 * @param registrationRequestId the identifier of the 858 * RegistrationRequest to be updated 859 * @param nextStateKey the State Key into which the identified 860 * RegistrationRequest will be placed if the operation 861 * succeeds 862 * @param contextInfo information containing the principalId and 863 * locale information about the caller of service operation 864 * @return status of the operation. This value must be true. 865 * @throws DoesNotExistException registrationRequestId not found 866 * @throws InvalidParameterException the contextInfo object is invalid 867 * @throws MissingParameterException registrationRequestId, 868 * nextStateKey, or contextInfo is missing or null 869 * @throws OperationFailedException unable to complete request 870 * @throws PermissionDeniedException authorization failure 871 */ 872 public StatusInfo changeRegistrationRequestState(@WebParam(name = "registrationRequestId") String registrationRequestId, 873 @WebParam(name = "nextStateKey") String nextStateKey, 874 @WebParam(name = "contextInfo") ContextInfo contextInfo) 875 throws DoesNotExistException, 876 InvalidParameterException, 877 MissingParameterException, 878 OperationFailedException, 879 PermissionDeniedException; 880 881 /** 882 * Deletes an existing RegistrationRequest. 883 * 884 * @param registrationRequestId the identifier for the 885 * RegistrationRequest to be deleted 886 * @param contextInfo information containing the principalId and 887 * locale information about the caller of the service 888 * operation 889 * @return the status of the delete operation. This must always be 890 * true. 891 * @throws DoesNotExistException registrationRequestId is not found 892 * @throws InvalidParameterException contextInfo is not valid 893 * @throws MissingParameterException registrationRequestId or 894 * contextInfo is missing or null 895 * @throws OperationFailedException unable to complete request 896 * @throws PermissionDeniedException authorization failure 897 */ 898 public StatusInfo deleteRegistrationRequest(@WebParam(name = "registrationRequestId") String registrationRequestId, 899 @WebParam(name = "contextInfo") ContextInfo contextInfo) 900 throws DoesNotExistException, 901 InvalidParameterException, 902 MissingParameterException, 903 OperationFailedException, 904 PermissionDeniedException; 905 906 /** 907 * Verifies a persisted RegistrationRequest for 908 * submission. validateRegistrationRequest() validates the data 909 * for persistence of the request itself. This method is intended 910 * as a final validation prior to submission and may perform 911 * additional checks, such as eligibility, course pre-requisites, 912 * and calculating credit load limits. 913 * 914 * @param registrationRequestId an identifier for a 915 * RegistrationRequest 916 * @param contextInfo information containing the principalId and 917 * locale information about the caller of the service 918 * operation 919 * @return a list of ValidationResults 920 * @throws DoesNotExistException registrationRequestId 921 * is not found 922 * @throws InvalidParameterException contextInfo is not valid 923 * @throws MissingParameterException registrationRequestId or 924 * contextInfo is missing or null 925 * @throws OperationFailedException unable to complete request 926 * @throws PermissionDeniedException an authorization failure occurred 927 */ 928 public List<ValidationResultInfo> verifyRegistrationRequestForSubmission(@WebParam(name = "registrationRequestId") String registrationRequestId, 929 @WebParam(name = "contextInfo") ContextInfo contextInfo) 930 throws DoesNotExistException, 931 InvalidParameterException, 932 MissingParameterException, 933 OperationFailedException, 934 PermissionDeniedException; 935 936 /** 937 * Submits a RegsitrationRequest. 938 * 939 * This method is transactional in that the processing for all items 940 * must complete or all the items must be rolled back. 941 * 942 * Note: "complete" does not mean the student got into the class. She could have been 943 * denied because the class was full or some other reason. Complete means all of the items were 944 * successfully processed and the results (whether successfully or not) happen as a single unit. 945 * 946 * @param registrationRequestId an identifier for a RegistrationRequest 947 * @param contextInfo information containing the principalId and 948 * locale information about the caller of the service 949 * operation 950 * @return the registration request updated based on the submit 951 * @throws AlreadyExistsException When the reg request is already submitted 952 * @throws DoesNotExistException registrationRequestId 953 * is not found 954 * @throws InvalidParameterException contextInfo is not valid 955 * @throws MissingParameterException registrationRequestId or 956 * contextInfo is missing or null 957 * @throws OperationFailedException unable to complete request 958 * @throws PermissionDeniedException an authorization failure occurred 959 */ 960 public RegistrationRequestInfo submitRegistrationRequest(@WebParam(name = "registrationRequestId") String registrationRequestId, 961 @WebParam(name = "contextInfo") ContextInfo contextInfo) 962 throws AlreadyExistsException, 963 DoesNotExistException, 964 InvalidParameterException, 965 MissingParameterException, 966 OperationFailedException, 967 PermissionDeniedException; 968 969 /** 970 * Retrieves a single RegistrationRequestItem by an RegistrationRequestItem Id. 971 * @param registrationRequestItemId the identifier for the RegistrationRequestItem to be retrieved 972 * @param contextInfo information containing the principalId and locale information about the caller of the service operation 973 * @return the RegistrationRequestItem requested 974 * @throws DoesNotExistException registrationRequestItemId is not found 975 * @throws InvalidParameterException contextInfo is not valid 976 * @throws MissingParameterException registrationRequestItemId or contextInfo is missing or null 977 * @throws OperationFailedException unable to complete request 978 * @throws PermissionDeniedException an authorization failure occurred 979 */ 980 public RegistrationRequestItemInfo getRegistrationRequestItem(@WebParam(name = "registrationRequestItemId") String registrationRequestItemId, 981 @WebParam(name = "contextInfo") ContextInfo contextInfo) 982 throws DoesNotExistException, 983 InvalidParameterException, 984 MissingParameterException, 985 OperationFailedException, 986 PermissionDeniedException; 987 988 /** 989 * Retrieves a list of RegistrationRequestItems from a list of RegistrationRequestItem Ids. The returned list may be 990 * in any order and if duplicate Ids are supplied, a unique set may or may not be returned. 991 * @param registrationRequestItemIds a list of RegistrationRequestItem identifiers 992 * @param contextInfo information containing the principalId and locale information about the caller of the service operation 993 * @return a list of RegistrationRequestItems 994 * @throws DoesNotExistException a registrationRequestItemId was not found 995 * @throws InvalidParameterException contextInfo is not valid 996 * @throws MissingParameterException registrationRequestItemIds, an Id in the registrationRequestItemIds, or contextInfo is missing or null 997 * @throws OperationFailedException unable to complete request 998 * @throws PermissionDeniedException an authorization failure occurred 999 */ 1000 public List<RegistrationRequestItemInfo> getRegistrationRequestItemsByIds(@WebParam(name = "registrationRequestItemIds") List<String> registrationRequestItemIds, 1001 @WebParam(name = "contextInfo") ContextInfo contextInfo) 1002 throws DoesNotExistException, 1003 InvalidParameterException, 1004 MissingParameterException, 1005 OperationFailedException, 1006 PermissionDeniedException; 1007 1008 /** 1009 * Retrieves a list of RegistrationRequestItem Ids by RegistrationRequestItem Type. 1010 * @param registrationRequestItemTypeKey an identifier for an RegistrationRequestItem Type 1011 * @param contextInfo information containing the principalId and locale information about the caller of the service operation 1012 * @return a list of RegistrationRequestItem identifiers matching registrationRequestItemTypeKey or an empty list if none found 1013 * @throws InvalidParameterException registrationRequestItemTypeKey or contextInfo is not valid 1014 * @throws MissingParameterException registrationRequestItemTypeKey or contextInfo is missing or null 1015 * @throws OperationFailedException unable to complete request 1016 * @throws PermissionDeniedException an authorization failure occurred 1017 */ 1018 public List<String> getRegistrationRequestItemIdsByType(@WebParam(name = "registrationRequestItemTypeKey") String registrationRequestItemTypeKey, 1019 @WebParam(name = "contextInfo") ContextInfo contextInfo) 1020 throws InvalidParameterException, 1021 MissingParameterException, 1022 OperationFailedException, 1023 PermissionDeniedException; 1024 1025 /** 1026 * Searches for RegistrationRequestItem Ids that meet the given search criteria. 1027 * @param criteria the search criteria 1028 * @param contextInfo information containing the principalId and locale information about the caller of the service operation 1029 * @return a list of RegistrationRequestItem identifiers matching the criteria 1030 * @throws InvalidParameterException criteria or contextInfo is not valid 1031 * @throws MissingParameterException criteria or contextInfo is missing or null 1032 * @throws OperationFailedException unable to complete request 1033 * @throws PermissionDeniedException an authorization failure occurred 1034 */ 1035 public List<String> searchForRegistrationRequestItemIds(@WebParam(name = "criteria") QueryByCriteria criteria, 1036 @WebParam(name = "contextInfo") ContextInfo contextInfo) 1037 throws InvalidParameterException, 1038 MissingParameterException, 1039 OperationFailedException, 1040 PermissionDeniedException; 1041 1042 /** 1043 * Searches for RegistrationRequestItems that meet the given search criteria. 1044 * @param criteria the search criteria 1045 * @param contextInfo information containing the principalId and locale information about the caller of the service operation 1046 * @return a list of RegistrationRequestItems matching the criteria 1047 * @throws InvalidParameterException criteria or contextInfo is not valid 1048 * @throws MissingParameterException criteria or contextInfo is missing or null 1049 * @throws OperationFailedException unable to complete request 1050 * @throws PermissionDeniedException an authorization failure occurred 1051 */ 1052 public List<RegistrationRequestItemInfo> searchForRegistrationRequestItems(@WebParam(name = "criteria") QueryByCriteria criteria, 1053 @WebParam(name = "contextInfo") ContextInfo contextInfo) 1054 throws InvalidParameterException, 1055 MissingParameterException, 1056 OperationFailedException, 1057 PermissionDeniedException; 1058 1059 /** 1060 * Gets the RegistrationRequestItems that resulted in or impacted 1061 * the given CourseRegistration. 1062 * 1063 * @param courseRegistrationId an identifier for a CourseRegistration 1064 * @param contextInfo information containing the principalId and 1065 * locale information about the caller of the service 1066 * operation 1067 * @return list of RegistrationRequests associated with the given 1068 * CourseRegistration or an empty list if none found 1069 * @throws InvalidParameterException contextInfo is not valid 1070 * @throws MissingParameterException personId 1071 * or contextInfo is missing or null 1072 * @throws OperationFailedException unable to complete request 1073 * @throws PermissionDeniedException an authorization failure occurred 1074 */ 1075 public List<RegistrationRequestItemInfo> getRegistrationRequestItemsForCourseRegistration(@WebParam(name = "courseRegistrationId") String courseRegistrationId, 1076 @WebParam(name = "contextInfo") ContextInfo contextInfo) 1077 throws InvalidParameterException, 1078 MissingParameterException, 1079 OperationFailedException, 1080 PermissionDeniedException; 1081 1082 /** 1083 * Validates an RegistrationRequestItem. Depending on the value of validationType, this validation could be limited to tests on just 1084 * the current RegistrationRequestItem and its directly contained sub-objects or expanded to perform all tests related to this 1085 * RegistrationRequestItem. If an identifier is present for the RegistrationRequestItem (and/or one of its contained sub-objects) and a record is 1086 * found for that identifier, the validation checks if the RegistrationRequestItem can be updated to the new values. If an identifier 1087 * is not present or a record does not exist, the validation checks if the RegistrationRequestItem with the given data can be created. 1088 * @param validationTypeKey the identifier for the validation Type 1089 * @param registrationRequestItemTypeKey the identifier for the RegistrationRequestItem Type to be validated 1090 * @param registrationRequestItemInfo the RegistrationRequestItemInfo to be validated 1091 * @param registrationRequestId the registrationRequestId 1092 * @param contextInfo information containing the principalId and locale information about the caller of the service operation 1093 * @return a list of validation results or an empty list if validation succeeded 1094 * @throws DoesNotExistException validationTypeKey or registrationRequestItemTypeKey is not found 1095 * @throws InvalidParameterException registrationRequestItemInfo or contextInfo is not valid 1096 * @throws MissingParameterException registrationRequestItemId or contextInfo is missing or null 1097 * @throws OperationFailedException unable to complete request 1098 * @throws PermissionDeniedException an authorization failure occurred 1099 */ 1100 public List<ValidationResultInfo> validateRegistrationRequestItem(@WebParam(name = "validationTypeKey") String validationTypeKey, 1101 @WebParam(name = "registrationRequestItemTypeKey") String registrationRequestItemTypeKey, 1102 @WebParam(name = "registrationRequestItemInfo") RegistrationRequestItemInfo registrationRequestItemInfo, 1103 @WebParam(name = "registrationRequestId") String registrationRequestId, 1104 @WebParam(name = "contextInfo") ContextInfo contextInfo) 1105 throws DoesNotExistException, 1106 InvalidParameterException, 1107 MissingParameterException, 1108 OperationFailedException, 1109 PermissionDeniedException; 1110 1111 1112 /** 1113 * Changes an existing Registration Request Item. 1114 * 1115 * This is a convenience operation so that the data associated with a single item may be changed without having to 1116 * resubmit the entire registration request. 1117 * 1118 * The RegistrationRequestItem Id, Type, and Meta information may not be changed. 1119 * @param registrationRequestItemId the identifier for the RegistrationRequestItem to be updated 1120 * @param registrationRequestItemInfo the new data for the RegistrationRequestItem 1121 * @param contextInfo information containing the principalId and locale information about the caller of the service operation 1122 * @return the updated RegistrationRequestItem 1123 * @throws DataValidationErrorException supplied data is invalid 1124 * @throws DoesNotExistException registrationRequestItemTypeKey does not exist or is not supported 1125 * @throws InvalidParameterException registrationRequestItemInfo or contextInfo is not valid 1126 * @throws MissingParameterException registrationRequestItemInfo, or contextInfo is missing or null 1127 * @throws OperationFailedException unable to complete request 1128 * @throws PermissionDeniedException an authorization failure occurred 1129 * @throws ReadOnlyException an attempt at supplying information designated as read only 1130 * @throws VersionMismatchException an optimistic locking failure or the action was attempted on an out of date version 1131 */ 1132 public RegistrationRequestItemInfo changeRegistrationRequestItem(@WebParam(name = "registrationRequestItemId") String registrationRequestItemId, 1133 @WebParam(name = "registrationRequestItemInfo") RegistrationRequestItemInfo registrationRequestItemInfo, 1134 @WebParam(name = "contextInfo") ContextInfo contextInfo) 1135 throws DataValidationErrorException, 1136 DoesNotExistException, 1137 InvalidParameterException, 1138 MissingParameterException, 1139 OperationFailedException, 1140 PermissionDeniedException, 1141 ReadOnlyException, 1142 VersionMismatchException; 1143 1144 1145 1146 /** 1147 * Gets list of RegistrationRequestItems resulting in or impacting 1148 * a Student's registration in a CourseOffering. 1149 * 1150 * @param courseOfferingId an identifier for a CourseOffering 1151 * @param studentId an identifier for a Student 1152 * @param contextInfo information containing the principalId and 1153 * locale information about the caller of the service 1154 * operation 1155 * @return list of RegistrationRequests associated with the given 1156 * CourseOffering or an empty list if none found 1157 * @throws InvalidParameterException contextInfo is not valid 1158 * @throws MissingParameterException courseOfferingId, personId, 1159 * or contextInfo is missing or null 1160 * @throws OperationFailedException unable to complete request 1161 * @throws PermissionDeniedException an authorization failure occurred 1162 */ 1163 public List<RegistrationRequestItemInfo> getRegistrationRequestItemsByCourseOfferingAndStudent(@WebParam(name = "courseOfferingId") String courseOfferingId, 1164 @WebParam(name = "studentId") String studentId, 1165 @WebParam(name = "contextInfo") ContextInfo contextInfo) 1166 throws InvalidParameterException, 1167 MissingParameterException, 1168 OperationFailedException, 1169 PermissionDeniedException; 1170 1171 /** 1172 * Checks if a student is eligible to enter the registration 1173 * process. 1174 * 1175 * @param studentId Identifier of the student 1176 * @param contextInfo information containing the principalId and 1177 * locale information about the caller of the service 1178 * operation 1179 * @return a list of errors, warnings, or informational messages 1180 * @throws DoesNotExistException studentId is not found 1181 * @throws InvalidParameterException contextInfo is not valid 1182 * @throws MissingParameterException studentId or contextInfo is 1183 * missing or null 1184 * @throws OperationFailedException unable to complete request 1185 * @throws PermissionDeniedException an authorization failure occurred 1186 */ 1187 /// yes, no, messages 1188 public List<ValidationResultInfo> checkStudentEligibility(@WebParam(name = "studentId") String studentId, 1189 @WebParam(name = "contextInfo") ContextInfo contextInfo) 1190 throws DoesNotExistException, 1191 InvalidParameterException, 1192 MissingParameterException, 1193 OperationFailedException, 1194 PermissionDeniedException; 1195 1196 /** 1197 * Checks the eligibility of a student to register in a particular 1198 * term. 1199 * 1200 * @param studentId an identifier of a Student 1201 * @param termId an identifier of a Term 1202 * @param contextInfo information containing the principalId and 1203 * locale information about the caller of the service 1204 * operation 1205 * @return a list of errors, warnings or informational messages 1206 * @throws DoesNotExistException studentId or termId is not found 1207 * @throws InvalidParameterException contextInfo is not valid 1208 * @throws MissingParameterException studentId, termId, or 1209 * contextInfo is missing or null 1210 * @throws OperationFailedException unable to complete request 1211 * @throws PermissionDeniedException an authorization failure occurred 1212 */ 1213 public List<ValidationResultInfo> checkStudentEligibilityForTerm(@WebParam(name = "studentId") String studentId, 1214 @WebParam(name = "termId") String termId, 1215 @WebParam(name = "contextInfo") ContextInfo contextInfo) 1216 throws DoesNotExistException, 1217 InvalidParameterException, 1218 MissingParameterException, 1219 OperationFailedException, 1220 PermissionDeniedException; 1221 1222 /** 1223 * Checks if the student is eligible to register for a particular course 1224 * offering. 1225 * 1226 * @param studentId an identifier of a Student 1227 * @param courseOfferingId an identifier of a CourseOffering 1228 * @param contextInfo information containing the principalId and 1229 * locale information about the caller of the service 1230 * operation 1231 * @return a list of errors, warnings or informational messages 1232 * @throws DoesNotExistException studentId or courseOfferingId is 1233 * not found 1234 * @throws InvalidParameterException contextInfo is not valid 1235 * @throws MissingParameterException studentId, courseOfferingId, 1236 * or contextInfo is missing or null 1237 * @throws OperationFailedException unable to complete request 1238 * @throws PermissionDeniedException an authorization failure occurred 1239 */ 1240 public List<ValidationResultInfo> checkStudentEligibiltyForCourseOffering(@WebParam(name = "studentId") String studentId, 1241 @WebParam(name = "courseOfferingId") String courseOfferingId, 1242 @WebParam(name = "contextInfo") ContextInfo contextInfo) 1243 throws DoesNotExistException, 1244 InvalidParameterException, 1245 MissingParameterException, 1246 OperationFailedException, 1247 PermissionDeniedException; 1248 1249 /** 1250 * Checks if the student is eligible to register for a particular 1251 * registration group. 1252 * 1253 * @param studentId an identifier of a Student 1254 * @param registrationGroupId an identifier of a RegistrationGroup 1255 * @param contextInfo information containing the principalId and 1256 * locale information about the caller of the service 1257 * operation 1258 * @return a list of errors, warnings or informational messages 1259 * @throws DoesNotExistException studentId or registrationGroupId 1260 * is not found 1261 * @throws InvalidParameterException contextInfo is not valid 1262 * @throws MissingParameterException studentId, 1263 * registrationGroupId, or contextInfo is missing or null 1264 * @throws OperationFailedException unable to complete request 1265 * @throws PermissionDeniedException an authorization failure occurred 1266 */ 1267 public List<ValidationResultInfo> checkStudentEligibiltyForRegistrationGroup(@WebParam(name = "studentId") String studentId, 1268 @WebParam(name = "registrationGroupId") String registrationGroupId, 1269 @WebParam(name = "contextInfo") ContextInfo contextInfo) 1270 throws DoesNotExistException, 1271 InvalidParameterException, 1272 MissingParameterException, 1273 OperationFailedException, 1274 PermissionDeniedException; 1275 1276 /** 1277 * Gets the Registration Groups for a CourseOffering for which the 1278 * given student is eligible to register. 1279 * 1280 * @param studentId an identifier of a Student 1281 * @param courseOfferingId an identifier of a CourseOffering 1282 * @param contextInfo information containing the principalId and 1283 * locale information about the caller of the service 1284 * operation 1285 * @return a list of RegistrationGroups 1286 * @throws DoesNotExistException studentId or courseOfferingId is 1287 * not found 1288 * @throws InvalidParameterException contextInfo is not valid 1289 * @throws MissingParameterException studentId, courseOfferingId, 1290 * or contextInfo is missing or null 1291 * @throws OperationFailedException unable to complete request 1292 * @throws PermissionDeniedException an authorization failure occurred 1293 */ 1294 public List<RegistrationGroupInfo> getEligibleRegistrationGroupsForStudentInCourseOffering(@WebParam(name = "studentId") String studentId, 1295 @WebParam(name = "courseOfferingId") String courseOfferingId, 1296 @WebParam(name = "contextInfo") ContextInfo contextInfo) 1297 throws DoesNotExistException, 1298 InvalidParameterException, 1299 MissingParameterException, 1300 OperationFailedException, 1301 PermissionDeniedException; 1302 1303 /** 1304 * Calculate the credit load for a given student in a given 1305 * RegistrationRequest. 1306 * 1307 * @param registrationRequestId an identifier of a RegistrationRequest 1308 * @param studentId an identifier of a Student 1309 * @param contextInfo information containing the principalId and 1310 * locale information about the caller of the service 1311 * operation 1312 * @return the credit load 1313 * @throws DoesNotExistException registrationRequestId is not 1314 * found or studentId not in RegistrationRequest 1315 * @throws InvalidParameterException contextInfo is not valid 1316 * @throws MissingParameterException registrationRequestId, or 1317 * contextInfo is missing or null 1318 * @throws OperationFailedException unable to complete request 1319 * @throws PermissionDeniedException an authorization failure occurred 1320 */ 1321 public CreditLoadInfo calculateCreditLoadForStudentRegistrationRequest(@WebParam(name = "registrationRequestId") String registrationRequestId, 1322 @WebParam(name = "studentId") String studentId, 1323 @WebParam(name = "contextInfo") ContextInfo contextInfo) 1324 throws DoesNotExistException, 1325 InvalidParameterException, 1326 MissingParameterException, 1327 OperationFailedException, 1328 PermissionDeniedException; 1329 1330 /** 1331 * Retrieves the available seat count for a particular course offering. It sums 1332 * up the available seats for individual registration groups under the same 1333 * course offering. 1334 * 1335 * @param courseOfferingId 1336 * @param context Information Containing the principalId and locale information about the caller of the service operation. 1337 * @return The available seat count for the specified CourseOffering. 1338 * @throws InvalidParameterException Invalid courseOfferingId in the input 1339 * @throws MissingParameterException Missing courseOfferingId in the input 1340 * @throws OperationFailedException Unable to complete request 1341 * @throws PermissionDeniedException Not authorized to do this operation 1342 */ 1343 // public Integer getAvailableSeatsForCourseOffering(@WebParam(name = "courseOfferingId") String courseOfferingId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; 1344 1345 1346 1347 /** 1348 * Get available seat count for the registration group. 1349 * 1350 * @param regGroupId Identifier of the registration group 1351 * @param context Information Containing the principalId and locale information about the caller of the service operation. 1352 * @return The available seat count for the specified Registration Group 1353 * @throws InvalidParameterException Invalid regGroupId in the input 1354 * @throws MissingParameterException Missing regGroupId in the input 1355 * @throws OperationFailedException Unable to complete request 1356 * @throws PermissionDeniedException Not authorized to do this operation 1357 */ 1358 // public Integer getAvailableSeatsForRegistrationGroup(@WebParam(name = "regGroupId") String regGroupId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; 1359 1360 /** 1361 * Gets the number of seats available for a particular student in a 1362 * registration group. 1363 * <p> 1364 * Implementation notes : Seats available for a student taking seat pool (if 1365 * any) into consideration. 1366 * 1367 * @param studentId Identifier of the student 1368 * @param regGroupId Identifier of the registration group 1369 * @param context Information Containing the principalId and locale information about the caller of the service operation. 1370 * @return The available seat count for the specified student in a specified RegistrationGroup. 1371 * @throws InvalidParameterException Invalid studentId or regGroupId in the 1372 * input 1373 * @throws MissingParameterException Missing studentId or regGroupId in the 1374 * input 1375 * @throws OperationFailedException Unable to complete request 1376 * @throws PermissionDeniedException Not authorized to do this operation 1377 */ 1378 // public Integer getAvailableSeatsForStudentInRegistrationGroup(@WebParam(name = "studentId") String studentId, @WebParam(name = "regGroupId") String regGroupId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; 1379 1380 /** 1381 * Returns the available seat count in a particular seat pool. This is an admin 1382 * support function to check the seat pool usage. 1383 * 1384 * @param seatPoolId Identifier of the seatPool 1385 * @param context Information Containing the principalId and locale information about the caller of the service operation. 1386 * @return The available seat count for the specified seat pool. 1387 * @throws InvalidParameterException Invalid seatPool in the input 1388 * @throws MissingParameterException Missing parameter seatPoolId in the input 1389 * @throws OperationFailedException Unable to complete request 1390 * @throws PermissionDeniedException Not authorized to do this operation 1391 */ 1392 // public Integer getAvailableSeatsInSeatPool(@WebParam(name = "seatPoolId") String seatPoolId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; 1393 }