Coverage Report - org.kuali.student.r2.core.scheduling.service.SchedulingService
 
Classes in this File Line Coverage Branch Coverage Complexity
SchedulingService
N/A
N/A
1
 
 1  
 /*
 2  
  * Copyright 2012 The Kuali Foundation Licensed under the
 3  
  *  Educational Community License, Version 2.0 (the "License"); you may
 4  
  *  not use this file except in compliance with the License. You may
 5  
  *  obtain a copy of the License at
 6  
  *
 7  
  *   http://www.osedu.org/licenses/ECL-2.0
 8  
  *
 9  
  *  Unless required by applicable law or agreed to in writing,
 10  
  *  software distributed under the License is distributed on an "AS IS"
 11  
  *  BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 12  
  *  or implied. See the License for the specific language governing
 13  
  *  permissions and limitations under the License.
 14  
  */
 15  
 
 16  
 package org.kuali.student.r2.core.scheduling.service;
 17  
 
 18  
 import org.kuali.rice.core.api.criteria.QueryByCriteria;
 19  
 import org.kuali.student.r2.common.dto.ContextInfo;
 20  
 import org.kuali.student.r2.common.dto.StatusInfo;
 21  
 import org.kuali.student.r2.common.dto.TimeOfDayInfo;
 22  
 import org.kuali.student.r2.common.dto.ValidationResultInfo;
 23  
 import org.kuali.student.r2.common.exceptions.DataValidationErrorException;
 24  
 import org.kuali.student.r2.common.exceptions.DoesNotExistException;
 25  
 import org.kuali.student.r2.common.exceptions.InvalidParameterException;
 26  
 import org.kuali.student.r2.common.exceptions.MissingParameterException;
 27  
 import org.kuali.student.r2.common.exceptions.OperationFailedException;
 28  
 import org.kuali.student.r2.common.exceptions.PermissionDeniedException;
 29  
 import org.kuali.student.r2.common.exceptions.ReadOnlyException;
 30  
 import org.kuali.student.r2.common.exceptions.VersionMismatchException;
 31  
 import org.kuali.student.r2.core.scheduling.constants.SchedulingServiceConstants;
 32  
 import org.kuali.student.r2.core.scheduling.dto.ScheduleBatchInfo;
 33  
 import org.kuali.student.r2.core.scheduling.dto.ScheduleBatchRespInfo;
 34  
 import org.kuali.student.r2.core.scheduling.dto.ScheduleInfo;
 35  
 import org.kuali.student.r2.core.scheduling.dto.ScheduleRequestInfo;
 36  
 import org.kuali.student.r2.core.scheduling.dto.ScheduleRespInfo;
 37  
 import org.kuali.student.r2.core.scheduling.dto.TimeSlotInfo;
 38  
 
 39  
 import javax.jws.WebParam;
 40  
 import javax.jws.WebService;
 41  
 import javax.jws.soap.SOAPBinding;
 42  
 import java.util.List;
 43  
 
 44  
 /**
 45  
  * @Version 1.0
 46  
  * @Author Sri komandur@uw.edu
 47  
  */
 48  
 @WebService(name = "SchedulingService", serviceName = "SchedulingService", portName = "SchedulingService", targetNamespace = SchedulingServiceConstants.NAMESPACE)
 49  
 @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
 50  
 public interface SchedulingService {
 51  
 
 52  
     /**
 53  
      * Retrieves a Schedule
 54  
      *
 55  
      * @param scheduleId  unique Id of a Schedule
 56  
      * @param contextInfo Context information containing the principalId and
 57  
      *                    locale information about the caller of service
 58  
      *                    operation
 59  
      * @return the Schedule
 60  
      * @throws DoesNotExistException     scheduleId not found
 61  
      * @throws InvalidParameterException invalid contextInfo
 62  
      * @throws MissingParameterException scheduleId or contextInfo is missing or
 63  
      *                                   null
 64  
      * @throws OperationFailedException  unable to complete request
 65  
      * @throws PermissionDeniedException an authorization failure occurred
 66  
      */
 67  
     public ScheduleInfo getSchedule(@WebParam(name = "scheduleId") String scheduleId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 68  
 
 69  
     /**
 70  
      * Retrieves a list of Schedules corresponding to the given list of Schedule
 71  
      * Ids.
 72  
      *
 73  
      * @param scheduleIds list of Schedules to be retrieved
 74  
      * @param contextInfo Context information containing the principalId and
 75  
      *                    locale information about the caller of service
 76  
      *                    operation
 77  
      * @return a list of Schedules
 78  
      * @throws DoesNotExistException     a scheduleId in list not found
 79  
      * @throws InvalidParameterException invalid contextInfo
 80  
      * @throws MissingParameterException missing scheduleId or contextInfo is
 81  
      *                                   missing or null
 82  
      * @throws OperationFailedException  unable to complete request
 83  
      * @throws PermissionDeniedException an authorization failure occurred
 84  
      */
 85  
     public List<ScheduleInfo> getSchedulesByIds(@WebParam(name = "scheduleIds") List<String> scheduleIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 86  
 
 87  
     /**
 88  
      * Retrieves a list of Schedule Ids by Schedule Type.
 89  
      *
 90  
      * @param scheduleTypeKey an identifier for a Schedule Type
 91  
      * @param contextInfo     Context information containing the principalId and
 92  
      *                        locale information about the caller of service
 93  
      *                        operation
 94  
      * @return a list of Schedule identifiers matching scheduleTypeKey or an
 95  
      *         empty list if none found
 96  
      * @throws InvalidParameterException invalid contextInfo
 97  
      * @throws MissingParameterException scheduleTypeKey or contextInfo is
 98  
      *                                   missing or null
 99  
      * @throws OperationFailedException  unable to complete request
 100  
      * @throws PermissionDeniedException an authorization failure occurred
 101  
      */
 102  
     public List<String> getScheduleIdsByType(@WebParam(name = "scheduleTypeKey") String scheduleTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 103  
 
 104  
     /**
 105  
      * Searches for Schedules based on the criteria and returns a list of
 106  
      * Schedule identifiers which match the search criteria.
 107  
      *
 108  
      * @param criteria    the search criteria
 109  
      * @param contextInfo Context information containing the principalId and
 110  
      *                    locale information about the caller of service
 111  
      *                    operation
 112  
      * @return list of Schedule Ids
 113  
      * @throws InvalidParameterException invalid criteria or contextInfo
 114  
      * @throws MissingParameterException missing criteria or contextInfo
 115  
      * @throws OperationFailedException  unable to complete request
 116  
      * @throws PermissionDeniedException authorization failure
 117  
      */
 118  
     public List<String> searchForScheduleIds(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 119  
 
 120  
     /**
 121  
      * Searches for Schedules based on the criteria and returns a list of
 122  
      * Schedules which match the search criteria.
 123  
      *
 124  
      * @param criteria    the search criteria
 125  
      * @param contextInfo Context information containing the principalId and
 126  
      *                    locale information about the caller of service
 127  
      *                    operation
 128  
      * @return list of Schedules
 129  
      * @throws InvalidParameterException invalid criteria or contextInfo
 130  
      * @throws MissingParameterException missing criteria or contextInfo
 131  
      * @throws OperationFailedException  unable to complete request
 132  
      * @throws PermissionDeniedException authorization failure
 133  
      */
 134  
     public List<ScheduleInfo> searchForSchedules(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 135  
 
 136  
     /**
 137  
      * Validates a Schedule. Depending on the value of validationType, this
 138  
      * validation could be limited to tests on just the current Schedule and its
 139  
      * directly contained sub-objects or expanded to perform all tests related
 140  
      * to this Schedule. If an identifier is present for the Schedule (and/or
 141  
      * one of its contained sub-objects) and a record is found for that
 142  
      * identifier, the validation checks if the Schedule can be updated to the
 143  
      * new values. If an identifier is not present or a record does not exist,
 144  
      * the validation checks if the object with the given data can be created.
 145  
      *
 146  
      * @param validationTypeKey the identifier for the validation Type
 147  
      * @param scheduleTypeKey   the identifier for the schedule Type
 148  
      * @param scheduleInfo      detailed information about the schedule
 149  
      * @param contextInfo       Context information containing the principalId
 150  
      *                          and locale information about the caller of
 151  
      *                          service operation
 152  
      * @return a list of validation results or an empty list if validation
 153  
      *         succeeded
 154  
      * @throws DoesNotExistException     validationTypeKey, scheduleId, not
 155  
      *                                   found
 156  
      * @throws InvalidParameterException invalid scheduleInfo or contextInfo
 157  
      * @throws MissingParameterException validationTypeKey, scheduleId or
 158  
      *                                   contextInfo is missing or null
 159  
      * @throws OperationFailedException  unable to complete request
 160  
      * @throws PermissionDeniedException an authorization failure occurred
 161  
      */
 162  
     public List<ValidationResultInfo> validateSchedule(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "scheduleTypeKey") String scheduleTypeKey, @WebParam(name = "scheduleInfo") ScheduleInfo scheduleInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 163  
 
 164  
     /**
 165  
      * Creates a Schedule
 166  
      *
 167  
      * @param scheduleTypeKey the identifier for the schedule Type
 168  
      * @param scheduleInfo    detailed information about the schedule
 169  
      * @param contextInfo     Context information containing the principalId and
 170  
      *                        locale information about the caller of service
 171  
      *                        operation
 172  
      * @return detailed information about the schedule
 173  
      * @throws DataValidationErrorException supplied data is invalid
 174  
      * @throws DoesNotExistException        scheduleId does not exist
 175  
      * @throws InvalidParameterException    invalid scheduleInfo or contextInfo
 176  
      * @throws MissingParameterException    scheduleId or contextInfo is missing
 177  
      *                                      or null
 178  
      * @throws OperationFailedException     unable to complete request
 179  
      * @throws PermissionDeniedException    an authorization failure occurred
 180  
      * @throws ReadOnlyException            an attempt at supplying information
 181  
      *                                      designated as read only
 182  
      */
 183  
     public ScheduleInfo createSchedule(@WebParam(name = "scheduleTypeKey") String scheduleTypeKey, @WebParam(name = "scheduleInfo") ScheduleInfo scheduleInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 184  
 
 185  
     /**
 186  
      * Updates a schedule.
 187  
      *
 188  
      * @param scheduleId   identifier of the schedule  to be updated
 189  
      * @param scheduleInfo information about the object scheduleInfo to be
 190  
      *                     updated
 191  
      * @param contextInfo  context information containing the principalId and
 192  
      *                     locale information about the caller of service
 193  
      *                     operation
 194  
      * @return updated schedule information
 195  
      * @throws DataValidationErrorException one or more values invalid for this
 196  
      *                                      operation
 197  
      * @throws DoesNotExistException        scheduleId not found
 198  
      * @throws InvalidParameterException    invalid scheduleInfo or contextInfo
 199  
      * @throws MissingParameterException    scheduleId, scheduleInfo or
 200  
      *                                      contextInfo is missing or null
 201  
      * @throws OperationFailedException     unable to complete request
 202  
      * @throws PermissionDeniedException    an authorization failure occurred
 203  
      * @throws ReadOnlyException            an attempt at supplying information
 204  
      *                                      designated as read-only
 205  
      * @throws VersionMismatchException     optimistic locking failure or the
 206  
      *                                      action was attempted on an out of
 207  
      *                                      date version
 208  
      */
 209  
     public ScheduleInfo updateSchedule(@WebParam(name = "scheduleId") String scheduleId, @WebParam(name = "scheduleInfo") ScheduleInfo scheduleInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
 210  
 
 211  
     /**
 212  
      * Removes schedule relationship between a person and a slot.
 213  
      *
 214  
      * @param scheduleId  Schedule  identifier
 215  
      * @param contextInfo context information containing the principalId and
 216  
      *                    locale information about the caller of service
 217  
      *                    operation
 218  
      * @return status of the operation (success, failed)
 219  
      * @throws DoesNotExistException     scheduleId not found
 220  
      * @throws InvalidParameterException invalid contextInfo
 221  
      * @throws MissingParameterException scheduleId or contextInfo is missing or
 222  
      *                                   null
 223  
      * @throws OperationFailedException  unable to complete request
 224  
      * @throws PermissionDeniedException an authorization failure occurred
 225  
      */
 226  
     public StatusInfo deleteSchedule(@WebParam(name = "scheduleId") String scheduleId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 227  
 
 228  
     /**
 229  
      * Retrieves a ScheduleBatch
 230  
      *
 231  
      * @param scheduleBatchId a unique Id of a ScheduleBatch
 232  
      * @param contextInfo     Context information containing the principalId and
 233  
      *                        locale information about the caller of service
 234  
      *                        operation
 235  
      * @return the ScheduleBatch
 236  
      * @throws DoesNotExistException     scheduleBatchId not found
 237  
      * @throws InvalidParameterException invalid contextInfo
 238  
      * @throws MissingParameterException scheduleBatchId or contextInfo is
 239  
      *                                   missing or null
 240  
      * @throws OperationFailedException  unable to complete request
 241  
      * @throws PermissionDeniedException an authorization failure occurred
 242  
      */
 243  
     public ScheduleBatchInfo getScheduleBatch(@WebParam(name = "scheduleBatchId") String scheduleBatchId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 244  
 
 245  
     /**
 246  
      * Retrieves a list of ScheduleBatches corresponding to the given list of
 247  
      * ScheduleBatch Ids.
 248  
      *
 249  
      * @param scheduleBatchIds list of ScheduleBatches to be retrieved
 250  
      * @param contextInfo      Context information containing the principalId
 251  
      *                         and locale information about the caller of
 252  
      *                         service operation
 253  
      * @return a list of ScheduleBatches
 254  
      * @throws DoesNotExistException     a scheduleBatchId in list not found
 255  
      * @throws InvalidParameterException invalid contextInfo
 256  
      * @throws MissingParameterException missing scheduleBatchId or contextInfo
 257  
      *                                   is missing or null
 258  
      * @throws OperationFailedException  unable to complete request
 259  
      * @throws PermissionDeniedException an authorization failure occurred
 260  
      */
 261  
     public List<ScheduleBatchInfo> getScheduleBatchesByIds(@WebParam(name = "scheduleBatchIds") List<String> scheduleBatchIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 262  
 
 263  
     /**
 264  
      * Retrieves a list of ScheduleBatch Ids by ScheduleBatch Type.
 265  
      *
 266  
      * @param scheduleBatchTypeKey an identifier for a ScheduleBatch Type
 267  
      * @param contextInfo          Context information containing the
 268  
      *                             principalId and locale information about the
 269  
      *                             caller of service operation
 270  
      * @return a list of ScheduleBatch identifiers matching scheduleBatchTypeKey
 271  
      *         or an empty list if none found
 272  
      * @throws InvalidParameterException invalid contextInfo
 273  
      * @throws MissingParameterException scheduleBatchTypeKey or contextInfo is
 274  
      *                                   missing or null
 275  
      * @throws OperationFailedException  unable to complete request
 276  
      * @throws PermissionDeniedException an authorization failure occurred
 277  
      */
 278  
     public List<String> getScheduleBatchIdsByType(@WebParam(name = "scheduleBatchTypeKey") String scheduleBatchTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 279  
 
 280  
     /**
 281  
      * Retrieves a list of ScheduleBatches associated with a ScheduleRequest
 282  
      *
 283  
      * @param scheduleRequestId an identifier for a ScheduleBatch
 284  
      * @param contextInfo       Context information containing the principalId
 285  
      *                          and locale information about the caller of
 286  
      *                          service operation
 287  
      * @return a list of ScheduleRequest identifiers matching
 288  
      *         scheduleRequestTypeKey or an empty list if none found
 289  
      * @throws InvalidParameterException invalid contextInfo
 290  
      * @throws MissingParameterException scheduleRequestTypeKey or contextInfo
 291  
      *                                   is missing or null
 292  
      * @throws OperationFailedException  unable to complete request
 293  
      * @throws PermissionDeniedException an authorization failure occurred
 294  
      */
 295  
     public List<ScheduleBatchInfo> getScheduleBatchesForScheduleRequest(@WebParam(name = "scheduleRequestId") String scheduleRequestId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 296  
 
 297  
     /**
 298  
      * Searches for ScheduleBatches based on the criteria and returns a list of
 299  
      * ScheduleBatch identifiers which match the search criteria.
 300  
      *
 301  
      * @param criteria    the search criteria
 302  
      * @param contextInfo Context information containing the principalId and
 303  
      *                    locale information about the caller of service
 304  
      *                    operation
 305  
      * @return list of ScheduleBatch Ids
 306  
      * @throws InvalidParameterException invalid criteria or contextInfo
 307  
      * @throws MissingParameterException missing criteria or contextInfo
 308  
      * @throws OperationFailedException  unable to complete request
 309  
      * @throws PermissionDeniedException authorization failure
 310  
      */
 311  
     public List<String> searchForScheduleBatchIds(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 312  
 
 313  
     /**
 314  
      * Searches for ScheduleBatches based on the criteria and returns a list of
 315  
      * ScheduleBatches which match the search criteria.
 316  
      *
 317  
      * @param criteria    the search criteria
 318  
      * @param contextInfo Context information containing the principalId and
 319  
      *                    locale information about the caller of service
 320  
      *                    operation
 321  
      * @return list of ScheduleBatches
 322  
      * @throws InvalidParameterException invalid criteria or contextInfo
 323  
      * @throws MissingParameterException missing criteria or contextInfo
 324  
      * @throws OperationFailedException  unable to complete request
 325  
      * @throws PermissionDeniedException authorization failure
 326  
      */
 327  
     public List<ScheduleBatchInfo> searchForScheduleBatches(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 328  
 
 329  
     /**
 330  
      * Validates a ScheduleBatch. Depending on the value of validationType, this
 331  
      * validation could be limited to tests on just the current ScheduleBatch
 332  
      * and its directly contained sub-objects or expanded to perform all tests
 333  
      * related to this ScheduleBatch. If an identifier is present for the
 334  
      * ScheduleBatch (and/or one of its contained sub-objects) and a record is
 335  
      * found for that identifier, the validation checks if the ScheduleBatch can
 336  
      * be updated to the new values. If an identifier is not present or a record
 337  
      * does not exist, the validation checks if the object with the given data
 338  
      * can be created.
 339  
      *
 340  
      * @param validationTypeKey    the identifier for the validation Type
 341  
      * @param scheduleBatchTypeKey the identifier for the scheduleBatch Type
 342  
      * @param scheduleBatchInfo    detailed information about the scheduleBatch
 343  
      * @param contextInfo          Context information containing the
 344  
      *                             principalId and locale information about the
 345  
      *                             caller of service operation
 346  
      * @return a list of validation results or an empty list if validation
 347  
      *         succeeded
 348  
      * @throws DoesNotExistException     validationTypeKey, scheduleBatchId, not
 349  
      *                                   found
 350  
      * @throws InvalidParameterException invalid scheduleBatchInfo or
 351  
      *                                   contextInfo
 352  
      * @throws MissingParameterException validationTypeKey, scheduleBatchId or
 353  
      *                                   contextInfo is missing or null
 354  
      * @throws OperationFailedException  unable to complete request
 355  
      * @throws PermissionDeniedException an authorization failure occurred
 356  
      */
 357  
     public List<ValidationResultInfo> validateScheduleBatch(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "scheduleBatchTypeKey") String scheduleBatchTypeKey, @WebParam(name = "scheduleBatchInfo") ScheduleBatchInfo scheduleBatchInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 358  
 
 359  
     /**
 360  
      * Creates a ScheduleBatch
 361  
      *
 362  
      * @param scheduleBatchTypeKey the identifier for the scheduleBatch Type
 363  
      * @param scheduleBatchInfo    detailed information about the scheduleBatch
 364  
      * @param contextInfo          Context information containing the
 365  
      *                             principalId and locale information about the
 366  
      *                             caller of service operation
 367  
      * @return detailed information about the scheduleBatch
 368  
      * @throws DataValidationErrorException supplied data is invalid
 369  
      * @throws DoesNotExistException        scheduleBatchId does not exist
 370  
      * @throws InvalidParameterException    invalid scheduleBatchInfo or
 371  
      *                                      contextInfo
 372  
      * @throws MissingParameterException    scheduleBatchId or contextInfo is
 373  
      *                                      missing or null
 374  
      * @throws OperationFailedException     unable to complete request
 375  
      * @throws PermissionDeniedException    an authorization failure occurred
 376  
      * @throws ReadOnlyException            an attempt at supplying information
 377  
      *                                      designated as read only
 378  
      */
 379  
     public ScheduleBatchInfo createScheduleBatch(@WebParam(name = "scheduleBatchTypeKey") String scheduleBatchTypeKey, @WebParam(name = "scheduleBatchInfo") ScheduleBatchInfo scheduleBatchInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 380  
 
 381  
     /**
 382  
      * Updates a scheduleBatch.
 383  
      *
 384  
      * @param scheduleBatchId   identifier of the scheduleBatch to be updated
 385  
      * @param scheduleBatchInfo information about the object scheduleBatchInfo
 386  
      *                          to be updated
 387  
      * @param contextInfo       context information containing the principalId
 388  
      *                          and locale information about the caller of
 389  
      *                          service operation
 390  
      * @return updated scheduleBatch information
 391  
      * @throws DataValidationErrorException one or more values invalid for this
 392  
      *                                      operation
 393  
      * @throws DoesNotExistException        scheduleBatchId not found
 394  
      * @throws InvalidParameterException    invalid scheduleBatchInfo or
 395  
      *                                      contextInfo
 396  
      * @throws MissingParameterException    scheduleBatchId, scheduleBatchInfo
 397  
      *                                      or contextInfo is missing or null
 398  
      * @throws OperationFailedException     unable to complete request
 399  
      * @throws PermissionDeniedException    an authorization failure occurred
 400  
      * @throws ReadOnlyException            an attempt at supplying information
 401  
      *                                      designated as read-only
 402  
      * @throws VersionMismatchException     optimistic locking failure or the
 403  
      *                                      action was attempted on an out of
 404  
      *                                      date version
 405  
      */
 406  
     public ScheduleBatchInfo updateScheduleBatch(@WebParam(name = "scheduleBatchId") String scheduleBatchId, @WebParam(name = "scheduleBatchInfo") ScheduleBatchInfo scheduleBatchInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
 407  
 
 408  
     /**
 409  
      * Removes scheduleBatch relationship between a person and a slot.
 410  
      *
 411  
      * @param scheduleBatchId ScheduleBatch  identifier
 412  
      * @param contextInfo     context information containing the principalId and
 413  
      *                        locale information about the caller of service
 414  
      *                        operation
 415  
      * @return status of the operation (success, failed)
 416  
      * @throws DoesNotExistException     scheduleBatchId not found
 417  
      * @throws InvalidParameterException invalid contextInfo
 418  
      * @throws MissingParameterException scheduleBatchId or contextInfo is
 419  
      *                                   missing or null
 420  
      * @throws OperationFailedException  unable to complete request
 421  
      * @throws PermissionDeniedException an authorization failure occurred
 422  
      */
 423  
     public StatusInfo deleteScheduleBatch(@WebParam(name = "scheduleBatchId") String scheduleBatchId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 424  
 
 425  
     /**
 426  
      * Adds schedule requests to the batch
 427  
      *
 428  
      * @param scheduleRequestIds schedule requests to be added to the batch
 429  
      * @param scheduleBatchId    batch identifier
 430  
      * @param contextInfo        information containing the principalId and
 431  
      *                           locale information about the caller of service
 432  
      *                           operation
 433  
      * @return status of the operation (success, failed)
 434  
      * @throws DoesNotExistException     one of the scheduleRequestIds or
 435  
      *                                   scheduleBatchId is not found
 436  
      * @throws InvalidParameterException invalid contextInfo
 437  
      * @throws MissingParameterException scheduleRequestIds, scheduleBatchId or
 438  
      *                                   contextInfo is missing or null
 439  
      * @throws OperationFailedException  unable to complete request
 440  
      * @throws PermissionDeniedException an authorization failure occurred
 441  
      */
 442  
     public StatusInfo addScheduleRequestsToScheduleBatch(@WebParam(name = "scheduleRequestIds") List<String> scheduleRequestIds, @WebParam(name = "scheduleBatchId") List<String> scheduleBatchId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 443  
 
 444  
     /**
 445  
      * Removes schedule requests from the batch
 446  
      *
 447  
      * @param scheduleRequestIds schedule requests to be added to the batch
 448  
      * @param scheduleBatchId    batch identifier
 449  
      * @param contextInfo        information containing the principalId and
 450  
      *                           locale information about the caller of service
 451  
      *                           operation
 452  
      * @return status of the operation (success, failed)
 453  
      * @throws DoesNotExistException     one of the scheduleRequestIds or
 454  
      *                                   scheduleBatchId is not found
 455  
      * @throws InvalidParameterException invalid contextInfo
 456  
      * @throws MissingParameterException scheduleRequestIds, scheduleBatchId or
 457  
      *                                   contextInfo is missing or null
 458  
      * @throws OperationFailedException  unable to complete request
 459  
      * @throws PermissionDeniedException an authorization failure occurred
 460  
      */
 461  
     public StatusInfo removeScheduleRequestsFromScheduleBatch(@WebParam(name = "scheduleRequestIds") List<String> scheduleRequestIds, @WebParam(name = "scheduleBatchId") List<String> scheduleBatchId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 462  
 
 463  
     /**
 464  
      * Retrieves a ScheduleBatchResp
 465  
      *
 466  
      * @param scheduleBatchRespId a unique Id of a ScheduleBatchResp
 467  
      * @param contextInfo             Context information containing the
 468  
      *                                principalId and locale information about
 469  
      *                                the caller of service operation
 470  
      * @return the ScheduleBatchResp
 471  
      * @throws DoesNotExistException     scheduleBatchRespId not found
 472  
      * @throws InvalidParameterException invalid contextInfo
 473  
      * @throws MissingParameterException scheduleBatchRespId or contextInfo
 474  
      *                                   is missing or null
 475  
      * @throws OperationFailedException  unable to complete request
 476  
      * @throws PermissionDeniedException an authorization failure occurred
 477  
      */
 478  
     public ScheduleBatchRespInfo getScheduleBatchResp(@WebParam(name = "scheduleBatchRespId") String scheduleBatchRespId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 479  
 
 480  
     /**
 481  
      * Retrieves a list of ScheduleBatchResps corresponding to the given
 482  
      * list of ScheduleBatchResp Ids.
 483  
      *
 484  
      * @param scheduleBatchRespIds list of ScheduleBatchResps to be
 485  
      *                                 retrieved
 486  
      * @param contextInfo              Context information containing the
 487  
      *                                 principalId and locale information about
 488  
      *                                 the caller of service operation
 489  
      * @return a list of ScheduleBatchResps
 490  
      * @throws DoesNotExistException     a scheduleBatchRespId in list not
 491  
      *                                   found
 492  
      * @throws InvalidParameterException invalid contextInfo
 493  
      * @throws MissingParameterException missing scheduleBatchRespId or
 494  
      *                                   contextInfo is missing or null
 495  
      * @throws OperationFailedException  unable to complete request
 496  
      * @throws PermissionDeniedException an authorization failure occurred
 497  
      */
 498  
     public List<ScheduleBatchRespInfo> getScheduleBatchRespsByIds(@WebParam(name = "scheduleBatchRespIds") List<String> scheduleBatchRespIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 499  
 
 500  
     /**
 501  
      * Retrieves a list of ScheduleBatchResp Ids by ScheduleBatchResp
 502  
      * Type.
 503  
      *
 504  
      * @param scheduleBatchRespTypeKey an identifier for a ScheduleBatchResp
 505  
      *                                     Type
 506  
      * @param contextInfo                  Context information containing the
 507  
      *                                     principalId and locale information
 508  
      *                                     about the caller of service
 509  
      *                                     operation
 510  
      * @return a list of ScheduleBatchResp identifiers matching
 511  
      *         scheduleBatchRespTypeKey or an empty list if none found
 512  
      * @throws InvalidParameterException invalid contextInfo
 513  
      * @throws MissingParameterException scheduleBatchRespTypeKey or
 514  
      *                                   contextInfo is missing or null
 515  
      * @throws OperationFailedException  unable to complete request
 516  
      * @throws PermissionDeniedException an authorization failure occurred
 517  
      */
 518  
     public List<String> getScheduleBatchRespIdsByType(@WebParam(name = "scheduleBatchRespTypeKey") String scheduleBatchRespTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 519  
 
 520  
     /**
 521  
      * Retrieves a list of ScheduleBatchResps corresponding to the given
 522  
      * ScheduleBatch
 523  
      *
 524  
      * @param scheduleBatchId batch identifier
 525  
      * @param contextInfo     Context information containing the principalId and
 526  
      *                        locale information about the caller of service
 527  
      *                        operation
 528  
      * @return a list of ScheduleBatchResps
 529  
      * @throws DoesNotExistException     scheduleBatchId not found
 530  
      * @throws InvalidParameterException invalid contextInfo
 531  
      * @throws MissingParameterException scheduleBatchId or contextInfo is
 532  
      *                                   missing or null
 533  
      * @throws OperationFailedException  unable to complete request
 534  
      * @throws PermissionDeniedException an authorization failure occurred
 535  
      */
 536  
     public List<ScheduleBatchRespInfo> getScheduleBatchRespsByScheduleBatchRequest(@WebParam(name = "scheduleBatchId") String scheduleBatchId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 537  
 
 538  
     /**
 539  
      * Retrieves a ScheduleRequest
 540  
      *
 541  
      * @param scheduleRequestId a unique Id of a ScheduleRequest
 542  
      * @param contextInfo       Context information containing the principalId
 543  
      *                          and locale information about the caller of
 544  
      *                          service operation
 545  
      * @return the ScheduleRequest
 546  
      * @throws DoesNotExistException     scheduleRequestId not found
 547  
      * @throws InvalidParameterException invalid contextInfo
 548  
      * @throws MissingParameterException scheduleRequestId or contextInfo is
 549  
      *                                   missing or null
 550  
      * @throws OperationFailedException  unable to complete request
 551  
      * @throws PermissionDeniedException an authorization failure occurred
 552  
      */
 553  
     public ScheduleRequestInfo getScheduleRequest(@WebParam(name = "scheduleRequestId") String scheduleRequestId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 554  
 
 555  
     /**
 556  
      * Retrieves a list of ScheduleRequests corresponding to the given list of
 557  
      * ScheduleRequest Ids.
 558  
      *
 559  
      * @param scheduleRequestIds list of ScheduleRequests to be retrieved
 560  
      * @param contextInfo        Context information containing the principalId
 561  
      *                           and locale information about the caller of
 562  
      *                           service operation
 563  
      * @return a list of ScheduleRequests
 564  
      * @throws DoesNotExistException     a scheduleRequestId in list not found
 565  
      * @throws InvalidParameterException invalid contextInfo
 566  
      * @throws MissingParameterException missing scheduleRequestId or
 567  
      *                                   contextInfo is missing or null
 568  
      * @throws OperationFailedException  unable to complete request
 569  
      * @throws PermissionDeniedException an authorization failure occurred
 570  
      */
 571  
     public List<ScheduleRequestInfo> getScheduleRequestsByIds(@WebParam(name = "scheduleRequestIds") List<String> scheduleRequestIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 572  
 
 573  
     /**
 574  
      * Retrieves a list of ScheduleRequest Ids by ScheduleRequest Type.
 575  
      *
 576  
      * @param scheduleRequestTypeKey an identifier for a ScheduleRequest Type
 577  
      * @param contextInfo            Context information containing the
 578  
      *                               principalId and locale information about
 579  
      *                               the caller of service operation
 580  
      * @return a list of ScheduleRequest identifiers matching
 581  
      *         scheduleRequestTypeKey or an empty list if none found
 582  
      * @throws InvalidParameterException invalid contextInfo
 583  
      * @throws MissingParameterException scheduleRequestTypeKey or contextInfo
 584  
      *                                   is missing or null
 585  
      * @throws OperationFailedException  unable to complete request
 586  
      * @throws PermissionDeniedException an authorization failure occurred
 587  
      */
 588  
     public List<String> getScheduleRequestIdsByType(@WebParam(name = "scheduleRequestTypeKey") String scheduleRequestTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 589  
 
 590  
     /**
 591  
      * Retrieves a list of ScheduleRequest Ids by Ref Object Type.
 592  
      *
 593  
      * @param refObjectType an identifier for a ref object Type
 594  
      * @param refObjectId   an
 595  
      * @param contextInfo   Context information containing the principalId and
 596  
      *                      locale information about the caller of service
 597  
      *                      operation
 598  
      * @return a list of ScheduleRequest identifiers matching
 599  
      *         scheduleRequestTypeKey or an empty list if none found
 600  
      * @throws InvalidParameterException invalid contextInfo
 601  
      * @throws MissingParameterException scheduleRequestTypeKey or contextInfo
 602  
      *                                   is missing or null
 603  
      * @throws OperationFailedException  unable to complete request
 604  
      * @throws PermissionDeniedException an authorization failure occurred
 605  
      */
 606  
 
 607  
     public List<String> getScheduleRequestsByRefObject(@WebParam(name = "refObjectType") String refObjectType, @WebParam(name = "refObjectId") String refObjectId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 608  
 
 609  
     /**
 610  
      * Retrieves a list of ScheduleRequests associated with a ScheduleBatch
 611  
      *
 612  
      * @param scheduleBatchId an identifier for a ScheduleBatch
 613  
      * @param contextInfo     Context information containing the principalId and
 614  
      *                        locale information about the caller of service
 615  
      *                        operation
 616  
      * @return a list of ScheduleRequest identifiers matching
 617  
      *         scheduleRequestTypeKey or an empty list if none found
 618  
      * @throws InvalidParameterException invalid contextInfo
 619  
      * @throws MissingParameterException scheduleRequestTypeKey or contextInfo
 620  
      *                                   is missing or null
 621  
      * @throws OperationFailedException  unable to complete request
 622  
      * @throws PermissionDeniedException an authorization failure occurred
 623  
      */
 624  
     public List<ScheduleRequestInfo> getScheduleRequestsForScheduleBatch(@WebParam(name = "scheduleBatchId") String scheduleBatchId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 625  
 
 626  
 
 627  
     /**
 628  
      * Searches for ScheduleRequests based on the criteria and returns a list of
 629  
      * ScheduleRequest identifiers which match the search criteria.
 630  
      *
 631  
      * @param criteria    the search criteria
 632  
      * @param contextInfo Context information containing the principalId and
 633  
      *                    locale information about the caller of service
 634  
      *                    operation
 635  
      * @return list of ScheduleRequest Ids
 636  
      * @throws InvalidParameterException invalid criteria or contextInfo
 637  
      * @throws MissingParameterException missing criteria or contextInfo
 638  
      * @throws OperationFailedException  unable to complete request
 639  
      * @throws PermissionDeniedException authorization failure
 640  
      */
 641  
     public List<String> searchForScheduleRequestIds(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 642  
 
 643  
     /**
 644  
      * Searches for ScheduleRequests based on the criteria and returns a list of
 645  
      * ScheduleRequests which match the search criteria.
 646  
      *
 647  
      * @param criteria    the search criteria
 648  
      * @param contextInfo Context information containing the principalId and
 649  
      *                    locale information about the caller of service
 650  
      *                    operation
 651  
      * @return list of ScheduleRequests
 652  
      * @throws InvalidParameterException invalid criteria or contextInfo
 653  
      * @throws MissingParameterException missing criteria or contextInfo
 654  
      * @throws OperationFailedException  unable to complete request
 655  
      * @throws PermissionDeniedException authorization failure
 656  
      */
 657  
     public List<ScheduleRequestInfo> searchForScheduleRequests(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 658  
 
 659  
     /**
 660  
      * Validates a ScheduleRequest. Depending on the value of validationType,
 661  
      * this validation could be limited to tests on just the current
 662  
      * ScheduleRequest and its directly contained sub-objects or expanded to
 663  
      * perform all tests related to this ScheduleRequest. If an identifier is
 664  
      * present for the ScheduleRequest (and/or one of its contained sub-objects)
 665  
      * and a record is found for that identifier, the validation checks if the
 666  
      * ScheduleRequest can be updated to the new values. If an identifier is not
 667  
      * present or a record does not exist, the validation checks if the object
 668  
      * with the given data can be created.
 669  
      *
 670  
      * @param validationTypeKey      the identifier for the validation Type
 671  
      * @param scheduleRequestTypeKey the identifier for the scheduleRequest
 672  
      *                               Type
 673  
      * @param scheduleRequestInfo    detailed information about the
 674  
      *                               scheduleRequest
 675  
      * @param contextInfo            Context information containing the
 676  
      *                               principalId and locale information about
 677  
      *                               the caller of service operation
 678  
      * @return a list of validation results or an empty list if validation
 679  
      *         succeeded
 680  
      * @throws DoesNotExistException     validationTypeKey, scheduleRequestId,
 681  
      *                                   not found
 682  
      * @throws InvalidParameterException invalid scheduleRequestInfo or
 683  
      *                                   contextInfo
 684  
      * @throws MissingParameterException validationTypeKey, scheduleRequestId or
 685  
      *                                   contextInfo is missing or null
 686  
      * @throws OperationFailedException  unable to complete request
 687  
      * @throws PermissionDeniedException an authorization failure occurred
 688  
      */
 689  
     public List<ValidationResultInfo> validateScheduleRequest(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "scheduleRequestTypeKey") String scheduleRequestTypeKey, @WebParam(name = "scheduleRequestInfo") ScheduleRequestInfo scheduleRequestInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 690  
 
 691  
     /**
 692  
      * Creates a ScheduleRequest
 693  
      *
 694  
      * @param scheduleRequestTypeKey the identifier for the scheduleRequest
 695  
      *                               Type
 696  
      * @param scheduleRequestInfo    detailed information about the
 697  
      *                               scheduleRequest
 698  
      * @param contextInfo            Context information containing the
 699  
      *                               principalId and locale information about
 700  
      *                               the caller of service operation
 701  
      * @return detailed information about the scheduleRequest
 702  
      * @throws DataValidationErrorException supplied data is invalid
 703  
      * @throws DoesNotExistException        scheduleRequestId does not exist
 704  
      * @throws InvalidParameterException    invalid scheduleRequestInfo or
 705  
      *                                      contextInfo
 706  
      * @throws MissingParameterException    scheduleRequestId or contextInfo is
 707  
      *                                      missing or null
 708  
      * @throws OperationFailedException     unable to complete request
 709  
      * @throws PermissionDeniedException    an authorization failure occurred
 710  
      * @throws ReadOnlyException            an attempt at supplying information
 711  
      *                                      designated as read only
 712  
      */
 713  
     public ScheduleRequestInfo createScheduleRequest(@WebParam(name = "scheduleRequestTypeKey") String scheduleRequestTypeKey, @WebParam(name = "scheduleRequestInfo") ScheduleRequestInfo scheduleRequestInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 714  
 
 715  
     /**
 716  
      * Updates a scheduleRequest.
 717  
      *
 718  
      * @param scheduleRequestId   identifier of the scheduleRequest to be
 719  
      *                            updated
 720  
      * @param scheduleRequestInfo information about the object scheduleRequestInfo
 721  
      *                            to be updated
 722  
      * @param contextInfo         context information containing the principalId
 723  
      *                            and locale information about the caller of
 724  
      *                            service operation
 725  
      * @return updated scheduleRequest information
 726  
      * @throws DataValidationErrorException one or more values invalid for this
 727  
      *                                      operation
 728  
      * @throws DoesNotExistException        scheduleRequestId not found
 729  
      * @throws InvalidParameterException    invalid scheduleRequestInfo or
 730  
      *                                      contextInfo
 731  
      * @throws MissingParameterException    scheduleRequestId, scheduleRequestInfo
 732  
      *                                      or contextInfo is missing or null
 733  
      * @throws OperationFailedException     unable to complete request
 734  
      * @throws PermissionDeniedException    an authorization failure occurred
 735  
      * @throws ReadOnlyException            an attempt at supplying information
 736  
      *                                      designated as read-only
 737  
      * @throws VersionMismatchException     optimistic locking failure or the
 738  
      *                                      action was attempted on an out of
 739  
      *                                      date version
 740  
      */
 741  
     public ScheduleRequestInfo updateScheduleRequest(@WebParam(name = "scheduleRequestId") String scheduleRequestId, @WebParam(name = "scheduleRequestInfo") ScheduleRequestInfo scheduleRequestInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
 742  
 
 743  
     /**
 744  
      * Removes scheduleRequest relationship between a person and a slot.
 745  
      *
 746  
      * @param scheduleRequestId ScheduleRequest  identifier
 747  
      * @param contextInfo       context information containing the principalId
 748  
      *                          and locale information about the caller of
 749  
      *                          service operation
 750  
      * @return status of the operation (success, failed)
 751  
      * @throws DoesNotExistException     scheduleRequestId not found
 752  
      * @throws InvalidParameterException invalid contextInfo
 753  
      * @throws MissingParameterException scheduleRequestId or contextInfo is
 754  
      *                                   missing or null
 755  
      * @throws OperationFailedException  unable to complete request
 756  
      * @throws PermissionDeniedException an authorization failure occurred
 757  
      */
 758  
     public StatusInfo deleteScheduleRequest(@WebParam(name = "scheduleRequestId") String scheduleRequestId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 759  
 
 760  
 
 761  
     /**
 762  
      * Retrieves a TimeSlot
 763  
      *
 764  
      * @param timeSlotId  a unique Id of a TimeSlot
 765  
      * @param contextInfo Context information containing the principalId and
 766  
      *                    locale information about the caller of service
 767  
      *                    operation
 768  
      * @return the TimeSlot
 769  
      * @throws DoesNotExistException     timeSlotId not found
 770  
      * @throws InvalidParameterException invalid contextInfo
 771  
      * @throws MissingParameterException timeSlotId or contextInfo is missing or
 772  
      *                                   null
 773  
      * @throws OperationFailedException  unable to complete request
 774  
      * @throws PermissionDeniedException an authorization failure occurred
 775  
      */
 776  
     public TimeSlotInfo getTimeSlot(@WebParam(name = "timeSlotId") String timeSlotId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 777  
 
 778  
     /**
 779  
      * Retrieves a list of TimeSlots corresponding to the given list of TimeSlot
 780  
      * Ids.
 781  
      *
 782  
      * @param timeSlotIds list of TimeSlots to be retrieved
 783  
      * @param contextInfo Context information containing the principalId and
 784  
      *                    locale information about the caller of service
 785  
      *                    operation
 786  
      * @return a list of TimeSlots
 787  
      * @throws DoesNotExistException     a timeSlotId in list not found
 788  
      * @throws InvalidParameterException invalid contextInfo
 789  
      * @throws MissingParameterException missing timeSlotId or contextInfo is
 790  
      *                                   missing or null
 791  
      * @throws OperationFailedException  unable to complete request
 792  
      * @throws PermissionDeniedException an authorization failure occurred
 793  
      */
 794  
     public List<TimeSlotInfo> getTimeSlotsByIds(@WebParam(name = "timeSlotIds") List<String> timeSlotIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 795  
 
 796  
     /**
 797  
      * Retrieves a list of TimeSlot Ids by TimeSlot Type.
 798  
      *
 799  
      * @param timeSlotTypeKey an identifier for an TimeSlot Type
 800  
      * @param contextInfo     Context information containing the principalId and
 801  
      *                        locale information about the caller of service
 802  
      *                        operation
 803  
      * @return a list of TimeSlot identifiers matching timeSlotTypeKey or an
 804  
      *         empty list if none found
 805  
      * @throws InvalidParameterException invalid contextInfo
 806  
      * @throws MissingParameterException timeSlotTypeKey or contextInfo is
 807  
      *                                   missing or null
 808  
      * @throws OperationFailedException  unable to complete request
 809  
      * @throws PermissionDeniedException an authorization failure occurred
 810  
      */
 811  
     public List<String> getTimeSlotIdsByType(@WebParam(name = "timeSlotTypeKey") String timeSlotTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 812  
 
 813  
     /**
 814  
      * Retrieves a list of TimeSlots by TimeSlot Type, days of week and start
 815  
      * time. Parameter daysOfWeek follows the Java standard: Sunday=1 to
 816  
      * Saturday=7
 817  
      *
 818  
      * @param timeSlotTypeKey identifier for the given slot type
 819  
      * @param daysOfWeek      days of the week of interest
 820  
      * @param startTime       start time of interest
 821  
      * @param contextInfo     Context information containing the principalId and
 822  
      *                        locale information about the caller of service
 823  
      *                        operation
 824  
      * @return a list of TimeSlots matching timeSlotTypeKey, daysOfWeek and
 825  
      *         startTime; empty list if none found
 826  
      * @throws InvalidParameterException invalid daysOfWeek, startTime or
 827  
      *                                   contextInfo
 828  
      * @throws MissingParameterException timeSlotTypeKey, daysOfWeek, startTime
 829  
      *                                   or contextInfo is missing or null
 830  
      * @throws OperationFailedException  unable to complete request
 831  
      * @throws PermissionDeniedException an authorization failure occurred
 832  
      */
 833  
     public List<TimeSlotInfo> getTimeSlotsByDaysAndStartTime(@WebParam(name = "timeSlotTypeKey") String timeSlotTypeKey, @WebParam(name = "daysOfWeek") List<Integer> daysOfWeek, @WebParam(name = "startTime") TimeOfDayInfo startTime, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 834  
 
 835  
     /**
 836  
      * Retrieves a list of TimeSlots by TimeSlot Type, days of week, start time
 837  
      * and end time. Parameter daysOfWeek follows the Java standard: Sunday=1 to
 838  
      * Saturday=7
 839  
      *
 840  
      * @param timeSlotTypeKey identifier for the given slot type
 841  
      * @param daysOfWeek      days of the week of interest
 842  
      * @param startTime       start time of interest
 843  
      * @param endTime        end time of interest
 844  
      * @param contextInfo     Context information containing the principalId and
 845  
      *                        locale information about the caller of service
 846  
      *                        operation
 847  
      * @return a list of TimeSlots matching timeSlotTypeKey, daysOfWeek,
 848  
      *         startTime and endTime; empty list if none found
 849  
      * @throws InvalidParameterException invalid daysOfWeek, startTime, end time
 850  
      *                                   or contextInfo
 851  
      * @throws MissingParameterException timeSlotTypeKey, daysOfWeek, startTime,
 852  
      *                                   endTime or contextInfo is missing or
 853  
      *                                   null
 854  
      * @throws OperationFailedException  unable to complete request
 855  
      * @throws PermissionDeniedException an authorization failure occurred
 856  
      */
 857  
     public List<TimeSlotInfo> getTimeSlotsByDaysAndStartTimeAndEndTime(@WebParam(name = "timeSlotTypeKey") String timeSlotTypeKey, @WebParam(name = "daysOfWeek") List<Integer> daysOfWeek, @WebParam(name = "startTime") TimeOfDayInfo startTime, @WebParam(name = "endTime") TimeOfDayInfo endTime, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 858  
 
 859  
     /**
 860  
      * Searches for TimeSlots based on the criteria and returns a list of
 861  
      * TimeSlot identifiers which match the search criteria.
 862  
      *
 863  
      * @param criteria    the search criteria
 864  
      * @param contextInfo Context information containing the principalId and
 865  
      *                    locale information about the caller of service
 866  
      *                    operation
 867  
      * @return list of TimeSlot Ids
 868  
      * @throws InvalidParameterException invalid criteria or contextInfo
 869  
      * @throws MissingParameterException missing criteria or contextInfo
 870  
      * @throws OperationFailedException  unable to complete request
 871  
      * @throws PermissionDeniedException authorization failure
 872  
      */
 873  
     public List<String> searchForTimeSlotIds(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 874  
 
 875  
     /**
 876  
      * Searches for TimeSlots based on the criteria and returns a list of
 877  
      * TimeSlots which match the search criteria.
 878  
      *
 879  
      * @param criteria    the search criteria
 880  
      * @param contextInfo Context information containing the principalId and
 881  
      *                    locale information about the caller of service
 882  
      *                    operation
 883  
      * @return list of TimeSlots
 884  
      * @throws InvalidParameterException invalid criteria or contextInfo
 885  
      * @throws MissingParameterException missing criteria or contextInfo
 886  
      * @throws OperationFailedException  unable to complete request
 887  
      * @throws PermissionDeniedException authorization failure
 888  
      */
 889  
     public List<TimeSlotInfo> searchForTimeSlots(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 890  
 
 891  
     /**
 892  
      * Validates an TimeSlot. Depending on the value of validationType, this
 893  
      * validation could be limited to tests on just the current TimeSlot and its
 894  
      * directly contained sub-objects or expanded to perform all tests related
 895  
      * to this TimeSlot. If an identifier is present for the TimeSlot (and/or
 896  
      * one of its contained sub-objects) and a record is found for that
 897  
      * identifier, the validation checks if the TimeSlot can be updated to the
 898  
      * new values. If an identifier is not present or a record does not exist,
 899  
      * the validation checks if the object with the given data can be created.
 900  
      *
 901  
      * @param validationTypeKey the identifier for the validation Type
 902  
      * @param timeSlotTypeKey   the identifier for the timeSlot Type
 903  
      * @param timeSlotInfo      detailed information about the timeSlot
 904  
      * @param contextInfo       Context information containing the principalId
 905  
      *                          and locale information about the caller of
 906  
      *                          service operation
 907  
      * @return a list of validation results or an empty list if validation
 908  
      *         succeeded
 909  
      * @throws DoesNotExistException     validationTypeKey, timeSlotId, not
 910  
      *                                   found
 911  
      * @throws InvalidParameterException invalid timeSlotInfo or contextInfo
 912  
      * @throws MissingParameterException validationTypeKey, timeSlotId or
 913  
      *                                   contextInfo is missing or null
 914  
      * @throws OperationFailedException  unable to complete request
 915  
      * @throws PermissionDeniedException an authorization failure occurred
 916  
      */
 917  
     public List<ValidationResultInfo> validateTimeSlot(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "timeSlotTypeKey") String timeSlotTypeKey, @WebParam(name = "timeSlotInfo") TimeSlotInfo timeSlotInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 918  
 
 919  
     /**
 920  
      * Creates a TimeSlot
 921  
      *
 922  
      * @param timeSlotTypeKey the identifier for the timeSlot Type
 923  
      * @param timeSlotInfo    detailed information about the timeSlot
 924  
      * @param contextInfo     Context information containing the principalId and
 925  
      *                        locale information about the caller of service
 926  
      *                        operation
 927  
      * @return detailed information about the timeSlot
 928  
      * @throws DataValidationErrorException supplied data is invalid
 929  
      * @throws DoesNotExistException        timeSlotId does not exist
 930  
      * @throws InvalidParameterException    invalid timeSlotInfo or contextInfo
 931  
      * @throws MissingParameterException    timeSlotId or contextInfo is missing
 932  
      *                                      or null
 933  
      * @throws OperationFailedException     unable to complete request
 934  
      * @throws PermissionDeniedException    an authorization failure occurred
 935  
      * @throws ReadOnlyException            an attempt at supplying information
 936  
      *                                      designated as read only
 937  
      */
 938  
     public TimeSlotInfo createTimeSlot(@WebParam(name = "timeSlotTypeKey") String timeSlotTypeKey, @WebParam(name = "timeSlotInfo") TimeSlotInfo timeSlotInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 939  
 
 940  
     /**
 941  
      * Updates a timeSlot.
 942  
      *
 943  
      * @param timeSlotId   identifier of the timeSlot  to be updated
 944  
      * @param timeSlotInfo information about the object timeSlotInfo to be
 945  
      *                     updated
 946  
      * @param contextInfo  context information containing the principalId and
 947  
      *                     locale information about the caller of service
 948  
      *                     operation
 949  
      * @return updated timeSlot information
 950  
      * @throws DataValidationErrorException one or more values invalid for this
 951  
      *                                      operation
 952  
      * @throws DoesNotExistException        timeSlotId not found
 953  
      * @throws InvalidParameterException    invalid timeSlotInfo or contextInfo
 954  
      * @throws MissingParameterException    timeSlotId, timeSlotInfo or
 955  
      *                                      contextInfo is missing or null
 956  
      * @throws OperationFailedException     unable to complete request
 957  
      * @throws PermissionDeniedException    an authorization failure occurred
 958  
      * @throws ReadOnlyException            an attempt at supplying information
 959  
      *                                      designated as read-only
 960  
      * @throws VersionMismatchException     optimistic locking failure or the
 961  
      *                                      action was attempted on an out of
 962  
      *                                      date version
 963  
      */
 964  
     public TimeSlotInfo updateTimeSlot(@WebParam(name = "timeSlotId") String timeSlotId, @WebParam(name = "timeSlotInfo") TimeSlotInfo timeSlotInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
 965  
 
 966  
     /**
 967  
      * Removes scheduleResp relationship between a person and a slot.
 968  
      *
 969  
      * @param timeSlotId  TimeSlot  identifier
 970  
      * @param contextInfo context information containing the principalId and
 971  
      *                    locale information about the caller of service
 972  
      *                    operation
 973  
      * @return status of the operation (success, failed)
 974  
      * @throws DoesNotExistException     timeSlotId not found
 975  
      * @throws InvalidParameterException invalid contextInfo
 976  
      * @throws MissingParameterException timeSlotId or contextInfo is missing or
 977  
      *                                   null
 978  
      * @throws OperationFailedException  unable to complete request
 979  
      * @throws PermissionDeniedException an authorization failure occurred
 980  
      */
 981  
     public StatusInfo deleteTimeSlot(@WebParam(name = "timeSlotId") String timeSlotId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 982  
 
 983  
     /**
 984  
      * Retrieves a ScheduleResp
 985  
      *
 986  
      * @param scheduleRespId a unique Id of a ScheduleResp
 987  
      * @param contextInfo        Context information containing the principalId
 988  
      *                           and locale information about the caller of
 989  
      *                           service operation
 990  
      * @return the ScheduleResp
 991  
      * @throws DoesNotExistException     scheduleRespId not found
 992  
      * @throws InvalidParameterException invalid contextInfo
 993  
      * @throws MissingParameterException scheduleRespId or contextInfo is
 994  
      *                                   missing or null
 995  
      * @throws OperationFailedException  unable to complete request
 996  
      * @throws PermissionDeniedException an authorization failure occurred
 997  
      */
 998  
     public ScheduleRespInfo getScheduleResp(@WebParam(name = "scheduleRespId") String scheduleRespId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 999  
 
 1000  
     /**
 1001  
      * Retrieves a list of ScheduleResps corresponding to the given list of
 1002  
      * ScheduleResp Ids Ids.
 1003  
      *
 1004  
      * @param scheduleRespIds list of ScheduleResps to be retrieved
 1005  
      * @param contextInfo         Context information containing the principalId
 1006  
      *                            and locale information about the caller of
 1007  
      *                            service operation
 1008  
      * @return a list of ScheduleResps
 1009  
      * @throws DoesNotExistException     a scheduleRespId in list not found
 1010  
      * @throws InvalidParameterException invalid contextInfo
 1011  
      * @throws MissingParameterException missing scheduleRespId or
 1012  
      *                                   contextInfo is missing or null
 1013  
      * @throws OperationFailedException  unable to complete request
 1014  
      * @throws PermissionDeniedException an authorization failure occurred
 1015  
      */
 1016  
     public List<ScheduleRespInfo> getScheduleRespsByIds(@WebParam(name = "scheduleRespIds") List<String> scheduleRespIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1017  
 
 1018  
     /**
 1019  
      * Retrieves a list of ScheduleResp Ids by ScheduleResp Type.
 1020  
      *
 1021  
      * @param scheduleRespTypeKey an identifier for a ScheduleResp Type
 1022  
      * @param contextInfo             Context information containing the
 1023  
      *                                principalId and locale information about
 1024  
      *                                the caller of service operation
 1025  
      * @return a list of ScheduleResp identifiers matching
 1026  
      *         scheduleRespTypeKey or an empty list if none found
 1027  
      * @throws InvalidParameterException invalid contextInfo
 1028  
      * @throws MissingParameterException scheduleRespTypeKey or contextInfo
 1029  
      *                                   is missing or null
 1030  
      * @throws OperationFailedException  unable to complete request
 1031  
      * @throws PermissionDeniedException an authorization failure occurred
 1032  
      */
 1033  
     public List<String> getScheduleRespIdsByType(@WebParam(name = "scheduleRespTypeKey") String scheduleRespTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1034  
 
 1035  
     /**
 1036  
      * Retrieves a list of ScheduleResps corresponding to the given list of
 1037  
      * Schedule Ids.
 1038  
      *
 1039  
      * @param scheduleRequestIds list of ScheduleResps to be retrieved
 1040  
      * @param contextInfo        Context information containing the principalId
 1041  
      *                           and locale information about the caller of
 1042  
      *                           service operation
 1043  
      * @return a list of ScheduleResps
 1044  
      * @throws DoesNotExistException     a scheduleRequestId in list not found
 1045  
      * @throws InvalidParameterException invalid contextInfo
 1046  
      * @throws MissingParameterException scheduleRequestIds or contextInfo is
 1047  
      *                                   missing or null
 1048  
      * @throws OperationFailedException  unable to complete request
 1049  
      * @throws PermissionDeniedException an authorization failure occurred
 1050  
      */
 1051  
     public List<ScheduleRespInfo> getScheduleRespsByScheduleRequestIds(@WebParam(name = "scheduleRequestIds") List<String> scheduleRequestIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1052  
 
 1053  
     /**
 1054  
      * Retrieves a list of ScheduleResps corresponding to the given list of
 1055  
      * ScheduleResp Ids.
 1056  
      *
 1057  
      * @param scheduleBatchRespId ScheduleBatchResp identifier
 1058  
      * @param contextInfo             Context information containing the
 1059  
      *                                principalId and locale information about
 1060  
      *                                the caller of service operation
 1061  
      * @return a list of ScheduleResps associated with a
 1062  
      *         ScheduleBatchResp identifier
 1063  
      * @throws DoesNotExistException     scheduleBatchRespId not found
 1064  
      * @throws InvalidParameterException invalid contextInfo
 1065  
      * @throws MissingParameterException scheduleBatchRespId or contextInfo
 1066  
      *                                   is missing or null
 1067  
      * @throws OperationFailedException  unable to complete request
 1068  
      * @throws PermissionDeniedException an authorization failure occurred
 1069  
      */
 1070  
     public List<ScheduleRespInfo> getScheduleRespsByScheduleBatchResp(@WebParam(name = "scheduleBatchRespId") String scheduleBatchRespId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1071  
 
 1072  
     /**
 1073  
      * Calls R25 in our implementation ... the scheduled results may not be
 1074  
      * available when this method returns. The method for scheduling
 1075  
      * ActivityOfferings may be in the CourseOffering service.
 1076  
      *
 1077  
      * @param scheduleBatchId ScheduleRequest  identifier
 1078  
      * @param contextInfo     context information containing the principalId and
 1079  
      *                        locale information about the caller of service
 1080  
      *                        operation
 1081  
      * @return ScheduleResp after submitting the Batch
 1082  
      * @throws DoesNotExistException     scheduleRequestId not found
 1083  
      * @throws InvalidParameterException invalid contextInfo
 1084  
      * @throws MissingParameterException scheduleRequestId or contextInfo is
 1085  
      *                                   missing or null
 1086  
      * @throws OperationFailedException  unable to complete request
 1087  
      * @throws PermissionDeniedException an authorization failure occurred
 1088  
      */
 1089  
     public ScheduleRespInfo submitScheduleBatch(@WebParam(name = "scheduleBatchId") String scheduleBatchId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1090  
 
 1091  
     /**
 1092  
      * Saves the scheduleIds to the referenced objects
 1093  
      *
 1094  
      * @param scheduleBatchRespId ScheduleBatchResp identifier
 1095  
      * @param contextInfo             context information containing the
 1096  
      *                                principalId and locale information about
 1097  
      *                                the caller of service operation
 1098  
      * @return status of the operation (success, failed)
 1099  
      * @throws DoesNotExistException     scheduleBatchRespId not found
 1100  
      * @throws InvalidParameterException invalid contextInfo
 1101  
      * @throws MissingParameterException scheduleBatchRespId or contextInfo
 1102  
      *                                   is missing or null
 1103  
      * @throws OperationFailedException  unable to complete request
 1104  
      * @throws PermissionDeniedException an authorization failure occurred
 1105  
      */
 1106  
     public StatusInfo commitSchedules(@WebParam(name = "scheduleBatchRespId") String scheduleBatchRespId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1107  
 
 1108  
     /**
 1109  
      * Retrieves valid days of the week for the given slot type. Parameter
 1110  
      * daysOfWeek follows the Java standard: Sunday=1 to Saturday=7
 1111  
      *
 1112  
      * @param timeSlotTypeKey identifier for the given slot type
 1113  
      * @param contextInfo     Context information containing the principalId and
 1114  
      *                        locale information about the caller of service
 1115  
      *                        operation
 1116  
      * @return Days of the week for the slot type; empty list if none found
 1117  
      * @throws InvalidParameterException invalid contextInfo
 1118  
      * @throws MissingParameterException timeSlotTypeKey or contextInfo is
 1119  
      *                                   missing or null
 1120  
      * @throws OperationFailedException  unable to complete request
 1121  
      * @throws PermissionDeniedException an authorization failure occurred
 1122  
      */
 1123  
     public List<Integer> getValidDaysOfWeekByTimeSlotType(@WebParam(name = "timeSlotTypeKey") String timeSlotTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1124  
 }
 1125