1
2
3 package org.kuali.student.enrollment.coursewaitlist.service;
4
5 import java.util.List;
6
7 import javax.jws.WebParam;
8 import javax.jws.WebService;
9 import javax.jws.soap.SOAPBinding;
10
11 import org.kuali.rice.core.api.criteria.QueryByCriteria;
12 import org.kuali.student.enrollment.courseregistration.dto.RegistrationResponseInfo;
13 import org.kuali.student.enrollment.coursewaitlist.dto.CourseWaitlistEntryInfo;
14 import org.kuali.student.r2.common.dto.ContextInfo;
15 import org.kuali.student.r2.common.dto.StatusInfo;
16 import org.kuali.student.r2.common.exceptions.AlreadyExistsException;
17 import org.kuali.student.r2.common.exceptions.DataValidationErrorException;
18 import org.kuali.student.r2.common.exceptions.DoesNotExistException;
19 import org.kuali.student.r2.common.exceptions.InvalidParameterException;
20 import org.kuali.student.r2.common.exceptions.MissingParameterException;
21 import org.kuali.student.r2.common.exceptions.OperationFailedException;
22 import org.kuali.student.r2.common.exceptions.PermissionDeniedException;
23 import org.kuali.student.r2.common.util.constants.CourseWaitlistServiceConstants;
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 @WebService(name = "CourseWaitlistService", targetNamespace = CourseWaitlistServiceConstants.NAMESPACE)
40 @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
41 public interface CourseWaitlistService {
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 public Integer getAvailableSeatsForCourseOffering(@WebParam(name = "courseOfferingId") String courseOfferingId, @WebParam(name = "context") ContextInfo context) throws InvalidParameterException,
57 MissingParameterException, OperationFailedException, PermissionDeniedException;
58
59
60
61
62
63
64
65
66
67
68
69
70 public Integer getAvailableSeatsForRegGroup(@WebParam(name = "regGroupId") String regGroupId, @WebParam(name = "context") ContextInfo context) throws InvalidParameterException,
71 MissingParameterException, OperationFailedException, PermissionDeniedException;
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91 public Integer getAvailableSeatsForStudentInRegGroup(@WebParam(name = "studentId") String studentId, @WebParam(name = "regGroupId") String regGroupId,
92 @WebParam(name = "context") ContextInfo context) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108 public Integer getAvailableSeatsInSeatpool(@WebParam(name = "seatpoolId") String seatpoolId, @WebParam(name = "context") ContextInfo context) throws InvalidParameterException,
109 MissingParameterException, OperationFailedException, PermissionDeniedException;
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124 public CourseWaitlistEntryInfo getCourseWaitlistEntry(@WebParam(name = "courseWaitlistEntryId") String courseWaitlistEntryId, @WebParam(name = "context") ContextInfo context)
125 throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146 public StatusInfo updateCourseWaitlistEntry(@WebParam(name = "courseWaitlistEntryId") String courseWaitlistEntryId,
147 @WebParam(name = "courseWaitlistEntryInfo") CourseWaitlistEntryInfo courseWaitlistEntryInfo, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException,
148 DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167 public StatusInfo reorderCourseWaitlistEntries(@WebParam(name = "courseWaitlistEntryIds") List<String> courseWaitlistEntryIds, @WebParam(name = "context") ContextInfo context)
168 throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186 public StatusInfo insertCourseWaitlistEntryAtPosition(@WebParam(name = "courseWaitlistEntryId") String courseWaitlistEntryId, @WebParam(name = "position") Integer position,
187 @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202 public StatusInfo removeCourseWaitlistEntry(@WebParam(name = "courseWaitlistEntryId") String courseWaitlistEntryId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException,
203 InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
204
205
206
207
208
209
210
211
212
213
214
215
216 public StatusInfo deleteCourseWaitlistEntry(@WebParam(name = "courseWaitlistEntryId") String courseWaitlistEntryId, @WebParam(name = "context") ContextInfo context)
217 throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232 public StatusInfo validateCourseWaitlistEntry(@WebParam(name = "validateTypeKey") String validateTypeKey,
233 @WebParam(name = "courseWaitlistEntryInfo") CourseWaitlistEntryInfo courseWaitlistEntryInfo, @WebParam(name = "context") ContextInfo context) throws DataValidationErrorException,
234 InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249 public RegistrationResponseInfo registerStudentFromWaitlist(@WebParam(name = "courseWaitlistEntryId") String courseWaitlistEntryId, @WebParam(name = "context") ContextInfo context)
250 throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
251
252
253
254
255
256
257
258
259
260
261
262
263
264 public List<CourseWaitlistEntryInfo> getCourseWaitlistEntriesForCourseOffering(@WebParam(name = "courseOfferingId") String courseOfferingId, @WebParam(name = "context") ContextInfo context)
265 throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
266
267
268
269
270
271
272
273
274
275
276
277
278 public List<CourseWaitlistEntryInfo> getCourseWaitlistEntriesForRegGroup(@WebParam(name = "regGroupId") String regGroupId, @WebParam(name = "context") ContextInfo context)
279 throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
280
281
282
283
284
285
286
287
288
289
290
291
292
293 public List<CourseWaitlistEntryInfo> getCourseWaitlistEntriesForStudentInCourseOffering(@WebParam(name = "courseOfferingId") String courseOfferingId,
294 @WebParam(name = "studentId") String studentId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException,
295 OperationFailedException, PermissionDeniedException;
296
297
298
299
300
301
302
303
304
305
306
307
308 public CourseWaitlistEntryInfo getCourseWaitlistEntryForStudentInRegGroup(@WebParam(name = "regGroupId") String regGroupId, @WebParam(name = "studentId") String studentId,
309 @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324 public List<CourseWaitlistEntryInfo> getCourseWaitlistEntriesForStudentByTerm(@WebParam(name = "studentId") String studentId, @WebParam(name = "termId") String termId,
325 @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
326
327
328
329
330
331
332
333 public List<CourseWaitlistEntryInfo> searchForCourseWaitlistEntries(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "context") ContextInfo context)
334 throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;;
335
336
337
338
339
340
341
342 public List<String> searchForCourseWaitlistEntryIds(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "context") ContextInfo context) throws InvalidParameterException,
343 MissingParameterException, OperationFailedException, PermissionDeniedException;;
344
345 }