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