Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
AtpService |
|
| 1.0;1 |
1 | /** | |
2 | * Copyright 2010 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.core.atp.service; | |
17 | ||
18 | import java.util.Date; | |
19 | import java.util.List; | |
20 | ||
21 | import javax.jws.WebParam; | |
22 | import javax.jws.WebService; | |
23 | import javax.jws.soap.SOAPBinding; | |
24 | ||
25 | import org.kuali.student.common.dictionary.service.DictionaryService; | |
26 | import org.kuali.student.common.dto.StatusInfo; | |
27 | import org.kuali.student.common.exceptions.AlreadyExistsException; | |
28 | import org.kuali.student.common.exceptions.DataValidationErrorException; | |
29 | import org.kuali.student.common.exceptions.DoesNotExistException; | |
30 | import org.kuali.student.common.exceptions.InvalidParameterException; | |
31 | import org.kuali.student.common.exceptions.MissingParameterException; | |
32 | import org.kuali.student.common.exceptions.OperationFailedException; | |
33 | import org.kuali.student.common.exceptions.PermissionDeniedException; | |
34 | import org.kuali.student.common.exceptions.VersionMismatchException; | |
35 | import org.kuali.student.common.search.service.SearchService; | |
36 | import org.kuali.student.common.validation.dto.ValidationResultInfo; | |
37 | import org.kuali.student.core.atp.dto.AtpDurationTypeInfo; | |
38 | import org.kuali.student.core.atp.dto.AtpInfo; | |
39 | import org.kuali.student.core.atp.dto.AtpSeasonalTypeInfo; | |
40 | import org.kuali.student.core.atp.dto.AtpTypeInfo; | |
41 | import org.kuali.student.core.atp.dto.DateRangeInfo; | |
42 | import org.kuali.student.core.atp.dto.DateRangeTypeInfo; | |
43 | import org.kuali.student.core.atp.dto.MilestoneInfo; | |
44 | import org.kuali.student.core.atp.dto.MilestoneTypeInfo; | |
45 | ||
46 | ||
47 | /** | |
48 | * <b>Academic Time Period Service Description and Assumptions</b> | |
49 | * <p>This service supports the management of Academic Time Periods and their associated Date Ranges and Milestones. The intent is to provide a flexible but structured way to define the various time frames that are used throughout the definition, offering and scheduling of Learning Units. This is a catalogue service with basic operations.</p> | |
50 | * | |
51 | */ | |
52 | @WebService(name = "AtpService", targetNamespace = "http://student.kuali.org/wsdl/atp") | |
53 | @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED) | |
54 | public interface AtpService extends SearchService, DictionaryService { | |
55 | /** | |
56 | * Retrieves the list of academic time period types known by this service | |
57 | * @return list of academic time period types | |
58 | * @throws OperationFailedException unable to complete request | |
59 | */ | |
60 | public List<AtpTypeInfo> getAtpTypes() throws OperationFailedException; | |
61 | ||
62 | /** | |
63 | * Retrieves information about a particular academic time period type | |
64 | * @param atpTypeKey academic time period type identifier | |
65 | * @return academic time period type information | |
66 | * @throws DoesNotExistException specified atp type not found | |
67 | * @throws InvalidParameterException invalid atpTypeKey | |
68 | * @throws MissingParameterException atpTypeKey not specified | |
69 | * @throws OperationFailedException unable to complete request | |
70 | */ | |
71 | public AtpTypeInfo getAtpType(@WebParam(name="atpTypeKey")String atpTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
72 | ||
73 | /** | |
74 | * Retrieves the list of Academic Time Period Seasonal Types known by this service | |
75 | * @return List of academic time period seasonal types | |
76 | * @throws OperationFailedException unable to complete request | |
77 | */ | |
78 | public List<AtpSeasonalTypeInfo> getAtpSeasonalTypes() throws OperationFailedException; | |
79 | ||
80 | /** | |
81 | * Retrieves information about a particular academic time period seasonal type | |
82 | * @param atpSeasonalTypeKey academic time period seasonal type identifier | |
83 | * @return academic time period seasonal type information | |
84 | * @throws DoesNotExistException specified atp seasonal type not found | |
85 | * @throws InvalidParameterException invalid atpSeasonalTypeKey | |
86 | * @throws MissingParameterException atpSeasonalTypeKey not specified | |
87 | * @throws OperationFailedException unable to complete request | |
88 | */ | |
89 | public AtpSeasonalTypeInfo getAtpSeasonalType(@WebParam(name="atpSeasonalTypeKey")String atpSeasonalTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
90 | ||
91 | /** | |
92 | * Retrieves the list of Academic Time Period Duration Types known by this service | |
93 | * @return List of academic time period duration types | |
94 | * @throws OperationFailedException unable to complete request | |
95 | */ | |
96 | public List<AtpDurationTypeInfo> getAtpDurationTypes() throws OperationFailedException; | |
97 | ||
98 | /** | |
99 | * Retrieves information about a particular academic time period duration type | |
100 | * @param atpDurationTypeKey academic time period duration type identifier | |
101 | * @return academic time period duration type information | |
102 | * @throws DoesNotExistException specified atp duration type not found | |
103 | * @throws InvalidParameterException invalid atpDurationTypeKey | |
104 | * @throws MissingParameterException atpDurationTypeKey not specified | |
105 | * @throws OperationFailedException unable to complete request | |
106 | */ | |
107 | public AtpDurationTypeInfo getAtpDurationType(@WebParam(name="atpDurationTypeKey")String atpDurationTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
108 | ||
109 | /** | |
110 | * Retrieves the list of milestone types known by this service | |
111 | * @return List of milestone types | |
112 | * @throws OperationFailedException unable to complete request | |
113 | */ | |
114 | public List<MilestoneTypeInfo> getMilestoneTypes() throws OperationFailedException; | |
115 | ||
116 | /** | |
117 | * Retrieves information about a particular milestone type | |
118 | * @param milestoneTypeKey milestone type identifier | |
119 | * @return milestone type information | |
120 | * @throws DoesNotExistException specified milestone type not found | |
121 | * @throws InvalidParameterException invalid milestoneTypeKey | |
122 | * @throws MissingParameterException milestoneTypeKey not specified | |
123 | * @throws OperationFailedException unable to complete request | |
124 | */ | |
125 | public MilestoneTypeInfo getMilestoneType(@WebParam(name="milestoneTypeKey")String milestoneTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
126 | ||
127 | /** | |
128 | * Retrieves the list of milestone types that are defined for a particular Atp Type | |
129 | * @param atpTypeKey atpTypeKey | |
130 | * @return List of milestone types | |
131 | * @throws DoesNotExistException specified atpTypeKey not found | |
132 | * @throws InvalidParameterException invalid atpTypeKey | |
133 | * @throws MissingParameterException atpTypeKey not specified | |
134 | * @throws OperationFailedException unable to complete request | |
135 | */ | |
136 | public List<MilestoneTypeInfo> getMilestoneTypesForAtpType(@WebParam(name="atpTypeKey")String atpTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
137 | ||
138 | /** | |
139 | * Retrieves the list of date range types known by this service | |
140 | * @return List of date range types | |
141 | * @throws OperationFailedException unable to complete request | |
142 | */ | |
143 | public List<DateRangeTypeInfo> getDateRangeTypes() throws OperationFailedException; | |
144 | ||
145 | /** | |
146 | * Retrieves information about a particular date range type | |
147 | * @param dateRangeTypeKey date range type identifier | |
148 | * @return date range type information | |
149 | * @throws DoesNotExistException specified date range type not found | |
150 | * @throws InvalidParameterException invalid dateRangeTypeKey | |
151 | * @throws MissingParameterException dateRangeTypeKey not specified | |
152 | * @throws OperationFailedException unable to complete request | |
153 | */ | |
154 | public DateRangeTypeInfo getDateRangeType(@WebParam(name="dateRangeTypeKey")String dateRangeTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
155 | ||
156 | /** | |
157 | * Retrieves the list of dateRange types that are defined for a particular Atp Type | |
158 | * @param atpTypeKey atpTypeKey | |
159 | * @return List of milestone types | |
160 | * @throws DoesNotExistException specified atpTypeKey not found | |
161 | * @throws InvalidParameterException invalid atpTypeKey | |
162 | * @throws MissingParameterException atpTypeKey not specified | |
163 | * @throws OperationFailedException unable to complete request | |
164 | */ | |
165 | public List<DateRangeTypeInfo> getDateRangeTypesForAtpType(@WebParam(name="atpTypeKey")String atpTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
166 | ||
167 | /** | |
168 | * Validates an academic time period. Depending on the value of validationType, this validation could be limited to tests on just the current object and its directly contained subobjects or expanded to perform all tests related to this object. If an identifier is present for the academic time period and a record is found for that identifier, the validation checks if the academic time period can be shifted to the new values. If a record cannot be found for the identifier, it is assumed that the record does not exist and as such, the checks performed will be much shallower, typically mimicking those performed by setting the validationType to the current object. This is a slightly different pattern from the standard validation as the caller provides the identifier in the create statement instead of the server assigning an identifier. | |
169 | * @param validationType Identifier of the extent of validation | |
170 | * @param atpInfo The academic time period information to be tested. | |
171 | * @return Results from performing the validation | |
172 | * @throws DoesNotExistException validationTypeKey not found | |
173 | * @throws InvalidParameterException invalid validationTypeKey, atpInfo | |
174 | * @throws MissingParameterException missing validationTypeKey, atpInfo | |
175 | * @throws OperationFailedException unable to complete request | |
176 | */ | |
177 | public List<ValidationResultInfo> validateAtp(@WebParam(name="validationType")String validationType, @WebParam(name="atpInfo")AtpInfo atpInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
178 | ||
179 | /** | |
180 | * Validates a milestone. Depending on the value of validationType, this validation could be limited to tests on just the current object and its directly contained subobjects or expanded to perform all tests related to this object. If an identifier is present for the milestone and a record is found for that identifier, the validation checks if the milestone can be shifted to the new values. If a record cannot be found for the identifier, it is assumed that the record does not exist and as such, the checks performed will be much shallower, typically mimicking those performed by setting the validationType to the current object. This is a slightly different pattern from the standard validation as the caller provides the identifier in the create statement instead of the server assigning an identifier. | |
181 | * @param validationType Identifier of the extent of validation | |
182 | * @param milestoneInfo The milestone information to be tested. | |
183 | * @return Results from performing the validation | |
184 | * @throws DoesNotExistException validationTypeKey not found | |
185 | * @throws InvalidParameterException invalid validationTypeKey, milestoneInfo | |
186 | * @throws MissingParameterException missing validationTypeKey, milestoneInfo | |
187 | * @throws OperationFailedException unable to complete request | |
188 | */ | |
189 | public List<ValidationResultInfo> validateMilestone(@WebParam(name="validationType")String validationType, @WebParam(name="milestoneInfo")MilestoneInfo milestoneInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
190 | ||
191 | /** | |
192 | * Validates a date range. Depending on the value of validationType, this validation could be limited to tests on just the current object and its directly contained subobjects or expanded to perform all tests related to this object. If an identifier is present for the date range and a record is found for that identifier, the validation checks if the academic time period can be shifted to the new values. If a record cannot be found for the identifier, it is assumed that the record does not exist and as such, the checks performed will be much shallower, typically mimicking those performed by setting the validationType to the current object. This is a slightly different pattern from the standard validation as the caller provides the identifier in the create statement instead of the server assigning an identifier. | |
193 | * @param validationType Identifier of the extent of validation | |
194 | * @param dateRangeInfo The date range information to be tested. | |
195 | * @return Results from performing the validation | |
196 | * @throws DoesNotExistException validationTypeKey not found | |
197 | * @throws InvalidParameterException invalid validationTypeKey, dateRangeInfo | |
198 | * @throws MissingParameterException missing validationTypeKey, dateRangeInfo | |
199 | * @throws OperationFailedException unable to complete request | |
200 | */ | |
201 | public List<ValidationResultInfo> validateDateRange(@WebParam(name="validationType")String validationType, @WebParam(name="dateRangeInfo")DateRangeInfo dateRangeInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
202 | ||
203 | /** | |
204 | * Retrieves the details of a single Academic Time Period by atpKey | |
205 | * @param atpKey Unique key of the Academic Time Period to be retrieved | |
206 | * @return Details of the Academic Time Period requested | |
207 | * @throws DoesNotExistException atpKey not found | |
208 | * @throws InvalidParameterException invalid atpKey | |
209 | * @throws MissingParameterException invalid atpKey | |
210 | * @throws OperationFailedException unable to complete request | |
211 | */ | |
212 | public AtpInfo getAtp(@WebParam(name="atpKey")String atpKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
213 | ||
214 | /** | |
215 | * Retrieves the list of Academic Time Periods that the supplied date falls within | |
216 | * @param searchDate Timestamp to be matched | |
217 | * @return List of Academic Time Periods that contain the supplied searchDate | |
218 | * @throws InvalidParameterException invalid searchDate | |
219 | * @throws MissingParameterException invalid searchDate | |
220 | * @throws OperationFailedException unable to complete request | |
221 | */ | |
222 | public List<AtpInfo> getAtpsByDate(@WebParam(name="searchDate")Date searchDate) throws InvalidParameterException, MissingParameterException, OperationFailedException; | |
223 | ||
224 | /** | |
225 | * Retrieves the list of Academic Time Periods that are totally contained within the supplied dates. The entire Atp falls within the supplied dates | |
226 | * @param startDate Earliest Timestamp | |
227 | * @param endDate Latest Timestamp | |
228 | * @return List of Academic Time Periods that contain the supplied searchDate | |
229 | * @throws InvalidParameterException invalid searchDate | |
230 | * @throws MissingParameterException invalid searchDate | |
231 | * @throws OperationFailedException unable to complete request | |
232 | */ | |
233 | public List<AtpInfo> getAtpsByDates(@WebParam(name="startDate")Date startDate, @WebParam(name="endDate")Date endDate) throws InvalidParameterException, MissingParameterException, OperationFailedException; | |
234 | ||
235 | /** | |
236 | * Retrieves a list of Academic Time Periods of the specified type | |
237 | * @param atpTypeKey ATP type to be retrieved | |
238 | * @return List of Academic Time Periods that contain the supplied date | |
239 | * @throws InvalidParameterException invalid atpTypeKey | |
240 | * @throws MissingParameterException invalid atpTypeKey | |
241 | * @throws OperationFailedException unable to complete request | |
242 | */ | |
243 | public List<AtpInfo> getAtpsByAtpType(@WebParam(name="atpTypeKey")String atpTypeKey) throws InvalidParameterException, MissingParameterException, OperationFailedException; | |
244 | ||
245 | /** | |
246 | * Retrieves the details of the specified milestone | |
247 | * @param milestoneKey Unique id of the milestone to be retrieved | |
248 | * @return Details of requested milestone | |
249 | * @throws DoesNotExistException milestoneKey not found | |
250 | * @throws InvalidParameterException invalid milestoneKey | |
251 | * @throws MissingParameterException invalid milestoneKey | |
252 | * @throws OperationFailedException unable to complete request | |
253 | */ | |
254 | public MilestoneInfo getMilestone(@WebParam(name="milestoneKey")String milestoneKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
255 | ||
256 | /** | |
257 | * Retrieves the list of milestones for a specified Academic Time Period | |
258 | * @param atpKey Unique key of the Academic Time Period to be retieved | |
259 | * @return List of milestones for this Academic Time Period | |
260 | * @throws InvalidParameterException invalid atpKey | |
261 | * @throws MissingParameterException invalid atpKey | |
262 | * @throws OperationFailedException unable to complete request | |
263 | */ | |
264 | public List<MilestoneInfo> getMilestonesByAtp(@WebParam(name="atpKey")String atpKey) throws InvalidParameterException, MissingParameterException, OperationFailedException; | |
265 | ||
266 | /** | |
267 | * Retrieves the list of milestones that fall within a specified set of dates | |
268 | * @param startDate Start Date for date span | |
269 | * @param endDate End Date for date span | |
270 | * @return List of milestones that fall within this set of dates | |
271 | * @throws InvalidParameterException One or more parameters invalid | |
272 | * @throws MissingParameterException One or more parameter(s) missing | |
273 | * @throws OperationFailedException unable to complete request | |
274 | */ | |
275 | public List<MilestoneInfo> getMilestonesByDates(@WebParam(name="startDate")Date startDate, @WebParam(name="endDate")Date endDate) throws InvalidParameterException, MissingParameterException, OperationFailedException; | |
276 | ||
277 | /** | |
278 | * Retrieves a list of milestones of a specified type that fall within a specified set of dates | |
279 | * @param milestoneTypeKey Milestone type to be retrieved | |
280 | * @param startDate Start Date for date range | |
281 | * @param endDate End Date for date range | |
282 | * @return List of milestones of this milestone type within this set of dates | |
283 | * @throws InvalidParameterException One or more parameters invalid | |
284 | * @throws MissingParameterException One or more parameters missing | |
285 | * @throws OperationFailedException unable to complete request | |
286 | */ | |
287 | public List<MilestoneInfo> getMilestonesByDatesAndType(@WebParam(name="milestoneTypeKey")String milestoneTypeKey, @WebParam(name="startDate")Date startDate, @WebParam(name="endDate")Date endDate) throws InvalidParameterException, MissingParameterException, OperationFailedException; | |
288 | ||
289 | /** | |
290 | * Retrieves the details of the specified daterange | |
291 | * @param dateRangeKey Unique id of the date range to be retrieved | |
292 | * @return Details of requested daterange | |
293 | * @throws DoesNotExistException dateRangeKey not found | |
294 | * @throws InvalidParameterException invalid dateRangeKey | |
295 | * @throws MissingParameterException missing dateRangeKey | |
296 | * @throws OperationFailedException unable to complete request | |
297 | */ | |
298 | public DateRangeInfo getDateRange(@WebParam(name="dateRangeKey")String dateRangeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
299 | ||
300 | /** | |
301 | * Retrieves the list of DateRanges for a specified Academic Time Period | |
302 | * @param atpKey Unique key of the Academic Time Period to be retieved | |
303 | * @return List of dateRanges for this Academic Time Period | |
304 | * @throws InvalidParameterException invalid atpKey | |
305 | * @throws MissingParameterException invalid atpKey | |
306 | * @throws OperationFailedException unable to complete request | |
307 | */ | |
308 | public List<DateRangeInfo> getDateRangesByAtp(@WebParam(name="atpKey")String atpKey) throws InvalidParameterException, MissingParameterException, OperationFailedException; | |
309 | ||
310 | /** | |
311 | * Retrieves the list of DateRanges which encompass the specified date | |
312 | * @param searchDate Timestamp to be matched | |
313 | * @return List of dateRanges that contain the supplied searchDate | |
314 | * @throws InvalidParameterException invalid searchDate | |
315 | * @throws MissingParameterException invalid searchDate | |
316 | * @throws OperationFailedException unable to complete request | |
317 | */ | |
318 | public List<DateRangeInfo> getDateRangesByDate(@WebParam(name="searchDate")Date searchDate) throws InvalidParameterException, MissingParameterException, OperationFailedException; | |
319 | ||
320 | /** | |
321 | * Creates a new Academic Time Period | |
322 | * @param atpTypeKey Type of ATP to be created | |
323 | * @param atpKey Key of ATP to be created | |
324 | * @param atpInfo Details of ATP to be created | |
325 | * @return Details of ATP just created | |
326 | * @throws AlreadyExistsException ATP being created already exists | |
327 | * @throws DataValidationErrorException One or more values invalid for this operation | |
328 | * @throws InvalidParameterException One or more parameters invalid | |
329 | * @throws MissingParameterException One or more parameters missing | |
330 | * @throws OperationFailedException unable to complete request | |
331 | * @throws PermissionDeniedException authorization failure | |
332 | */ | |
333 | public AtpInfo createAtp(@WebParam(name="atpTypeKey")String atpTypeKey, @WebParam(name="atpKey")String atpKey, @WebParam(name="atpInfo")AtpInfo atpInfo) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
334 | ||
335 | /** | |
336 | * Updates an existing Academic Time Period | |
337 | * @param atpKey Key of ATP to be updated | |
338 | * @param atpInfo Details of updates to ATP being updated | |
339 | * @return Details of ATP just updated | |
340 | * @throws DataValidationErrorException One or more values invalid for this operation | |
341 | * @throws DoesNotExistException ATP being updated does not exist | |
342 | * @throws InvalidParameterException One or more parameters invalid | |
343 | * @throws MissingParameterException One or more parameters missing | |
344 | * @throws OperationFailedException unable to complete request | |
345 | * @throws PermissionDeniedException authorization failure | |
346 | * @throws VersionMismatchException The action was attempted on an out of date version. | |
347 | */ | |
348 | public AtpInfo updateAtp(@WebParam(name="atpKey")String atpKey, @WebParam(name="atpInfo")AtpInfo atpInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException; | |
349 | ||
350 | /** | |
351 | * Deletes an existing Academic Time Period | |
352 | * @param atpKey Key of ATP to be deleted | |
353 | * @return status of the operation (success, failed) | |
354 | * @throws DoesNotExistException ATP being deleted does not exist | |
355 | * @throws InvalidParameterException One or more parameters invalid | |
356 | * @throws MissingParameterException One or more parameters missing | |
357 | * @throws OperationFailedException unable to complete request | |
358 | * @throws PermissionDeniedException authorization failure | |
359 | */ | |
360 | public StatusInfo deleteAtp(@WebParam(name="atpKey")String atpKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
361 | ||
362 | /** | |
363 | * Add a new milestone to an existing Academic Time Period | |
364 | * @param atpKey Key of ATP to be updated | |
365 | * @param milestoneKey Id of milestone to be added | |
366 | * @param milestoneInfo Details of milestone to be added | |
367 | * @return Details of the newly created milestone | |
368 | * @throws AlreadyExistsException Milestone being added already exists | |
369 | * @throws DataValidationErrorException One or more values invalid for this operation | |
370 | * @throws InvalidParameterException One or more parameters invalid | |
371 | * @throws MissingParameterException One or more parameters missing | |
372 | * @throws OperationFailedException unable to complete request | |
373 | * @throws PermissionDeniedException authorization failure | |
374 | */ | |
375 | public MilestoneInfo addMilestone(@WebParam(name="atpKey")String atpKey, @WebParam(name="milestoneKey")String milestoneKey, @WebParam(name="milestoneInfo")MilestoneInfo milestoneInfo) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
376 | ||
377 | /** | |
378 | * Updates an existing milestone. | |
379 | * @param milestoneKey ID of milestone to be updated | |
380 | * @param milestoneInfo Details of milestone to be updated | |
381 | * @return Details of the updated milestone | |
382 | * @throws DataValidationErrorException One or more values invalid for this operation | |
383 | * @throws DoesNotExistException Milestone being updated does not exist | |
384 | * @throws InvalidParameterException One or more parameters invalid | |
385 | * @throws MissingParameterException One or more parameters missing | |
386 | * @throws OperationFailedException unable to complete request | |
387 | * @throws PermissionDeniedException authorization failure | |
388 | * @throws VersionMismatchException The action was attempted on an out of date version. | |
389 | */ | |
390 | public MilestoneInfo updateMilestone(@WebParam(name="milestoneKey")String milestoneKey, @WebParam(name="milestoneInfo")MilestoneInfo milestoneInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException; | |
391 | ||
392 | /** | |
393 | * Removes an existing milestone. | |
394 | * @param milestoneKey Id of milestone to be removed | |
395 | * @return Status of the operation (success, failed) | |
396 | * @throws DoesNotExistException Milestone being removed does not exist | |
397 | * @throws InvalidParameterException One or more parameters invalid | |
398 | * @throws MissingParameterException One or more parameters missing | |
399 | * @throws OperationFailedException unable to complete request | |
400 | * @throws PermissionDeniedException authorization failure | |
401 | */ | |
402 | public StatusInfo removeMilestone(@WebParam(name="milestoneKey")String milestoneKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
403 | ||
404 | /** | |
405 | * Adds a new dateRange to an existing Academic Time Period | |
406 | * @param atpKey key of the ATP to be associated with the dateRange | |
407 | * @param dateRangeKey identifier of the dateRange to be added | |
408 | * @param dateRangeInfo details of the dateRange to be added | |
409 | * @return details of the newly created dateRange | |
410 | * @throws AlreadyExistsException dateRange being added already exists | |
411 | * @throws DataValidationErrorException one or more values invalid for this operation | |
412 | * @throws InvalidParameterException one or more parameters invalid | |
413 | * @throws MissingParameterException one or more parameters missing | |
414 | * @throws OperationFailedException unable to complete request | |
415 | * @throws PermissionDeniedException authorization failure | |
416 | */ | |
417 | public DateRangeInfo addDateRange(@WebParam(name="atpKey")String atpKey, @WebParam(name="dateRangeKey")String dateRangeKey, @WebParam(name="dateRangeInfo")DateRangeInfo dateRangeInfo) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
418 | ||
419 | /** | |
420 | * Updates an existing daterange | |
421 | * @param dateRangeKey identifier of daterange to be updated | |
422 | * @param dateRangeInfo details of daterange to be updated | |
423 | * @return details of the updated dateRange | |
424 | * @throws DataValidationErrorException One or more values invalid for this operation | |
425 | * @throws DoesNotExistException dateRange being updated does not exist | |
426 | * @throws InvalidParameterException one or more parameters invalid | |
427 | * @throws MissingParameterException one or more parameters missing | |
428 | * @throws OperationFailedException unable to complete request | |
429 | * @throws PermissionDeniedException authorization failure | |
430 | * @throws VersionMismatchException action was attempted on an out of date version. | |
431 | */ | |
432 | public DateRangeInfo updateDateRange(@WebParam(name="dateRangeKey")String dateRangeKey, @WebParam(name="dateRangeInfo")DateRangeInfo dateRangeInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException; | |
433 | ||
434 | /** | |
435 | * Removes an existing daterange. | |
436 | * @param dateRangeKey key of daterange to be removed | |
437 | * @return status of the operation (success, failed) | |
438 | * @throws DoesNotExistException DateRange being removed does not exist | |
439 | * @throws InvalidParameterException One or more parameters invalid | |
440 | * @throws MissingParameterException One or more parameters missing | |
441 | * @throws OperationFailedException unable to complete request | |
442 | * @throws PermissionDeniedException authorization failure | |
443 | */ | |
444 | public StatusInfo removeDateRange(@WebParam(name="dateRangeKey")String dateRangeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
445 | ||
446 | } |