Coverage Report - org.kuali.student.enrollment.courseregistration.service.CourseRegistrationService
 
Classes in this File Line Coverage Branch Coverage Complexity
CourseRegistrationService
N/A
N/A
1
 
 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  
     // CourseRegitsration 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 result in or impacting the
 942  
      * 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  
     public List<ValidationResultInfo> checkStudentEligibility(@WebParam(name = "studentId") String studentId, 
 1005  
                                                               @WebParam(name = "contextInfo") ContextInfo contextInfo) 
 1006  
         throws DoesNotExistException,
 1007  
                InvalidParameterException,
 1008  
                MissingParameterException, 
 1009  
                OperationFailedException, 
 1010  
                PermissionDeniedException;
 1011  
 
 1012  
     /**
 1013  
      * Checks the eligibility of a student to register in a particular
 1014  
      * term. 
 1015  
      *
 1016  
      * @param studentId an identifier of a Student
 1017  
      * @param termId an identifier of a Term
 1018  
      * @param contextInfo information containing the principalId and
 1019  
      *        locale information about the caller of the service
 1020  
      *        operation
 1021  
      * @return a list of errors, warnings or informational messages
 1022  
      * @throws DoesNotExistException studentId or termId is not found
 1023  
      * @throws InvalidParameterException contextInfo is not valid
 1024  
      * @throws MissingParameterException studentId, termId, or
 1025  
      *         contextInfo is missing or null
 1026  
      * @throws OperationFailedException unable to complete request
 1027  
      * @throws PermissionDeniedException an authorization failure occurred
 1028  
      */
 1029  
     public List<ValidationResultInfo> checkStudentEligibilityForTerm(@WebParam(name = "studentId") String studentId, 
 1030  
                                                                      @WebParam(name = "termId") String termId,
 1031  
                                                                      @WebParam(name = "contextInfo") ContextInfo contextInfo) 
 1032  
         throws DoesNotExistException,
 1033  
                InvalidParameterException,
 1034  
                MissingParameterException, 
 1035  
                OperationFailedException, 
 1036  
                PermissionDeniedException;
 1037  
 
 1038  
     /**
 1039  
      * Checks if the student is eligible to register for a particular course
 1040  
      * offering.
 1041  
      *
 1042  
      * @param studentId an identifier of a Student
 1043  
      * @param courseOfferingId an identifier of a CourseOffering
 1044  
      * @param contextInfo information containing the principalId and
 1045  
      *        locale information about the caller of the service
 1046  
      *        operation
 1047  
      * @return a list of errors, warnings or informational messages
 1048  
      * @throws DoesNotExistException studentId or courseOfferingId is
 1049  
      *         not found
 1050  
      * @throws InvalidParameterException contextInfo is not valid
 1051  
      * @throws MissingParameterException studentId, courseOfferingId,
 1052  
      *         or contextInfo is missing or null
 1053  
      * @throws OperationFailedException unable to complete request
 1054  
      * @throws PermissionDeniedException an authorization failure occurred
 1055  
      */
 1056  
     public List<ValidationResultInfo> checkStudentEligibiltyForCourseOffering(@WebParam(name = "studentId") String studentId, 
 1057  
                                                                               @WebParam(name = "courseOfferingId") String courseOfferingId,
 1058  
                                                                               @WebParam(name = "contextInfo") ContextInfo contextInfo) 
 1059  
         throws DoesNotExistException,
 1060  
                InvalidParameterException,
 1061  
                MissingParameterException, 
 1062  
                OperationFailedException, 
 1063  
                PermissionDeniedException;
 1064  
 
 1065  
     /**
 1066  
      * Checks if the student is eligible to register for a particular
 1067  
      * registration group. 
 1068  
      *
 1069  
      * @param studentId an identifier of a Student
 1070  
      * @param registrationGroupId an identifier of a RegistrationGroup
 1071  
      * @param contextInfo information containing the principalId and
 1072  
      *        locale information about the caller of the service
 1073  
      *        operation
 1074  
      * @return a list of errors, warnings or informational messages
 1075  
      * @throws DoesNotExistException studentId or registrationGroupId
 1076  
      *         is not found
 1077  
      * @throws InvalidParameterException contextInfo is not valid
 1078  
      * @throws MissingParameterException studentId,
 1079  
      *         registrationGroupId, or contextInfo is missing or null
 1080  
      * @throws OperationFailedException unable to complete request
 1081  
      * @throws PermissionDeniedException an authorization failure occurred
 1082  
      */
 1083  
     public List<ValidationResultInfo> checkStudentEligibiltyForRegistrationGroup(@WebParam(name = "studentId") String studentId, 
 1084  
                                                                                  @WebParam(name = "registrationGroupId") String registrationGroupId,
 1085  
                                                                                  @WebParam(name = "contextInfo") ContextInfo contextInfo) 
 1086  
         throws DoesNotExistException,
 1087  
                InvalidParameterException,
 1088  
                MissingParameterException, 
 1089  
                OperationFailedException, 
 1090  
                PermissionDeniedException;
 1091  
 
 1092  
     /**
 1093  
      * Gets the Registration Groups for a CourseOffering for which the
 1094  
      * given student is eligible to register.
 1095  
      * 
 1096  
      * @param studentId an identifier of a Student
 1097  
      * @param courseOfferingId an identifier of a CourseOffering
 1098  
      * @param contextInfo information containing the principalId and
 1099  
      *        locale information about the caller of the service
 1100  
      *        operation
 1101  
      * @return a list of RegistrationGroups
 1102  
      * @throws DoesNotExistException studentId or courseOfferingId is
 1103  
      *         not found
 1104  
      * @throws InvalidParameterException contextInfo is not valid
 1105  
      * @throws MissingParameterException studentId, courseOfferingId,
 1106  
      *         or contextInfo is missing or null
 1107  
      * @throws OperationFailedException unable to complete request
 1108  
      * @throws PermissionDeniedException an authorization failure occurred
 1109  
      */
 1110  
     public List<RegistrationGroupInfo> getEligibleRegistrationGroupsForStudentInCourseOffering(@WebParam(name = "studentId") String studentId, 
 1111  
                                                                                                @WebParam(name = "courseOfferingId") String courseOfferingId,
 1112  
                                                                                                @WebParam(name = "contextInfo") ContextInfo contextInfo) 
 1113  
         throws DoesNotExistException,
 1114  
                InvalidParameterException,
 1115  
                MissingParameterException, 
 1116  
                OperationFailedException, 
 1117  
                PermissionDeniedException;
 1118  
 
 1119  
     /**
 1120  
      * Calculate the credit load for each student in a given
 1121  
      * RegistrationRequest.
 1122  
      * 
 1123  
      * @param registrationRequestId an identifier of a RegistrationRequest
 1124  
      * @param contextInfo information containing the principalId and
 1125  
      *        locale information about the caller of the service
 1126  
      *        operation
 1127  
      * @return the credit load
 1128  
      * @throws DoesNotExistException registrationRequestId is not
 1129  
      *         found
 1130  
      * @throws InvalidParameterException contextInfo is not valid
 1131  
      * @throws MissingParameterException registrationRequestId, or
 1132  
      *         contextInfo is missing or null
 1133  
      * @throws OperationFailedException unable to complete request
 1134  
      * @throws PermissionDeniedException an authorization failure occurred
 1135  
      */
 1136  
     public List<CreditLoadInfo> calculateCreditLoadForRegistrationRequest(@WebParam(name = "registrationRequestId") String registrationRequestId, 
 1137  
                                                                           @WebParam(name = "contextInfo") ContextInfo contextInfo)
 1138  
         throws DoesNotExistException,
 1139  
                InvalidParameterException,
 1140  
                MissingParameterException, 
 1141  
                OperationFailedException, 
 1142  
                PermissionDeniedException;
 1143  
 
 1144  
     /**
 1145  
      * Retrieves the available seat count for a particular course offering. It sums
 1146  
      * up the available seats for individual registration groups under the same
 1147  
      * course offering.
 1148  
      * 
 1149  
      * @param courseOfferingId
 1150  
      * @param context  Information Containing the principalId and locale information about the caller of the service operation.
 1151  
      * @return The available seat count for the specified CourseOffering.
 1152  
      * @throws InvalidParameterException Invalid courseOfferingId in the input
 1153  
      * @throws MissingParameterException Missing courseOfferingId in the input
 1154  
      * @throws OperationFailedException Unable to complete request
 1155  
      * @throws PermissionDeniedException Not authorized to do this operation
 1156  
      */
 1157  
                                                //    public Integer getAvailableSeatsForCourseOffering(@WebParam(name = "courseOfferingId") String courseOfferingId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException,         MissingParameterException, OperationFailedException, PermissionDeniedException;
 1158  
 
 1159  
 
 1160  
                                                       
 1161  
     /**
 1162  
      * Get available seat count for the registration group.
 1163  
      * 
 1164  
      * @param regGroupId Identifier of the registration group
 1165  
      * @param context  Information Containing the principalId and locale information about the caller of the service operation.
 1166  
      * @return The available seat count for the specified Registration Group
 1167  
      * @throws InvalidParameterException Invalid regGroupId in the input
 1168  
      * @throws MissingParameterException Missing regGroupId in the input
 1169  
      * @throws OperationFailedException Unable to complete request
 1170  
      * @throws PermissionDeniedException Not authorized to do this operation
 1171  
      */
 1172  
                                                       //    public Integer getAvailableSeatsForRegistrationGroup(@WebParam(name = "regGroupId") String regGroupId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException,            MissingParameterException, OperationFailedException, PermissionDeniedException;
 1173  
 
 1174  
     /**
 1175  
      * Gets the number of seats available for a particular student in a
 1176  
      * registration group.
 1177  
      * <p>
 1178  
      * Implementation notes : Seats available for a student taking seat pool (if
 1179  
      * any) into consideration.
 1180  
      * 
 1181  
      * @param studentId Identifier of the student
 1182  
      * @param regGroupId Identifier of the registration group
 1183  
      * @param context  Information Containing the principalId and locale information about the caller of the service operation.
 1184  
      * @return The available seat count for the specified student in a specified RegistrationGroup.
 1185  
      * @throws InvalidParameterException Invalid studentId or regGroupId in the
 1186  
      *             input
 1187  
      * @throws MissingParameterException Missing studentId or regGroupId in the
 1188  
      *             input
 1189  
      * @throws OperationFailedException Unable to complete request
 1190  
      * @throws PermissionDeniedException Not authorized to do this operation
 1191  
      */
 1192  
                                                       //    public Integer getAvailableSeatsForStudentInRegistrationGroup(@WebParam(name = "studentId") String studentId, @WebParam(name = "regGroupId") String regGroupId,            @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1193  
 
 1194  
     /**
 1195  
      * Returns the available seat count in a particular seat pool. This is an admin
 1196  
      * support function to check the seat pool usage.
 1197  
      * 
 1198  
      * @param seatPoolId Identifier of the seatPool
 1199  
      * @param context  Information Containing the principalId and locale information about the caller of the service operation.
 1200  
      * @return The available seat count for the specified seat pool.
 1201  
      * @throws InvalidParameterException Invalid seatPool in the input
 1202  
      * @throws MissingParameterException Missing parameter seatPoolId in the input
 1203  
      * @throws OperationFailedException Unable to complete request
 1204  
      * @throws PermissionDeniedException Not authorized to do this operation
 1205  
      */
 1206  
                                                       //    public Integer getAvailableSeatsInSeatPool(@WebParam(name = "seatPoolId") String seatPoolId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException,            MissingParameterException, OperationFailedException, PermissionDeniedException;                                               
 1207  
 }