Coverage Report - org.kuali.student.enrollment.courseofferingset.service.CourseOfferingSetService
 
Classes in this File Line Coverage Branch Coverage Complexity
CourseOfferingSetService
N/A
N/A
1
 
 1  
 /**
 2  
  * Copyright 2010 The Kuali Foundation
 3  
  *
 4  
  * Licensed under the the Educational Community License, Version 1.0
 5  
  * (the "License"); you may not use this file except in compliance
 6  
  * with the License.  You may obtain a copy of the License at
 7  
  *
 8  
  * http://www.opensource.org/licenses/ecl1.php
 9  
  *
 10  
  * Unless required by applicable law or agreed to in writing, software
 11  
  * distributed under the License is distributed on an "AS IS" BASIS,
 12  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 13  
  * See the License for the specific language governing permissions and
 14  
  * limitations under the License.
 15  
  */
 16  
 package org.kuali.student.enrollment.courseofferingset.service;
 17  
 
 18  
 import org.kuali.rice.core.api.criteria.QueryByCriteria;
 19  
 import org.kuali.student.enrollment.courseoffering.dto.SeatPoolDefinitionInfo;
 20  
 import org.kuali.student.r2.common.dto.ContextInfo;
 21  
 import org.kuali.student.r2.common.dto.StatusInfo;
 22  
 import org.kuali.student.r2.common.dto.ValidationResultInfo;
 23  
 
 24  
 import org.kuali.student.r2.common.exceptions.DataValidationErrorException;
 25  
 import org.kuali.student.r2.common.exceptions.DoesNotExistException;
 26  
 import org.kuali.student.r2.common.exceptions.InvalidParameterException;
 27  
 import org.kuali.student.r2.common.exceptions.MissingParameterException;
 28  
 import org.kuali.student.r2.common.exceptions.OperationFailedException;
 29  
 import org.kuali.student.r2.common.exceptions.PermissionDeniedException;
 30  
 import org.kuali.student.r2.common.exceptions.ReadOnlyException;
 31  
 import org.kuali.student.r2.common.exceptions.VersionMismatchException;
 32  
 
 33  
 
 34  
 import javax.jws.WebParam;
 35  
 import javax.jws.WebService;
 36  
 import javax.jws.soap.SOAPBinding;
 37  
 import java.util.List;
 38  
 import org.kuali.student.enrollment.courseofferingset.dto.SocInfo;
 39  
 import org.kuali.student.enrollment.courseofferingset.dto.SocRolloverResultItemInfo;
 40  
 import org.kuali.student.enrollment.courseofferingset.dto.SocRolloverResultInfo;
 41  
 import org.kuali.student.r2.common.exceptions.DependentObjectsExistException;
 42  
 import org.kuali.student.r2.common.util.constants.CourseOfferingSetServiceConstants;
 43  
 
 44  
 /**
 45  
  * Course Offering Set Service allows the user to create Sets of 
 46  
  * Offered Courses or SOCs.  These sets are all dynamic.
 47  
  * 
 48  
  * By default there is one main Soc per term that includes all the courses 
 49  
  * in that term.
 50  
  * 
 51  
  * @version 1.0
 52  
  *
 53  
  * @author nwright
 54  
  */
 55  
 @WebService(name = "CourseOfferingSetService", serviceName = "CourseOfferingSetService", portName = "CourseOfferingSetService", targetNamespace = CourseOfferingSetServiceConstants.NAMESPACE)
 56  
 @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
 57  
 public interface CourseOfferingSetService extends CourseOfferingSetServiceBusinessLogic {
 58  
 
 59  
     /**
 60  
      * Retrieve information about a Soc
 61  
      *
 62  
      * @param socId Unique Id of the Soc
 63  
      * @param context          Context information containing the principalId and locale
 64  
      *                         information about the caller of service operation
 65  
      * @throws DoesNotExistException     socId not found
 66  
      * @throws InvalidParameterException invalid parameter
 67  
      * @throws MissingParameterException missing parameter
 68  
      * @throws OperationFailedException  unable to complete request
 69  
      * @throws PermissionDeniedException authorization failure
 70  
      */
 71  
     public SocInfo getSoc(@WebParam(name = "socId") String socId,
 72  
             @WebParam(name = "context") ContextInfo context)
 73  
             throws DoesNotExistException, InvalidParameterException,
 74  
             MissingParameterException, OperationFailedException, PermissionDeniedException;
 75  
 
 76  
     /**
 77  
      * Retrieves a list of course offerings by id list.
 78  
      *
 79  
      * @param socIds List of unique Ids of Soc
 80  
      * @param context           Context information containing the principalId and locale
 81  
      *                          information about the caller of service operation
 82  
      * @throws DoesNotExistException     socId in the list not found
 83  
      * @throws InvalidParameterException invalid socIds
 84  
      * @throws MissingParameterException missing socIds
 85  
      * @throws OperationFailedException  unable to complete request
 86  
      * @throws PermissionDeniedException authorization failure
 87  
      */
 88  
     public List<SocInfo> getSocsByIds(@WebParam(name = "socIds") List<String> socIds,
 89  
             @WebParam(name = "context") ContextInfo context)
 90  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 91  
             OperationFailedException, PermissionDeniedException;
 92  
 
 93  
     /**
 94  
      * Retrieve ids of the Soc for the term
 95  
      * 
 96  
      * This could return multiple Socs but should always return the default main 
 97  
      * SOC for that term.
 98  
      *
 99  
      * @param termId Unique Id of the term
 100  
      * @param context  Context information containing the principalId and locale
 101  
      *                 information about the caller of service operation
 102  
      * @throws DoesNotExistException     termId not found
 103  
      * @throws InvalidParameterException invalid parameter
 104  
      * @throws MissingParameterException missing parameter
 105  
      * @throws OperationFailedException  unable to complete request
 106  
      * @throws PermissionDeniedException authorization failure
 107  
      */
 108  
     public List<String> getSocIdsByTerm(@WebParam(name = "termId") String termId,
 109  
             @WebParam(name = "context") ContextInfo context)
 110  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 111  
             OperationFailedException, PermissionDeniedException;
 112  
 
 113  
     /**
 114  
      * Retrieve Soc Ids for a given term and subject area.
 115  
      * 
 116  
      * A Soc will have an official and "other" subject areas, this
 117  
      * operation will the course offering ids with either official or other subject area
 118  
      * that match.
 119  
      * 
 120  
      *
 121  
      * THIS IS A PLACEHOLDER for DEPARTMENTAL SOCS
 122  
      *
 123  
      *
 124  
      * @param termId      Unique key of the term in which the course is being offered
 125  
      * @param subjectArea subject area
 126  
      * @param context     Context information containing the principalId and locale
 127  
      *                    information about the caller of service operation
 128  
      * @return List of Soc Ids
 129  
      * @throws DoesNotExistException     termId or subject area not found
 130  
      * @throws InvalidParameterException invalid parameter
 131  
      * @throws MissingParameterException missing parameter
 132  
      * @throws OperationFailedException  unable to complete request
 133  
      * @throws PermissionDeniedException authorization failure
 134  
      */
 135  
     @Deprecated
 136  
     public List<String> getSocIdsByTermAndSubjectArea(@WebParam(name = "termId") String termId,
 137  
             @WebParam(name = "subjectArea") String subjectArea,
 138  
             @WebParam(name = "context") ContextInfo context)
 139  
             throws DoesNotExistException, InvalidParameterException,
 140  
             MissingParameterException, OperationFailedException,
 141  
             PermissionDeniedException;
 142  
 
 143  
     /**
 144  
      * Retrieve Soc Ids for a given term and unit content owner
 145  
      *
 146  
      * THIS IS A PLACEHOLDER for DEPARTMENTAL SOCS
 147  
      *
 148  
      * @param termId      Unique key of the term in which the course is being offered
 149  
      * @param unitsContentOwnerId Org Id of the Units content owner
 150  
      * @param context     Context information containing the principalId and locale
 151  
      *                    information about the caller of service operation
 152  
      * @return List of Soc Ids
 153  
      * @throws DoesNotExistException     termId or unitsContentOwnerid not found
 154  
      * @throws InvalidParameterException invalid parameter
 155  
      * @throws MissingParameterException missing parameter
 156  
      * @throws OperationFailedException  unable to complete request
 157  
      * @throws PermissionDeniedException authorization failure
 158  
      */
 159  
     @Deprecated
 160  
     public List<String> getSocIdsByTermAndUnitsContentOwner(@WebParam(name = "termId") String termId,
 161  
             @WebParam(name = "unitsContentOwnerId") String unitsContentOwnerId,
 162  
             @WebParam(name = "context") ContextInfo context)
 163  
             throws DoesNotExistException, InvalidParameterException,
 164  
             MissingParameterException, OperationFailedException,
 165  
             PermissionDeniedException;
 166  
 
 167  
     /**
 168  
      * Retrieve Soc Ids by type
 169  
      *
 170  
      * @param typeKey      Unique key type of Soc
 171  
      * @param context     Context information containing the principalId and locale
 172  
      *                    information about the caller of service operation
 173  
      * @return List of Soc Ids
 174  
      * @throws DoesNotExistException     typeKey not found
 175  
      * @throws InvalidParameterException invalid parameter
 176  
      * @throws MissingParameterException missing parameter
 177  
      * @throws OperationFailedException  unable to complete request
 178  
      * @throws PermissionDeniedException authorization failure
 179  
      */
 180  
     public List<String> getSocIdsByType(@WebParam(name = "typeKey") String typeKey,
 181  
             @WebParam(name = "context") ContextInfo context)
 182  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 183  
             OperationFailedException, PermissionDeniedException;
 184  
 
 185  
     /**
 186  
      * Creates a new Soc for a term
 187  
      * 
 188  
      * Fields in course offering will be initialized with data from the canonical.
 189  
      *
 190  
      * @param courseId     Canonical course Id of soc Id that the
 191  
      *                     ActivityOffering will belong to
 192  
      * @param termId       Unique key of the term in which the course is being offered
 193  
      *                     course offering
 194  
      * @param context      Context information containing the principalId and locale
 195  
      *                     information about the caller of service operation
 196  
      * @return newly created SocInfo
 197  
      * @throws DoesNotExistException        termId or socTypeKey not found
 198  
      * @throws DataValidationErrorException One or more values invalid for this operation
 199  
      * @throws InvalidParameterException    One or more parameters invalid
 200  
      * @throws MissingParameterException    One or more parameters missing
 201  
      * @throws OperationFailedException     unable to complete request
 202  
      * @throws PermissionDeniedException    authorization failure
 203  
      */
 204  
     public SocInfo createSoc(@WebParam(name = "termId") String termId,
 205  
             @WebParam(name = "socTypeKey") String socTypeKey,
 206  
             @WebParam(name = "socInfo") SocInfo socInfo,
 207  
             @WebParam(name = "context") ContextInfo context)
 208  
             throws DoesNotExistException, DataValidationErrorException, InvalidParameterException,
 209  
             MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 210  
 
 211  
     /**
 212  
      * Updates an existing Soc.
 213  
      *
 214  
      * @param socId   Id of Soc to be updated
 215  
      * @param socInfo Details of updates to the Soc
 216  
      * @param context            Context information containing the principalId and locale
 217  
      *                           information about the caller of service operation
 218  
      * @return updated Soc
 219  
      * @throws DataValidationErrorException One or more values invalid for this operation
 220  
      * @throws DoesNotExistException      the Soc does not exist
 221  
      * @throws InvalidParameterException    One or more parameters invalid
 222  
      * @throws MissingParameterException    One or more parameters missing
 223  
      * @throws OperationFailedException     unable to complete request
 224  
      * @throws PermissionDeniedException    authorization failure
 225  
      * @throws VersionMismatchException     The action was attempted on an out of date version.
 226  
      */
 227  
     public SocInfo updateSoc(@WebParam(name = "socId") String socId,
 228  
             @WebParam(name = "socInfo") SocInfo socInfo,
 229  
             @WebParam(name = "context") ContextInfo context)
 230  
             throws DataValidationErrorException, DoesNotExistException, InvalidParameterException,
 231  
             MissingParameterException, OperationFailedException, PermissionDeniedException,
 232  
             ReadOnlyException, VersionMismatchException;
 233  
 
 234  
     /**
 235  
      * Deletes an existing Soc.
 236  
      * 
 237  
      * Deleting the Soc does not automatically delete the course offerings in a soc
 238  
      *
 239  
      * @param socId the Id of the ActivityOffering to be deleted
 240  
      * @param context          Context information containing the principalId and locale
 241  
      *                         information about the caller of service operation
 242  
      * @return status of the operation (success, failed)
 243  
      * @throws DoesNotExistException     the soc does not exist
 244  
      * @throws DependentObjectsExistException if course offerings exist and the
 245  
      *              implementation has the business rule that a course offering must have a Soc
 246  
      * @throws InvalidParameterException One or more parameters invalid
 247  
      * @throws MissingParameterException One or more parameters missing
 248  
      * @throws OperationFailedException  unable to complete request
 249  
      * @throws PermissionDeniedException authorization failure
 250  
      */
 251  
     public StatusInfo deleteSoc(@WebParam(name = "socId") String socId,
 252  
             @WebParam(name = "context") ContextInfo context)
 253  
             throws DependentObjectsExistException,
 254  
             DoesNotExistException, InvalidParameterException,
 255  
             MissingParameterException, OperationFailedException, PermissionDeniedException;
 256  
 
 257  
     /**
 258  
      * Validates a Soc. Depending on the value of validationType,
 259  
      * this validation could be limited to tests on just the current object and
 260  
      * its directly contained sub-objects or expanded to perform all tests
 261  
      * related to this object. If an identifier is present for the academic
 262  
      * calendar and a record is found for that identifier, the validation checks
 263  
      * if the academic calendar can be shifted to the new values. If a record
 264  
      * cannot be found for the identifier, it is assumed that the record does
 265  
      * not exist and as such, the checks performed will be much shallower,
 266  
      * typically mimicking those performed by setting the validationType to the
 267  
      * current object. This is a slightly different pattern from the standard
 268  
      * validation as the caller provides the identifier in the create statement
 269  
      * instead of the server assigning an identifier.
 270  
      *
 271  
      * @param validationType     Identifier of the extent of validation
 272  
      * @param socInfo the soc information to be tested.
 273  
      * @param context            Context information containing the principalId and locale
 274  
      *                           information about the caller of service operation
 275  
      * @return the results from performing the validation
 276  
      * @throws DoesNotExistException     validationTypeKey not found
 277  
      * @throws InvalidParameterException invalid validationTypeKey, socInfo
 278  
      * @throws MissingParameterException missing validationTypeKey, socInfo
 279  
      * @throws OperationFailedException  unable to complete request
 280  
      */
 281  
     public List<ValidationResultInfo> validateSoc(@WebParam(name = "validationType") String validationType,
 282  
             @WebParam(name = "socInfo") SocInfo socInfo,
 283  
             @WebParam(name = "context") ContextInfo context)
 284  
             throws DoesNotExistException, InvalidParameterException,
 285  
             MissingParameterException, OperationFailedException;
 286  
 
 287  
     /**
 288  
      * Retrieve Soc Ids that contain the specified course offering
 289  
      *
 290  
      * @param courseOfferingId Unique Id of the course offering
 291  
      * @param context  Context information containing the principalId and locale
 292  
      *                 information about the caller of service operation
 293  
      * @throws DoesNotExistException     courseOfferingId not found
 294  
      * @throws InvalidParameterException invalid parameter
 295  
      * @throws MissingParameterException missing parameter
 296  
      * @throws OperationFailedException  unable to complete request
 297  
      * @throws PermissionDeniedException authorization failure
 298  
      */
 299  
     public List<String> getSocIdsByCourseOffering(@WebParam(name = "courseOfferingId") String courseOfferingId,
 300  
             @WebParam(name = "context") ContextInfo context)
 301  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 302  
             OperationFailedException, PermissionDeniedException;
 303  
 
 304  
     /**
 305  
      * Retrieve course offering ids associated with the soc
 306  
      * 
 307  
      * @return list of course offering ids
 308  
      * @param socId Unique Id of the soc
 309  
      * @param context  Context information containing the principalId and locale
 310  
      *                 information about the caller of service operation
 311  
      * @throws DoesNotExistException     courseId or termId not found
 312  
      * @throws InvalidParameterException invalid courseId or termId
 313  
      * @throws MissingParameterException missing courseId or termId
 314  
      * @throws OperationFailedException  unable to complete request
 315  
      * @throws PermissionDeniedException authorization failure
 316  
      */
 317  
     @Override
 318  
     public List<String> getCourseOfferingIdsBySoc(@WebParam(name = "socId") String socId,
 319  
             @WebParam(name = "context") ContextInfo context)
 320  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 321  
             OperationFailedException, PermissionDeniedException;
 322  
 
 323  
     /**
 324  
      * Delete all the course offerings associated with the Soc
 325  
      * 
 326  
      * @return count of the course offerings deleted
 327  
      * @param socId Unique Id of the soc
 328  
      * @param context  Context information containing the principalId and locale
 329  
      *                 information about the caller of service operation
 330  
      * @throws DoesNotExistException    socId not found
 331  
      * @throws InvalidParameterException invalid parameter
 332  
      * @throws MissingParameterException missing parameter
 333  
      * @throws OperationFailedException  unable to complete request
 334  
      * @throws PermissionDeniedException authorization failure
 335  
      */
 336  
     @Override
 337  
     public Integer deleteCourseOfferingsBySoc(@WebParam(name = "socId") String socId,
 338  
             @WebParam(name = "context") ContextInfo context)
 339  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 340  
             OperationFailedException, PermissionDeniedException;
 341  
 
 342  
     /**
 343  
      * Checks if the specified course offering is or is not in the specified soc.
 344  
      * 
 345  
      * @return true if the course offering is in the soc else false.
 346  
      * @param socId Unique Id of the soc
 347  
      * @param courseOfferingId Unique id of the course offering
 348  
      * @param context  Context information containing the principalId and locale
 349  
      *                 information about the caller of service operation
 350  
      * @throws DoesNotExistException     either id is not found
 351  
      * @throws InvalidParameterException invalid parameter
 352  
      * @throws MissingParameterException missing parameter
 353  
      * @throws OperationFailedException  unable to complete request
 354  
      * @throws PermissionDeniedException authorization failure
 355  
      */
 356  
     @Override
 357  
     public Boolean isCourseOfferingInSoc(@WebParam(name = "socId") String socId,
 358  
             @WebParam(name = "courseOfferingId") String courseOfferingId,
 359  
             @WebParam(name = "context") ContextInfo context)
 360  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 361  
             OperationFailedException, PermissionDeniedException;
 362  
 
 363  
     /**
 364  
      * Retrieve published Course offering ids in this soc
 365  
      * 
 366  
      * THIS IS A PLACEHOLDER FOR M5 AND NEEDS TO BE REVIEWED
 367  
      * Not sure what it means to be "published"
 368  
      * 
 369  
      * @return list of Course offering ids
 370  
      * @param socId Unique Id of the soc
 371  
      * @param context  Context information containing the principalId and locale
 372  
      *                 information about the caller of service operation
 373  
      * @throws DoesNotExistException   socId not found
 374  
      * @throws InvalidParameterException invalid parameter
 375  
      * @throws MissingParameterException missing parameter
 376  
      * @throws OperationFailedException  unable to complete request
 377  
      * @throws PermissionDeniedException authorization failure
 378  
      */
 379  
     @Deprecated
 380  
     @Override
 381  
     public List<String> getPublishedCourseOfferingIdsBySoc(@WebParam(name = "socId") String socId,
 382  
             @WebParam(name = "context") ContextInfo context)
 383  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 384  
             OperationFailedException, PermissionDeniedException;
 385  
 
 386  
     /**
 387  
      * Retrieve unpublished Course offering ids in this soc
 388  
      * 
 389  
      * THIS IS A PLACEHOLDER FOR M5 AND NEEDS TO BE REVIEWED
 390  
      * Not sure what it means to be "unpublished"
 391  
      * 
 392  
      * @return list of Activity offering ids
 393  
      * @param socId Unique Id of the soc
 394  
      * @param context  Context information containing the principalId and locale
 395  
      *                 information about the caller of service operation
 396  
      * @throws DoesNotExistException     socId not found
 397  
      * @throws InvalidParameterException invalid parameter
 398  
      * @throws MissingParameterException missing parameter
 399  
      * @throws OperationFailedException  unable to complete request
 400  
      * @throws PermissionDeniedException authorization failure
 401  
      */
 402  
     @Deprecated
 403  
     @Override
 404  
     public List<String> getUnpublishedCourseOfferingIdsBySoc(@WebParam(name = "socId") String socId,
 405  
             @WebParam(name = "context") ContextInfo context)
 406  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 407  
             OperationFailedException, PermissionDeniedException;
 408  
 
 409  
     /**
 410  
      * Retrieve unpublished Activity offering ids associated with the course 
 411  
      * offerings in this soc
 412  
      * 
 413  
      * THIS IS A PLACEHOLDER FOR M5 AND NEEDS TO BE REVIEWED
 414  
      * Not sure what it means to be "unpublished"
 415  
      * 
 416  
      * @return list of Activity offering ids
 417  
      * @param socId Unique Id of the soc
 418  
      * @param context  Context information containing the principalId and locale
 419  
      *                 information about the caller of service operation
 420  
      * @throws DoesNotExistException     socId not found
 421  
      * @throws InvalidParameterException invalid parameter
 422  
      * @throws MissingParameterException missing parameter
 423  
      * @throws OperationFailedException  unable to complete request
 424  
      * @throws PermissionDeniedException authorization failure
 425  
      */
 426  
     @Deprecated
 427  
     @Override
 428  
     public List<String> getUnpublishedActivityOfferingIdsBySoc(@WebParam(name = "socId") String socId,
 429  
             @WebParam(name = "context") ContextInfo context)
 430  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 431  
             OperationFailedException, PermissionDeniedException;
 432  
 
 433  
     /**
 434  
      * Retrieve unscheduled Activity offering ids associated with the course 
 435  
      * offerings in this soc
 436  
      * 
 437  
      * THIS IS A PLACEHOLDER FOR M5 AND NEEDS TO BE REVIEWED
 438  
      * Not sure what it means to be "unscheduled"
 439  
      * 
 440  
      * @return list of Activity offering ids
 441  
      * @param socId Unique Id of the soc
 442  
      * @param context  Context information containing the principalId and locale
 443  
      *                 information about the caller of service operation
 444  
      * @throws DoesNotExistException     socId not found
 445  
      * @throws InvalidParameterException invalid parameter
 446  
      * @throws MissingParameterException missing parameter
 447  
      * @throws OperationFailedException  unable to complete request
 448  
      * @throws PermissionDeniedException authorization failure
 449  
      */
 450  
     @Deprecated
 451  
     @Override
 452  
     public List<String> getUnscheduledActivityOfferingIdsBySoc(@WebParam(name = "socId") String socId,
 453  
             @WebParam(name = "context") ContextInfo context)
 454  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 455  
             OperationFailedException, PermissionDeniedException;
 456  
 
 457  
     /**
 458  
      * Get course offering ids associated with the soc that have an unscheduled final exam
 459  
      * 
 460  
      * THIS IS A PLACEHOLDER FOR M5 AND NEEDS TO BE REVIEWED
 461  
      * Not sure what it means to be "unscheduled final exam"
 462  
      * 
 463  
      * @return list of course offering ids
 464  
      * @param socId Unique Id of the soc
 465  
      * @param context  Context information containing the principalId and locale
 466  
      *                 information about the caller of service operation
 467  
      * @throws DoesNotExistException     socId not found
 468  
      * @throws InvalidParameterException invalid parameter
 469  
      * @throws MissingParameterException missing parameter
 470  
      * @throws OperationFailedException  unable to complete request
 471  
      * @throws PermissionDeniedException authorization failure
 472  
      */
 473  
     @Deprecated
 474  
     public List<String> getCourseOfferingIdsWithUnscheduledFinalExamsBySoc(@WebParam(name = "socId") String socId,
 475  
             @WebParam(name = "context") ContextInfo context)
 476  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 477  
             OperationFailedException, PermissionDeniedException;
 478  
 
 479  
     /**
 480  
      * Requests that the course offerings in this Soc be submitted to the scheduler.
 481  
      * 
 482  
      * THIS IS A PLACEHOLDER FOR M5 DEVELOPMENT
 483  
      * NOTE: we don't know yet with this should return and how to do ASYNC calls.
 484  
      *
 485  
      * @param socId Unique Id of the soc
 486  
      * @param context  Context information containing the principalId and locale
 487  
      *                 information about the caller of service operation
 488  
      * @throws DoesNotExistException     socId not found
 489  
      * @throws InvalidParameterException invalid parameter
 490  
      * @throws MissingParameterException missing parameter
 491  
      * @throws OperationFailedException  unable to complete request
 492  
      * @throws PermissionDeniedException authorization failure
 493  
      */
 494  
     @Deprecated
 495  
     public StatusInfo scheduleSoc(@WebParam(name = "socId") String socId,
 496  
             @WebParam(name = "context") ContextInfo context)
 497  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 498  
             OperationFailedException, PermissionDeniedException;
 499  
 
 500  
     /**
 501  
      * Creates a new SOC for the target term that corresponds to the 
 502  
      * source soc and then rolls over all the course offerings in source Soc to
 503  
      * the new soc using the supplied options.
 504  
      *
 505  
      * @param sourceSocId Unique Id of the source Soc
 506  
      * @param targetSocId Unique Id of the source Soc
 507  
      * @param optionKeys keys identifying optional processing to occur
 508  
      * @return newly created Soc 
 509  
      * @param context  Context information containing the principalId and locale
 510  
      *                 information about the caller of service operation
 511  
      * @throws DoesNotExistException     sourceSocId or targetTermId not found
 512  
      * @throws InvalidParameterException invalid parameter
 513  
      * @throws MissingParameterException missing parameter
 514  
      * @throws OperationFailedException  unable to complete request
 515  
      * @throws PermissionDeniedException authorization failure
 516  
      */
 517  
     @Override
 518  
     public SocInfo rolloverSoc(@WebParam(name = "sourceSocId") String sourceSocId,
 519  
             @WebParam(name = "targetTermId") String targetTermId,
 520  
             @WebParam(name = "optionKeys") List<String> optionKeys,
 521  
             @WebParam(name = "context") ContextInfo context)
 522  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 523  
             OperationFailedException, PermissionDeniedException;
 524  
 
 525  
     /**
 526  
      * Retrieves the result of a rollover.
 527  
      *
 528  
      * @param rolloverResultId unique Id of the rollover result
 529  
      * @param context           Context information containing the principalId and locale
 530  
      *                          information about the caller of service operation
 531  
      * @throws DoesNotExistException     rolloverResultId in the list not found
 532  
      * @throws InvalidParameterException invalid parameter
 533  
      * @throws MissingParameterException missing parameter
 534  
      * @throws OperationFailedException  unable to complete request
 535  
      * @throws PermissionDeniedException authorization failure
 536  
      */
 537  
     public SocRolloverResultInfo getSocRolloverResult(@WebParam(name = "rolloverResultId") String rolloverResultId,
 538  
             @WebParam(name = "context") ContextInfo context)
 539  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 540  
             OperationFailedException, PermissionDeniedException;
 541  
 
 542  
     /**
 543  
      * Retrieves a list of rollover results by id list.
 544  
      *
 545  
      * @param rolloverResultIds List of unique Ids of the rollover result to be fetched
 546  
      * @param context           Context information containing the principalId and locale
 547  
      *                          information about the caller of service operation
 548  
      * @throws DoesNotExistException     rolloverResultId in the list not found
 549  
      * @throws InvalidParameterException invalid parameter
 550  
      * @throws MissingParameterException missing parameter
 551  
      * @throws OperationFailedException  unable to complete request
 552  
      * @throws PermissionDeniedException authorization failure
 553  
      */
 554  
     public List<SocRolloverResultInfo> getSocRolloverResultsByIds(@WebParam(name = "rolloverResultIds") List<String> rolloverResultIds,
 555  
             @WebParam(name = "context") ContextInfo context)
 556  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 557  
             OperationFailedException, PermissionDeniedException;
 558  
 
 559  
     /**
 560  
      * Retrieves a list of rollover results items by id list.
 561  
      *
 562  
      * @param rolloverResultItemIds List of unique Ids of the rollover result items to be fetched
 563  
      * @param context           Context information containing the principalId and locale
 564  
      *                          information about the caller of service operation
 565  
      * @throws DoesNotExistException     rolloverResultId in the list not found
 566  
      * @throws InvalidParameterException invalid parameter
 567  
      * @throws MissingParameterException missing parameter
 568  
      * @throws OperationFailedException  unable to complete request
 569  
      * @throws PermissionDeniedException authorization failure
 570  
      */
 571  
     public List<SocRolloverResultItemInfo> getSocRolloverResultItemsByIds(@WebParam(name = "rolloverResultItemIds") List<String> rolloverResultItemIds,
 572  
             @WebParam(name = "context") ContextInfo context)
 573  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 574  
             OperationFailedException, PermissionDeniedException;
 575  
 
 576  
     /**
 577  
      * Retrieves a list of rollover result items by result id
 578  
      *
 579  
      * @param socRolloverResultId Unique Ids of the rollover result for which the items are to be fetched
 580  
      * @param context           Context information containing the principalId and locale
 581  
      *                          information about the caller of service operation
 582  
      * @throws DoesNotExistException     rolloverResultId in the list not found
 583  
      * @throws InvalidParameterException invalid parameter
 584  
      * @throws MissingParameterException missing parameter
 585  
      * @throws OperationFailedException  unable to complete request
 586  
      * @throws PermissionDeniedException authorization failure
 587  
      */
 588  
     public List<SocRolloverResultItemInfo> getSocRolloverResultItemsByResultId(@WebParam(name = "socRolloverResultId") String socRolloverResultId,
 589  
             @WebParam(name = "context") ContextInfo context)
 590  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 591  
             OperationFailedException, PermissionDeniedException;
 592  
 
 593  
     /**
 594  
      * Retrieves a list of rollover result items by result id and source course offering id
 595  
      *
 596  
      * @param socRolloverResultId Unique Id of the rollover result for which the items are to be fetched
 597  
      * @param sourceCourseOfferingId Unique Id of source course offering id
 598  
      * @param context           Context information containing the principalId and locale
 599  
      *                          information about the caller of service operation
 600  
      * @throws DoesNotExistException     rolloverResultId in the list not found
 601  
      * @throws InvalidParameterException invalid parameter
 602  
      * @throws MissingParameterException missing parameter
 603  
      * @throws OperationFailedException  unable to complete request
 604  
      * @throws PermissionDeniedException authorization failure
 605  
      */
 606  
     public List<SocRolloverResultItemInfo> getSocRolloverResultItemsByResultIdAndSourceCourseOfferingId(@WebParam(name = "socRolloverResultId") String socRolloverResultId,
 607  
             @WebParam(name = "sourceCourseOfferingId") String sourceCourseOfferingId,
 608  
             @WebParam(name = "context") ContextInfo context)
 609  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 610  
             OperationFailedException, PermissionDeniedException;
 611  
 
 612  
     /**
 613  
      * Retrieves a list of rollover result items by result id and target course offering id
 614  
      *
 615  
      * @param socRolloverResultId Unique Id of the rollover result for which the items are to be fetched
 616  
      * @param sourceCourseOfferingId Unique Id of target course offering id
 617  
      * @param context           Context information containing the principalId and locale
 618  
      *                          information about the caller of service operation
 619  
      * @throws DoesNotExistException     rolloverResultId in the list not found
 620  
      * @throws InvalidParameterException invalid parameter
 621  
      * @throws MissingParameterException missing parameter
 622  
      * @throws OperationFailedException  unable to complete request
 623  
      * @throws PermissionDeniedException authorization failure
 624  
      */
 625  
     public List<SocRolloverResultItemInfo> getSocRolloverResultItemsByResultIdAndTargetCourseOfferingId(@WebParam(name = "socRolloverResultId") String socRolloverResultId,
 626  
             @WebParam(name = "targetCourseOfferingId") String targetCourseOfferingId,
 627  
             @WebParam(name = "context") ContextInfo context)
 628  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 629  
             OperationFailedException, PermissionDeniedException;
 630  
 
 631  
     /**
 632  
      * Retrieves the rollover results associated with the specified source and target Soc ids
 633  
      *
 634  
      * @param sourceSocId     source Soc Id
 635  
      * @param targetSocId     target Soc Id
 636  
      * @param context     Context information containing the principalId and locale
 637  
      *                    information about the caller of service operation
 638  
      * @return List of Rollover Results
 639  
      * @throws DoesNotExistException     courseId or termId not found
 640  
      * @throws InvalidParameterException invalid courseId or termId
 641  
      * @throws MissingParameterException missing courseId or termId
 642  
      * @throws OperationFailedException  unable to complete request
 643  
      * @throws PermissionDeniedException authorization failure
 644  
      */
 645  
     public List<SocRolloverResultInfo> getSocRolloverResultsBySourceAndTargetSocs(@WebParam(name = "sourceSocId") String sourceSocId,
 646  
             @WebParam(name = "targetSocId") String targetSocId,
 647  
             @WebParam(name = "context") ContextInfo context)
 648  
             throws DoesNotExistException, InvalidParameterException,
 649  
             MissingParameterException, OperationFailedException,
 650  
             PermissionDeniedException;
 651  
 
 652  
     
 653  
     /**
 654  
      * Retrieves the rollover results associated with the specified target Soc id
 655  
      *
 656  
      * @param targetSocId     target Soc Id
 657  
      * @param context     Context information containing the principalId and locale
 658  
      *                    information about the caller of service operation
 659  
      * @return List of Rollover Result Ids
 660  
      * @throws DoesNotExistException     courseId or termId not found
 661  
      * @throws InvalidParameterException invalid courseId or termId
 662  
      * @throws MissingParameterException missing courseId or termId
 663  
      * @throws OperationFailedException  unable to complete request
 664  
      * @throws PermissionDeniedException authorization failure
 665  
      */
 666  
     public List<String> getSocRolloverResultIdsByTargetSoc(@WebParam(name = "targetSocId") String targetSocId,
 667  
             @WebParam(name = "context") ContextInfo context)
 668  
             throws DoesNotExistException, InvalidParameterException,
 669  
             MissingParameterException, OperationFailedException,
 670  
             PermissionDeniedException;
 671  
 
 672  
     /**
 673  
      * Retrieves the rollover results associated with the specified source Soc id
 674  
      *
 675  
      * @param sourceSocId      Unique id of the source Soc
 676  
      * @param context     Context information containing the principalId and locale
 677  
      *                    information about the caller of service operation
 678  
      * @return List of Rollover Result Ids
 679  
      * @throws DoesNotExistException     courseId or termId not found
 680  
      * @throws InvalidParameterException invalid courseId or termId
 681  
      * @throws MissingParameterException missing courseId or termId
 682  
      * @throws OperationFailedException  unable to complete request
 683  
      * @throws PermissionDeniedException authorization failure
 684  
      */
 685  
     public List<String> getSocRolloverResultIdsBySourceSoc(@WebParam(name = "targetSocId") String sourceSocId,
 686  
             @WebParam(name = "context") ContextInfo context)
 687  
             throws DoesNotExistException, InvalidParameterException,
 688  
             MissingParameterException, OperationFailedException,
 689  
             PermissionDeniedException;
 690  
 
 691  
     /**
 692  
      * Requests that the rollover identified by the result be reversed.
 693  
      * 
 694  
      * This attempts to reverse or clear out the actions applied by the specified rollover result.
 695  
      * Depending on whether or not the resulting course offerings have been updated
 696  
      * and the optional processing flags a full reversal is not guaranteed.
 697  
      *
 698  
      * @param rolloverResultId Unique Id of the rollover result
 699  
      * @param optionKeys keys identifying optional processing to happen when clearing the result
 700  
      * @return a Rollover Result indicating what reversal actions were successful or not
 701  
      * @param context  Context information containing the principalId and locale
 702  
      *                 information about the caller of service operation
 703  
      * @throws DoesNotExistException     courseId or termId not found
 704  
      * @throws InvalidParameterException invalid courseId or termId
 705  
      * @throws MissingParameterException missing courseId or termId
 706  
      * @throws OperationFailedException  unable to complete request
 707  
      * @throws PermissionDeniedException authorization failure
 708  
      */
 709  
     @Override
 710  
     public SocRolloverResultInfo reverseRollover(@WebParam(name = "rolloverResultId") String rolloverResultId,
 711  
             @WebParam(name = "optionKeys") List<String> optionKeys,
 712  
             @WebParam(name = "context") ContextInfo context)
 713  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException,
 714  
             OperationFailedException, PermissionDeniedException;
 715  
 
 716  
     /**
 717  
      * Creates a new SocRolloverResult
 718  
      * 
 719  
      * @param socRolloverResultTypeKey     soc rollover result type key
 720  
      * @param socRolloverResultInfo    object to be created
 721  
      * @param context      Context information containing the principalId and locale
 722  
      *                     information about the caller of service operation
 723  
      * @return newly created SocRolloverResultInfo
 724  
      * @throws DoesNotExistException        termId or socRolloverResultTypeKey not found
 725  
      * @throws DataValidationErrorException One or more values invalid for this operation
 726  
      * @throws InvalidParameterException    One or more parameters invalid
 727  
      * @throws MissingParameterException    One or more parameters missing
 728  
      * @throws OperationFailedException     unable to complete request
 729  
      * @throws PermissionDeniedException    authorization failure
 730  
      */
 731  
     public SocRolloverResultInfo createSocRolloverResult(@WebParam(name = "socRolloverResultTypeKey") String socRolloverResultTypeKey,
 732  
             @WebParam(name = "socRolloverResultInfo") SocRolloverResultInfo socRolloverResultInfo,
 733  
             @WebParam(name = "context") ContextInfo context)
 734  
             throws DoesNotExistException, DataValidationErrorException, InvalidParameterException,
 735  
             MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 736  
 
 737  
     /**
 738  
      * Updates an existing SocRolloverResult.
 739  
      *
 740  
      * @param socRolloverResultId   Id of SocRolloverResult to be updated
 741  
      * @param socRolloverResultInfo Details of updates to the SocRolloverResult
 742  
      * @param context            Context information containing the principalId and locale
 743  
      *                           information about the caller of service operation
 744  
      * @return updated SocRolloverResult
 745  
      * @throws DataValidationErrorException One or more values invalid for this operation
 746  
      * @throws DoesNotExistException      the SocRolloverResult does not exist
 747  
      * @throws InvalidParameterException    One or more parameters invalid
 748  
      * @throws MissingParameterException    One or more parameters missing
 749  
      * @throws OperationFailedException     unable to complete request
 750  
      * @throws PermissionDeniedException    authorization failure
 751  
      * @throws VersionMismatchException     The action was attempted on an out of date version.
 752  
      */
 753  
     public SocRolloverResultInfo updateSocRolloverResult(@WebParam(name = "socRolloverResultId") String socRolloverResultId,
 754  
             @WebParam(name = "socRolloverResultInfo") SocRolloverResultInfo socRolloverResultInfo,
 755  
             @WebParam(name = "context") ContextInfo context)
 756  
             throws DataValidationErrorException, DoesNotExistException, InvalidParameterException,
 757  
             MissingParameterException, OperationFailedException, PermissionDeniedException,
 758  
             ReadOnlyException, VersionMismatchException;
 759  
 
 760  
     /**
 761  
      * Update progress information
 762  
      *
 763  
      * @param socRolloverResultId   Id of SocRolloverResult to be updated
 764  
      * @param itemsProcessed new count of the number of items processed
 765  
      * @param context            Context information containing the principalId and locale
 766  
      *                           information about the caller of service operation
 767  
      * @return StatusInfo indicates the update worked
 768  
      * @throws DataValidationErrorException One or more values invalid for this operation
 769  
      * @throws DoesNotExistException      the SocRolloverResult does not exist
 770  
      * @throws InvalidParameterException    One or more parameters invalid
 771  
      * @throws MissingParameterException    One or more parameters missing
 772  
      * @throws OperationFailedException     unable to complete request
 773  
      * @throws PermissionDeniedException    authorization failure
 774  
      * @throws VersionMismatchException     The action was attempted on an out of date version.
 775  
      */
 776  
     public SocRolloverResultInfo updateSocRolloverProgress(@WebParam(name = "socRolloverResultId") String socRolloverResultId,
 777  
             @WebParam(name = "itemsProcessed") Integer itemsProcessed,
 778  
             @WebParam(name = "context") ContextInfo context)
 779  
             throws DataValidationErrorException, DoesNotExistException, InvalidParameterException,
 780  
             MissingParameterException, OperationFailedException, PermissionDeniedException,
 781  
             ReadOnlyException, VersionMismatchException;
 782  
 
 783  
     /**
 784  
      * Deletes an existing SocRolloverResult. 
 785  
      *
 786  
      * @param socRolloverResultId the Id of the ActivityOffering to be deleted
 787  
      * @param context          Context information containing the principalId and locale
 788  
      *                         information about the caller of service operation
 789  
      * @return status of the operation (success, failed)
 790  
      * @throws DoesNotExistException     the SeatPoolDefinition does not exist
 791  
      * @throws InvalidParameterException One or more parameters invalid
 792  
      * @throws MissingParameterException One or more parameters missing
 793  
      * @throws OperationFailedException  unable to complete request
 794  
      * @throws PermissionDeniedException authorization failure
 795  
      */
 796  
     public StatusInfo deleteSocRolloverResult(@WebParam(name = "socRolloverResultId") String socRolloverResultId,
 797  
             @WebParam(name = "context") ContextInfo context)
 798  
             throws DoesNotExistException, DependentObjectsExistException, InvalidParameterException,
 799  
             MissingParameterException, OperationFailedException, PermissionDeniedException;
 800  
 
 801  
     /**
 802  
      * Validates a SocRolloverResult. Depending on the value of validationType,
 803  
      * this validation could be limited to tests on just the current object and
 804  
      * its directly contained sub-objects or expanded to perform all tests
 805  
      * related to this object. If an identifier is present for the academic
 806  
      * calendar and a record is found for that identifier, the validation checks
 807  
      * if the academic calendar can be shifted to the new values. If a record
 808  
      * cannot be found for the identifier, it is assumed that the record does
 809  
      * not exist and as such, the checks performed will be much shallower,
 810  
      * typically mimicking those performed by setting the validationType to the
 811  
      * current object. This is a slightly different pattern from the standard
 812  
      * validation as the caller provides the identifier in the create statement
 813  
      * instead of the server assigning an identifier.
 814  
      *
 815  
      * @param validationType     Identifier of the extent of validation
 816  
      * @param socRolloverResultInfo the socRolloverResult information to be tested.
 817  
      * @param context            Context information containing the principalId and locale
 818  
      *                           information about the caller of service operation
 819  
      * @return the results from performing the validation
 820  
      * @throws DoesNotExistException     validationTypeKey not found
 821  
      * @throws InvalidParameterException invalid validationTypeKey, socRolloverResultInfo
 822  
      * @throws MissingParameterException missing validationTypeKey, socRolloverResultInfo
 823  
      * @throws OperationFailedException  unable to complete request
 824  
      */
 825  
     public List<ValidationResultInfo> validateSocRolloverResult(@WebParam(name = "validationType") String validationType,
 826  
             @WebParam(name = "socRolloverResultInfo") SocRolloverResultInfo socRolloverResultInfo,
 827  
             @WebParam(name = "context") ContextInfo context)
 828  
             throws DoesNotExistException, InvalidParameterException,
 829  
             MissingParameterException, OperationFailedException;
 830  
 
 831  
     /**
 832  
      * Retrieve information about a SocRolloverResultItem
 833  
      *
 834  
      * @param socRolloverResultItemId Unique Id of the SocRolloverResultItem
 835  
      * @param context          Context information containing the principalId and locale
 836  
      *                         information about the caller of service operation
 837  
      * @throws DoesNotExistException     socRolloverResultItemId not found
 838  
      * @throws InvalidParameterException invalid parameter
 839  
      * @throws MissingParameterException missing parameter
 840  
      * @throws OperationFailedException  unable to complete request
 841  
      * @throws PermissionDeniedException authorization failure
 842  
      */
 843  
     public SocRolloverResultItemInfo getSocRolloverResultItem(@WebParam(name = "socRolloverResultItemId") String socRolloverResultItemId,
 844  
             @WebParam(name = "context") ContextInfo context)
 845  
             throws DoesNotExistException, InvalidParameterException,
 846  
             MissingParameterException, OperationFailedException, PermissionDeniedException;
 847  
 
 848  
     /**
 849  
      * Creates a new SocRolloverResultItem
 850  
      * 
 851  
      * @param socRolloverResultId     Id of the corresponding soc rollover result
 852  
      * @param socRolloverResultItemTypeKey     soc rollover result type key
 853  
      * @param socRolloverResultItemInfo    object to be created
 854  
      * @param context      Context information containing the principalId and locale
 855  
      *                     information about the caller of service operation
 856  
      * @return newly created SocRolloverResultItemInfo
 857  
      * @throws DoesNotExistException        termId or socRolloverResultItemTypeKey not found
 858  
      * @throws DataValidationErrorException One or more values invalid for this operation
 859  
      * @throws InvalidParameterException    One or more parameters invalid
 860  
      * @throws MissingParameterException    One or more parameters missing
 861  
      * @throws OperationFailedException     unable to complete request
 862  
      * @throws PermissionDeniedException    authorization failure
 863  
      */
 864  
     public SocRolloverResultItemInfo createSocRolloverResultItem(@WebParam(name = "socRolloverResultId") String socRolloverResultId,
 865  
             @WebParam(name = "socRolloverResultItemTypeKey") String socRolloverResultItemTypeKey,
 866  
             @WebParam(name = "socRolloverResultItemInfo") SocRolloverResultItemInfo socRolloverResultItemInfo,
 867  
             @WebParam(name = "context") ContextInfo context)
 868  
             throws DoesNotExistException, DataValidationErrorException, InvalidParameterException,
 869  
             MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 870  
 
 871  
     /**
 872  
      * Bulk create of  SocRolloverResultItems
 873  
      * 
 874  
      * All must be for the same result and type.
 875  
      * 
 876  
      * @param socRolloverResultId     Id of the corresponding soc rollover result
 877  
      * @param socRolloverResultItemTypeKey     soc rollover result type key
 878  
      * @param socRolloverResultItemInfos    objects to be created
 879  
      * @param context      Context information containing the principalId and locale
 880  
      *                     information about the caller of service operation
 881  
      * @return count of number of items created
 882  
      * @throws DoesNotExistException        termId or socRolloverResultItemTypeKey not found
 883  
      * @throws DataValidationErrorException One or more values invalid for this operation
 884  
      * @throws InvalidParameterException    One or more parameters invalid
 885  
      * @throws MissingParameterException    One or more parameters missing
 886  
      * @throws OperationFailedException     unable to complete request
 887  
      * @throws PermissionDeniedException    authorization failure
 888  
      */
 889  
     public Integer createSocRolloverResultItems(@WebParam(name = "socRolloverResultId") String socRolloverResultId,
 890  
             @WebParam(name = "socRolloverResultItemTypeKey") String socRolloverResultItemTypeKey,
 891  
             @WebParam(name = "socRolloverResultItemInfos") List<SocRolloverResultItemInfo> socRolloverResultItemInfos,
 892  
             @WebParam(name = "context") ContextInfo context)
 893  
             throws DoesNotExistException, DataValidationErrorException, InvalidParameterException,
 894  
             MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 895  
 
 896  
     /**
 897  
      * Updates an existing SocRolloverResultItem.
 898  
      *
 899  
      * @param socRolloverResultItemId   Id of SocRolloverResultItem to be updated
 900  
      * @param socRolloverResultItemInfo Details of updates to the SocRolloverResultItem
 901  
      * @param context            Context information containing the principalId and locale
 902  
      *                           information about the caller of service operation
 903  
      * @return updated SocRolloverResultItem
 904  
      * @throws DataValidationErrorException One or more values invalid for this operation
 905  
      * @throws DoesNotExistException      the SocRolloverResultItem does not exist
 906  
      * @throws InvalidParameterException    One or more parameters invalid
 907  
      * @throws MissingParameterException    One or more parameters missing
 908  
      * @throws OperationFailedException     unable to complete request
 909  
      * @throws PermissionDeniedException    authorization failure
 910  
      * @throws VersionMismatchException     The action was attempted on an out of date version.
 911  
      */
 912  
     public SocRolloverResultItemInfo updateSocRolloverResultItem(@WebParam(name = "socRolloverResultItemId") String socRolloverResultItemId,
 913  
             @WebParam(name = "socRolloverResultItemInfo") SocRolloverResultItemInfo socRolloverResultItemInfo,
 914  
             @WebParam(name = "context") ContextInfo context)
 915  
             throws DataValidationErrorException, DoesNotExistException, InvalidParameterException,
 916  
             MissingParameterException, OperationFailedException, PermissionDeniedException,
 917  
             ReadOnlyException, VersionMismatchException;
 918  
 
 919  
     /**
 920  
      * Deletes an existing SocRolloverResultItem. 
 921  
      *
 922  
      * @param socRolloverResultItemId the Id of the ActivityOffering to be deleted
 923  
      * @param context          Context information containing the principalId and locale
 924  
      *                         information about the caller of service operation
 925  
      * @return status of the operation (success, failed)
 926  
      * @throws DoesNotExistException     the SeatPoolDefinition does not exist
 927  
      * @throws InvalidParameterException One or more parameters invalid
 928  
      * @throws MissingParameterException One or more parameters missing
 929  
      * @throws OperationFailedException  unable to complete request
 930  
      * @throws PermissionDeniedException authorization failure
 931  
      */
 932  
     public StatusInfo deleteSocRolloverResultItem(@WebParam(name = "socRolloverResultItemId") String socRolloverResultItemId,
 933  
             @WebParam(name = "context") ContextInfo context)
 934  
             throws DoesNotExistException, InvalidParameterException,
 935  
             MissingParameterException, OperationFailedException, PermissionDeniedException;
 936  
 
 937  
     /**
 938  
      * Validates a SocRolloverResultItem. Depending on the value of validationType,
 939  
      * this validation could be limited to tests on just the current object and
 940  
      * its directly contained sub-objects or expanded to perform all tests
 941  
      * related to this object. If an identifier is present for the academic
 942  
      * calendar and a record is found for that identifier, the validation checks
 943  
      * if the academic calendar can be shifted to the new values. If a record
 944  
      * cannot be found for the identifier, it is assumed that the record does
 945  
      * not exist and as such, the checks performed will be much shallower,
 946  
      * typically mimicking those performed by setting the validationType to the
 947  
      * current object. This is a slightly different pattern from the standard
 948  
      * validation as the caller provides the identifier in the create statement
 949  
      * instead of the server assigning an identifier.
 950  
      *
 951  
      * @param validationType     Identifier of the extent of validation
 952  
      * @param socRolloverResultItemInfo the socRolloverResultItem information to be tested.
 953  
      * @param context            Context information containing the principalId and locale
 954  
      *                           information about the caller of service operation
 955  
      * @return the results from performing the validation
 956  
      * @throws DoesNotExistException     validationTypeKey not found
 957  
      * @throws InvalidParameterException invalid validationTypeKey, socRolloverResultItemInfo
 958  
      * @throws MissingParameterException missing validationTypeKey, socRolloverResultItemInfo
 959  
      * @throws OperationFailedException  unable to complete request
 960  
      */
 961  
     public List<ValidationResultInfo> validateSocRolloverResultItem(@WebParam(name = "validationType") String validationType,
 962  
             @WebParam(name = "socRolloverResultItemInfo") SocRolloverResultItemInfo socRolloverResultItemInfo,
 963  
             @WebParam(name = "context") ContextInfo context)
 964  
             throws DoesNotExistException, InvalidParameterException,
 965  
             MissingParameterException, OperationFailedException;
 966  
 
 967  
     /**
 968  
      * Searches for soc rollover result ids using a free form search criteria.
 969  
      *
 970  
      * @param criteria
 971  
      * @param context
 972  
      * @return
 973  
      * @throws InvalidParameterException
 974  
      * @throws MissingParameterException
 975  
      * @throws OperationFailedException
 976  
      * @throws PermissionDeniedException
 977  
      */
 978  
     public List<String> searchForSocRolloverResultIds(@WebParam(name = "criteria") QueryByCriteria criteria,
 979  
             @WebParam(name = "context") ContextInfo context) throws InvalidParameterException, MissingParameterException,
 980  
             OperationFailedException, PermissionDeniedException;
 981  
 
 982  
     /**
 983  
      * Searches for soc rollover results using a free form search criteria
 984  
      *
 985  
      * @param criteria
 986  
      * @param context
 987  
      * @throws InvalidParameterException
 988  
      * @throws MissingParameterException
 989  
      * @throws OperationFailedException
 990  
      * @throws PermissionDeniedException
 991  
      */
 992  
     public List<SocRolloverResultInfo> searchForSocRolloverResults(@WebParam(name = "criteria") QueryByCriteria criteria,
 993  
             @WebParam(name = "context") ContextInfo context)  throws InvalidParameterException, MissingParameterException,
 994  
             OperationFailedException,PermissionDeniedException;
 995  
 
 996  
 }