View Javadoc

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.student.enrollment.courseofferingset.dto.SocInfo;
19  import org.kuali.student.enrollment.courseofferingset.dto.SocRolloverResultInfo;
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.exceptions.DoesNotExistException;
23  import org.kuali.student.r2.common.exceptions.InvalidParameterException;
24  import org.kuali.student.r2.common.exceptions.MissingParameterException;
25  import org.kuali.student.r2.common.exceptions.OperationFailedException;
26  import org.kuali.student.r2.common.exceptions.PermissionDeniedException;
27  
28  import javax.jws.WebParam;
29  import java.util.List;
30  
31  /**
32   *
33   * @author nwright
34   */
35  public interface CourseOfferingSetServiceBusinessLogic {
36  
37      public Integer deleteCourseOfferingsBySoc(String socId, ContextInfo context)
38              throws DoesNotExistException, InvalidParameterException,
39              MissingParameterException, OperationFailedException, PermissionDeniedException;
40  
41      public List<String> getCourseOfferingIdsBySoc(String socId, ContextInfo context)
42              throws DoesNotExistException,
43              InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
44  
45      public List<String> getPublishedCourseOfferingIdsBySoc(String socId, ContextInfo context)
46              throws DoesNotExistException,
47              InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
48  
49      public List<String> getUnpublishedActivityOfferingIdsBySoc(String socId, ContextInfo context)
50              throws DoesNotExistException,
51              InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
52  
53      public List<String> getUnpublishedCourseOfferingIdsBySoc(String socId, ContextInfo context)
54              throws DoesNotExistException,
55              InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
56  
57      public List<String> getUnscheduledActivityOfferingIdsBySoc(String socId, ContextInfo context)
58              throws DoesNotExistException,
59              InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
60  
61      public Boolean isCourseOfferingInSoc(String socId, String courseOfferingId, ContextInfo context)
62              throws DoesNotExistException,
63              InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
64  
65      public SocRolloverResultInfo reverseRollover(String rolloverResultId, List<String> optionKeys, ContextInfo context)
66              throws DoesNotExistException,
67              InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
68  
69      public SocInfo rolloverSoc(String sourceSocId, String targetTermId, List<String> optionKeys, ContextInfo context)
70              throws DoesNotExistException,
71              InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
72  
73      /**
74       * Requests that the course offerings in this Soc be submitted to the scheduler.
75       *
76       * This method starts what is known as the mass scheduling event.
77       *
78       * The expectation is that this method starts an asynchronous process to perform the scheduling that will complete or fail eventually independently of this method call.
79       *
80       * The <em>optionKeys</em> parameter can be used to alter the default processing behavior.
81       *
82       * @param socId Id of the Set of Courses
83       * @param optionKeys  keys that alter the default processing behavior.
84       * @param context  Context information containing the principalId and locale
85       *                 information about the caller of service operation
86       * @return status of the starting the scheduling process for the activityOffering (success, failed)
87       * @throws DoesNotExistException     socId not found
88       * @throws InvalidParameterException contextInfo object is invalid
89       * @throws MissingParameterException one or more missing parameters
90       * @throws OperationFailedException  unable to complete request
91       * @throws PermissionDeniedException authorization failure
92       */
93      public StatusInfo startScheduleSoc(@WebParam(name = "socId") String socId, @WebParam (name="optionKeys")
94      List<String> optionKeys, @WebParam(name = "context") ContextInfo context)
95              throws DoesNotExistException, InvalidParameterException, MissingParameterException,
96              OperationFailedException, PermissionDeniedException;
97  
98  }