Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
ProgramService |
|
| 1.0;1 |
1 | /* | |
2 | * Copyright 2009 The Kuali Foundation | |
3 | * | |
4 | * Licensed under the Educational Community License, Version 1.0 (the "License"); | |
5 | * you may not use this file except in compliance with the License. | |
6 | * 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.lum.program.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.IllegalVersionSequencingException; | |
31 | import org.kuali.student.common.exceptions.InvalidParameterException; | |
32 | import org.kuali.student.common.exceptions.MissingParameterException; | |
33 | import org.kuali.student.common.exceptions.OperationFailedException; | |
34 | import org.kuali.student.common.exceptions.PermissionDeniedException; | |
35 | import org.kuali.student.common.exceptions.VersionMismatchException; | |
36 | import org.kuali.student.common.search.service.SearchService; | |
37 | import org.kuali.student.common.validation.dto.ValidationResultInfo; | |
38 | import org.kuali.student.common.versionmanagement.service.VersionManagementService; | |
39 | import org.kuali.student.lum.lu.dto.LuTypeInfo; | |
40 | import org.kuali.student.lum.program.dto.CoreProgramInfo; | |
41 | import org.kuali.student.lum.program.dto.CredentialProgramInfo; | |
42 | import org.kuali.student.lum.program.dto.HonorsProgramInfo; | |
43 | import org.kuali.student.lum.program.dto.MajorDisciplineInfo; | |
44 | import org.kuali.student.lum.program.dto.MinorDisciplineInfo; | |
45 | import org.kuali.student.lum.program.dto.ProgramRequirementInfo; | |
46 | import org.kuali.student.lum.program.dto.ProgramVariationInfo; | |
47 | ||
48 | /** | |
49 | * | |
50 | * @Author KSContractMojo | |
51 | * @Author Li Pan | |
52 | * @Since Wed Jun 30 14:55:41 PDT 2010 | |
53 | * @See <a href="https://test.kuali.org/confluence/display/KULSTU/Program+Service">ProgramService</> | |
54 | * | |
55 | */ | |
56 | @WebService(name = "ProgramService", targetNamespace = ProgramServiceConstants.PROGRAM_NAMESPACE) // TODO CHECK THESE VALUES | |
57 | @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED) | |
58 | public interface ProgramService extends DictionaryService, SearchService, VersionManagementService{ | |
59 | /** | |
60 | * Retrieves the list of credential program types | |
61 | * @return list of credential program type information | |
62 | * @throws OperationFailedException unable to complete request | |
63 | */ | |
64 | public List<LuTypeInfo> getCredentialProgramTypes() throws OperationFailedException; | |
65 | ||
66 | /** | |
67 | * Retrieves information about a credential program type | |
68 | * @param credentialProgramTypeKey Key of the Credential Program Type | |
69 | * @return information about a Credential Program Type | |
70 | * @throws DoesNotExistException credentialProgramType not found | |
71 | * @throws InvalidParameterException invalid credentialProgramType | |
72 | * @throws MissingParameterException missing credentialProgramType | |
73 | * @throws OperationFailedException unable to complete request | |
74 | */ | |
75 | public LuTypeInfo getCredentialProgramType(@WebParam(name="credentialProgramTypeKey")String credentialProgramTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
76 | ||
77 | /** | |
78 | * Retrieves a CredentialProgram | |
79 | * @param credentialProgramId Unique Id of the CredentialProgram. Maps to cluId | |
80 | * @return the created Credential Program | |
81 | * @throws DoesNotExistException CredentialProgram does not exist | |
82 | * @throws InvalidParameterException invalid Credential Program | |
83 | * @throws MissingParameterException missing Credential Program | |
84 | * @throws OperationFailedException unable to complete request | |
85 | * @throws PermissionDeniedException authorization failure | |
86 | */ | |
87 | public CredentialProgramInfo getCredentialProgram(@WebParam(name="credentialProgramId")String credentialProgramId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
88 | ||
89 | /** | |
90 | * Retrieves a MajorDiscipline | |
91 | * @param majorDisciplineId Unique Id of the MajorDiscipline. Maps to cluId | |
92 | * @return the created MajorDiscipline | |
93 | * @throws DoesNotExistException MajorDiscipline does not exist | |
94 | * @throws InvalidParameterException invalid MajorDiscipline | |
95 | * @throws MissingParameterException missing MajorDiscipline | |
96 | * @throws OperationFailedException unable to complete request | |
97 | * @throws PermissionDeniedException authorization failure | |
98 | */ | |
99 | public MajorDisciplineInfo getMajorDiscipline(@WebParam(name="majorDisciplineId")String majorDisciplineId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
100 | ||
101 | /** | |
102 | * Retrieves the list of Major Discipline identifiers a given Credential Program Type. | |
103 | * @param programType Type of Credential Program | |
104 | * @return List of Major Discipline identifiers for the given Credential Program Type | |
105 | * @throws DoesNotExistException program type not found | |
106 | * @throws InvalidParameterException invalid program type | |
107 | * @throws MissingParameterException program type is not specified | |
108 | * @throws OperationFailedException unable to complete request | |
109 | */ | |
110 | public List<String> getMajorIdsByCredentialProgramType(@WebParam(name="programType")String programType) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
111 | ||
112 | /** | |
113 | * Retrieves a list of program variations for a particular major | |
114 | * @param majorDisciplineId Major Discipline Identifier | |
115 | * @return list of program variations associated with the specified Major | |
116 | * @throws DoesNotExistException Major not found | |
117 | * @throws InvalidParameterException invalid majorDisciplineId | |
118 | * @throws MissingParameterException majorDisciplineId not specified | |
119 | * @throws OperationFailedException unable to complete request | |
120 | */ | |
121 | public List<ProgramVariationInfo> getVariationsByMajorDisciplineId(@WebParam(name="majorDisciplineId")String majorDisciplineId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
122 | ||
123 | /** | |
124 | * Retrieves a MinorDiscipline | |
125 | * @param minorDisciplineId Unique Id of the MinorDiscipline. Maps to cluId | |
126 | * @return the created MinorDiscipline | |
127 | * @throws DoesNotExistException MinorDiscipline does not exist | |
128 | * @throws InvalidParameterException invalid MinorDiscipline | |
129 | * @throws MissingParameterException missing MinorDiscipline | |
130 | * @throws OperationFailedException unable to complete request | |
131 | * @throws PermissionDeniedException authorization failure | |
132 | */ | |
133 | public MinorDisciplineInfo getMinorDiscipline(@WebParam(name="minorDisciplineId")String minorDisciplineId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
134 | ||
135 | /** | |
136 | * Retrieves the list of Minor Discipline Program a given Credential Program Type. | |
137 | * @param programType Type of Credential Program | |
138 | * @return List of Minor Disciplines for the given Credential Program Type | |
139 | * @throws DoesNotExistException program type not found | |
140 | * @throws InvalidParameterException invalid program type | |
141 | * @throws MissingParameterException program type is not specified | |
142 | * @throws OperationFailedException unable to complete request | |
143 | */ | |
144 | public List<String> getMinorsByCredentialProgramType(@WebParam(name="programType")String programType) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
145 | ||
146 | /** | |
147 | * Retrieves a HonorsProgram | |
148 | * @param honorsProgramId Unique Id of the HonorsProgram. Maps to cluId | |
149 | * @return the created Honors Program | |
150 | * @throws DoesNotExistException HonorsProgram does not exist | |
151 | * @throws InvalidParameterException invalid Honors Program | |
152 | * @throws MissingParameterException missing Honors Program | |
153 | * @throws OperationFailedException unable to complete request | |
154 | * @throws PermissionDeniedException authorization failure | |
155 | */ | |
156 | public HonorsProgramInfo getHonorsProgram(@WebParam(name="honorsProgramId")String honorsProgramId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
157 | ||
158 | /** | |
159 | * Retrieves the list of Honors Program Program a given Credential Program Type. | |
160 | * @param programType Type of Credential Program | |
161 | * @return List of Honors Programs for the given Credential Program Type | |
162 | * @throws DoesNotExistException program type not found | |
163 | * @throws InvalidParameterException invalid program type | |
164 | * @throws MissingParameterException program type is not specified | |
165 | * @throws OperationFailedException unable to complete request | |
166 | */ | |
167 | public List<String> getHonorsByCredentialProgramType(@WebParam(name="programType")String programType) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
168 | ||
169 | /** | |
170 | * Retrieves a Core Program | |
171 | * @param coreProgramId Unique Id of the Core Program. Maps to cluId | |
172 | * @return the Core Program | |
173 | * @throws DoesNotExistException Program Requirement does not exist | |
174 | * @throws InvalidParameterException invalid Program Requirement | |
175 | * @throws MissingParameterException missing Program Requirement | |
176 | * @throws OperationFailedException unable to complete request | |
177 | * @throws PermissionDeniedException authorization failure | |
178 | */ | |
179 | public CoreProgramInfo getCoreProgram(@WebParam(name="coreProgramId")String coreProgramId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
180 | ||
181 | ||
182 | /** | |
183 | * Retrieves a ProgramRequirement | |
184 | * @param programRequirementId Unique Id of the ProgramRequirement. Maps to cluId | |
185 | * @param nlUsageTypeKey Natural language usage type key (context) | |
186 | * @param language Translation language e.g en, es, gr | |
187 | * @return the Program Requirement | |
188 | * @throws DoesNotExistException Program Requirement does not exist | |
189 | * @throws InvalidParameterException invalid Program Requirement | |
190 | * @throws MissingParameterException missing Program Requirement | |
191 | * @throws OperationFailedException unable to complete request | |
192 | * @throws PermissionDeniedException authorization failure | |
193 | */ | |
194 | public ProgramRequirementInfo getProgramRequirement(@WebParam(name="programRequirementId")String programRequirementId, @WebParam(name="nlUsageTypeKey")String nlUsageTypeKey, @WebParam(name="language")String language) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
195 | ||
196 | /** | |
197 | * Creates a Credential Program | |
198 | * @param credentialProgramInfo credentialProgramInfo | |
199 | * @return the created Credential Program | |
200 | * @throws AlreadyExistsException The Credential Program already exists | |
201 | * @throws DataValidationErrorException One or more values invalid for this operation | |
202 | * @throws InvalidParameterException invalid Credential Program | |
203 | * @throws MissingParameterException missing Credential Program | |
204 | * @throws OperationFailedException unable to complete request | |
205 | * @throws PermissionDeniedException authorization failure | |
206 | */ | |
207 | public CredentialProgramInfo createCredentialProgram(@WebParam(name="credentialProgramInfo")CredentialProgramInfo credentialProgramInfo) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
208 | ||
209 | /** | |
210 | * Creates a new Credential Program version based on the current Credential Program | |
211 | * @param credentialProgramId identifier for the Credential Program to be versioned | |
212 | * @param versionComment comment for the current version | |
213 | * @return the new versioned Credential Program information | |
214 | * @throws DoesNotExistException Credential Program does not exist | |
215 | * @throws InvalidParameterException invalid credentialProgramId | |
216 | * @throws MissingParameterException invalid credentialProgramId | |
217 | * @throws OperationFailedException unable to complete request | |
218 | * @throws PermissionDeniedException authorization failure | |
219 | * @throws VersionMismatchException The action was attempted on an out of date version | |
220 | * @throws DataValidationErrorException | |
221 | */ | |
222 | public CredentialProgramInfo createNewCredentialProgramVersion(@WebParam(name="credentialProgramId")String credentialProgramId, @WebParam(name="versionComment")String versionComment) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException, DataValidationErrorException; | |
223 | ||
224 | /** | |
225 | * Sets a specific version of the Credential Program as current. The sequence number must be greater than the existing current Credential Program version. This will truncate the current version's end date to the currentVersionStart param. If a Major exists which is set to become current in the future, that Major's currentVersionStart and CurrentVersionEnd will be nullified. The currentVersionStart must be in the future to prevent changing historic data. | |
226 | * @param coreProgramId Version Specific Id of the Credential Program | |
227 | * @param currentVersionStart Date when this Credential Program becomes current. Must be in the future and be after the most current Credential Program's start date. | |
228 | * @return status of the operation (success or failure) | |
229 | * @throws DoesNotExistException Credential Program for credentialProgramId does not exist | |
230 | * @throws InvalidParameterException invalid credentialProgramId, currentVersionStart | |
231 | * @throws MissingParameterException invalid credentialProgramId | |
232 | * @throws IllegalVersionSequencingException a Credential Program with higher sequence number from the one provided is marked current | |
233 | * @throws OperationFailedException unable to complete request | |
234 | * @throws PermissionDeniedException authorization failure | |
235 | */ | |
236 | public StatusInfo setCurrentCredentialProgramVersion(@WebParam(name="credentialProgramId")String credentialProgramId, @WebParam(name="currentVersionStart")Date currentVersionStart) throws DoesNotExistException, InvalidParameterException, MissingParameterException, IllegalVersionSequencingException, OperationFailedException, PermissionDeniedException; | |
237 | ||
238 | /** | |
239 | * Updates a Credential Program | |
240 | * @param credentialProgramInfo credentialProgramInfo | |
241 | * @return updated Credential Program | |
242 | * @throws DataValidationErrorException One or more values invalid for this operation | |
243 | * @throws DoesNotExistException Credential Program not found | |
244 | * @throws InvalidParameterException invalid Credential Program | |
245 | * @throws MissingParameterException missing Credential Program | |
246 | * @throws VersionMismatchException The action was attempted on an out of date version | |
247 | * @throws OperationFailedException unable to complete request | |
248 | * @throws PermissionDeniedException authorization failure | |
249 | */ | |
250 | public CredentialProgramInfo updateCredentialProgram(@WebParam(name="credentialProgramInfo")CredentialProgramInfo credentialProgramInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, VersionMismatchException, OperationFailedException, PermissionDeniedException; | |
251 | ||
252 | /** | |
253 | * Deletes a Credential Program | |
254 | * @param credentialProgramId identifier for credentialProgramId.Maps to cluId | |
255 | * @return status of the operation (success or failure) | |
256 | * @throws DoesNotExistException Credential Program does not exist | |
257 | * @throws InvalidParameterException invalid credentialProgramId | |
258 | * @throws MissingParameterException invalid credentialProgramId | |
259 | * @throws OperationFailedException unable to complete request | |
260 | * @throws PermissionDeniedException authorization failure | |
261 | */ | |
262 | public StatusInfo deleteCredentialProgram(@WebParam(name="credentialProgramId")String credentialProgramId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
263 | ||
264 | /** | |
265 | * Validates a Credential Program against its data dictionary | |
266 | * @param validationType identifier of the extent of validation | |
267 | * @param credentialProgramInfo Credential Program information to be tested | |
268 | * @return results from performing the validation | |
269 | * @throws InvalidParameterException invalid validationTypeKey, cluInfo | |
270 | * @throws MissingParameterException missing validationTypeKey, cluInfo | |
271 | * @throws OperationFailedException unable to complete request | |
272 | */ | |
273 | public List<ValidationResultInfo> validateCredentialProgram(@WebParam(name="validationType")String validationType, @WebParam(name="credentialProgramInfo")CredentialProgramInfo credentialProgramInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException; | |
274 | ||
275 | /** | |
276 | * Creates a Major Discipline Program | |
277 | * @param majorDisciplineInfo majorDisciplineInfo | |
278 | * @return the created Major Discipline | |
279 | * @throws AlreadyExistsException The Major already exists | |
280 | * @throws DataValidationErrorException One or more values invalid for this operation | |
281 | * @throws InvalidParameterException invalid Major | |
282 | * @throws MissingParameterException missing Major | |
283 | * @throws OperationFailedException unable to complete request | |
284 | * @throws PermissionDeniedException authorization failure | |
285 | */ | |
286 | public MajorDisciplineInfo createMajorDiscipline(@WebParam(name="majorDisciplineInfo")MajorDisciplineInfo majorDisciplineInfo) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
287 | ||
288 | /** | |
289 | * Updates a Major Discipline | |
290 | * @param majorDisciplineInfo majorDisciplineInfo | |
291 | * @return updated Major Discipline | |
292 | * @throws DataValidationErrorException One or more values invalid for this operation | |
293 | * @throws DoesNotExistException Major not found | |
294 | * @throws InvalidParameterException invalid Major | |
295 | * @throws MissingParameterException missing Major | |
296 | * @throws VersionMismatchException The action was attempted on an out of date version | |
297 | * @throws OperationFailedException unable to complete request | |
298 | * @throws PermissionDeniedException authorization failure | |
299 | */ | |
300 | public MajorDisciplineInfo updateMajorDiscipline(@WebParam(name="majorDisciplineInfo")MajorDisciplineInfo majorDisciplineInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, VersionMismatchException, OperationFailedException, PermissionDeniedException; | |
301 | ||
302 | /** | |
303 | * Deletes a Major Discipline | |
304 | * @param majorDisciplineId identifier for majorDisciplineId.Maps to cluId | |
305 | * @return status of the operation (success or failure) | |
306 | * @throws DoesNotExistException Major does not exist | |
307 | * @throws InvalidParameterException invalid majorDisciplineId | |
308 | * @throws MissingParameterException invalid majorDisciplineId | |
309 | * @throws OperationFailedException unable to complete request | |
310 | * @throws PermissionDeniedException authorization failure | |
311 | */ | |
312 | public StatusInfo deleteMajorDiscipline(@WebParam(name="majorDisciplineId")String majorDisciplineId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
313 | ||
314 | /** | |
315 | * Validates a Major discipline against its data dictionary | |
316 | * @param validationType identifier of the extent of validation | |
317 | * @param majorDisciplineInfo Major discipline information to be tested | |
318 | * @return results from performing the validation | |
319 | * @throws InvalidParameterException invalid validationTypeKey, cluInfo | |
320 | * @throws MissingParameterException missing validationTypeKey, cluInfo | |
321 | * @throws OperationFailedException unable to complete request | |
322 | */ | |
323 | public List<ValidationResultInfo> validateMajorDiscipline(@WebParam(name="validationType")String validationType, @WebParam(name="majorDisciplineInfo")MajorDisciplineInfo majorDisciplineInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException; | |
324 | ||
325 | ||
326 | /** | |
327 | * Creates a new Major Discipline version based on the current Major | |
328 | * @param majorDisciplineId identifier for the Major Discipline to be versioned | |
329 | * @param versionComment comment for the current version | |
330 | * @return the new versioned Major Discipline information | |
331 | * @throws DoesNotExistException Major does not exist | |
332 | * @throws InvalidParameterException invalid majorDisciplineId | |
333 | * @throws MissingParameterException invalid majorDisciplineId | |
334 | * @throws OperationFailedException unable to complete request | |
335 | * @throws PermissionDeniedException authorization failure | |
336 | * @throws VersionMismatchException The action was attempted on an out of date version | |
337 | * @throws DataValidationErrorException | |
338 | */ | |
339 | public MajorDisciplineInfo createNewMajorDisciplineVersion(@WebParam(name="majorDisciplineId")String majorDisciplineId, @WebParam(name="versionComment")String versionComment) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException, DataValidationErrorException; | |
340 | ||
341 | /** | |
342 | * Sets a specific version of the Major as current. The sequence number must be greater than the existing current Major version. This will truncate the current version's end date to the currentVersionStart param. If a Major exists which is set to become current in the future, that Major's currentVersionStart and CurrentVersionEnd will be nullified. The currentVersionStart must be in the future to prevent changing historic data. | |
343 | * @param majorDisciplineId Version Specific Id of the Major Discipline | |
344 | * @param currentVersionStart Date when this Major becomes current. Must be in the future and be after the most current major's start date. | |
345 | * @return status of the operation (success or failure) | |
346 | * @throws DoesNotExistException Major for majorVersionId does not exist | |
347 | * @throws InvalidParameterException invalid majorVersionId, currentVersionStart | |
348 | * @throws MissingParameterException invalid majorVersionId | |
349 | * @throws IllegalVersionSequencingException a Major with higher sequence number from the one provided is marked current | |
350 | * @throws OperationFailedException unable to complete request | |
351 | * @throws PermissionDeniedException authorization failure | |
352 | */ | |
353 | public StatusInfo setCurrentMajorDisciplineVersion(@WebParam(name="majorDisciplineId")String majorDisciplineId, @WebParam(name="currentVersionStart")Date currentVersionStart) throws DoesNotExistException, InvalidParameterException, MissingParameterException, IllegalVersionSequencingException, OperationFailedException, PermissionDeniedException; | |
354 | ||
355 | /** | |
356 | * Creates a Minor Discipline Program | |
357 | * @param minorDisciplineInfo minorDisciplineInfo | |
358 | * @return the created Minor Discipline | |
359 | * @throws AlreadyExistsException The Minor already exists | |
360 | * @throws DataValidationErrorException One or more values invalid for this operation | |
361 | * @throws InvalidParameterException invalid Minor | |
362 | * @throws MissingParameterException missing Minor | |
363 | * @throws OperationFailedException unable to complete request | |
364 | * @throws PermissionDeniedException authorization failure | |
365 | */ | |
366 | public MinorDisciplineInfo createMinorDiscipline(@WebParam(name="minorDisciplineInfo")MinorDisciplineInfo minorDisciplineInfo) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
367 | ||
368 | /** | |
369 | * Updates a Minor Discipline | |
370 | * @param minorDisciplineInfo minorDisciplineInfo | |
371 | * @return updated Minor Discipline | |
372 | * @throws DataValidationErrorException One or more values invalid for this operation | |
373 | * @throws DoesNotExistException Minor not found | |
374 | * @throws InvalidParameterException invalid Minor | |
375 | * @throws MissingParameterException missing Minor | |
376 | * @throws VersionMismatchException The action was attempted on an out of date version | |
377 | * @throws OperationFailedException unable to complete request | |
378 | * @throws PermissionDeniedException authorization failure | |
379 | */ | |
380 | public MinorDisciplineInfo updateMinorDiscipline(@WebParam(name="minorDisciplineInfo")MinorDisciplineInfo minorDisciplineInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, VersionMismatchException, OperationFailedException, PermissionDeniedException; | |
381 | ||
382 | /** | |
383 | * Deletes a Minor Discipline | |
384 | * @param minorDisciplineId identifier for minorDisciplineId.Maps to cluId | |
385 | * @return status of the operation (success or failure) | |
386 | * @throws DoesNotExistException Minor does not exist | |
387 | * @throws InvalidParameterException invalid minorDisciplineId | |
388 | * @throws MissingParameterException invalid minorDisciplineId | |
389 | * @throws OperationFailedException unable to complete request | |
390 | * @throws PermissionDeniedException authorization failure | |
391 | */ | |
392 | public StatusInfo deleteMinorDiscipline(@WebParam(name="minorDisciplineId")String minorDisciplineId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
393 | ||
394 | /** | |
395 | * Validates a Minor discipline against its data dictionary | |
396 | * @param validationType identifier of the extent of validation | |
397 | * @param minorDisciplineInfo Minor discipline information to be tested | |
398 | * @return results from performing the validation | |
399 | * @throws InvalidParameterException invalid validationTypeKey, cluInfo | |
400 | * @throws MissingParameterException missing validationTypeKey, cluInfo | |
401 | * @throws OperationFailedException unable to complete request | |
402 | */ | |
403 | public List<ValidationResultInfo> validateMinorDiscipline(@WebParam(name="validationType")String validationType, @WebParam(name="minorDisciplineInfo")MinorDisciplineInfo minorDisciplineInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException; | |
404 | ||
405 | /** | |
406 | * Creates a Honors Program | |
407 | * @param honorsProgramInfo honorsProgramInfo | |
408 | * @return the created Honors Program | |
409 | * @throws AlreadyExistsException The Honors Program already exists | |
410 | * @throws DataValidationErrorException One or more values invalid for this operation | |
411 | * @throws InvalidParameterException invalid Honors Program | |
412 | * @throws MissingParameterException missing Honors Program | |
413 | * @throws OperationFailedException unable to complete request | |
414 | * @throws PermissionDeniedException authorization failure | |
415 | */ | |
416 | public HonorsProgramInfo createHonorsProgram(@WebParam(name="honorsProgramInfo")HonorsProgramInfo honorsProgramInfo) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
417 | ||
418 | /** | |
419 | * Updates a Honors Program | |
420 | * @param honorsProgramInfo honorsProgramInfo | |
421 | * @return updated Honors Program | |
422 | * @throws DataValidationErrorException One or more values invalid for this operation | |
423 | * @throws DoesNotExistException Honors Program not found | |
424 | * @throws InvalidParameterException invalid Honors Program | |
425 | * @throws MissingParameterException missing Honors Program | |
426 | * @throws VersionMismatchException The action was attempted on an out of date version | |
427 | * @throws OperationFailedException unable to complete request | |
428 | * @throws PermissionDeniedException authorization failure | |
429 | */ | |
430 | public HonorsProgramInfo updateHonorsProgram(@WebParam(name="honorsProgramInfo")HonorsProgramInfo honorsProgramInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, VersionMismatchException, OperationFailedException, PermissionDeniedException; | |
431 | ||
432 | /** | |
433 | * Deletes a Honors Program | |
434 | * @param honorsProgramId identifier for honorsProgramId.Maps to cluId | |
435 | * @return status of the operation (success or failure) | |
436 | * @throws DoesNotExistException Honors Program does not exist | |
437 | * @throws InvalidParameterException invalid honorsProgramId | |
438 | * @throws MissingParameterException invalid honorsProgramId | |
439 | * @throws OperationFailedException unable to complete request | |
440 | * @throws PermissionDeniedException authorization failure | |
441 | */ | |
442 | public StatusInfo deleteHonorsProgram(@WebParam(name="honorsProgramId")String honorsProgramId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
443 | ||
444 | /** | |
445 | * Validates a Honors Program against its data dictionary | |
446 | * @param validationType identifier of the extent of validation | |
447 | * @param honorsProgramInfo Honors Program information to be tested | |
448 | * @return results from performing the validation | |
449 | * @throws InvalidParameterException invalid validationTypeKey, cluInfo | |
450 | * @throws MissingParameterException missing validationTypeKey, cluInfo | |
451 | * @throws OperationFailedException unable to complete request | |
452 | */ | |
453 | public List<ValidationResultInfo> validateHonorsProgram(@WebParam(name="validationType")String validationType, @WebParam(name="honorsProgramInfo")HonorsProgramInfo honorsProgramInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException; | |
454 | ||
455 | /** | |
456 | * Creates a Core Program | |
457 | * @param coreProgramInfo coreProgramInfo | |
458 | * @return the created Core Program | |
459 | * @throws AlreadyExistsException The Core Program already exists | |
460 | * @throws DataValidationErrorException One or more values invalid for this operation | |
461 | * @throws InvalidParameterException invalid Core Program | |
462 | * @throws MissingParameterException missing Core Program | |
463 | * @throws OperationFailedException unable to complete request | |
464 | * @throws PermissionDeniedException authorization failure | |
465 | */ | |
466 | public CoreProgramInfo createCoreProgram(@WebParam(name="coreProgramInfo")CoreProgramInfo coreProgramInfo) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
467 | ||
468 | /** | |
469 | * Creates a new Core Program version based on the current Core Program | |
470 | * @param coreProgramId identifier for the Core Program to be versioned | |
471 | * @param versionComment comment for the current version | |
472 | * @return the new versioned Core Program information | |
473 | * @throws DoesNotExistException Core Program does not exist | |
474 | * @throws InvalidParameterException invalid coreProgramId | |
475 | * @throws MissingParameterException invalid coreProgramId | |
476 | * @throws OperationFailedException unable to complete request | |
477 | * @throws PermissionDeniedException authorization failure | |
478 | * @throws VersionMismatchException The action was attempted on an out of date version | |
479 | * @throws DataValidationErrorException | |
480 | */ | |
481 | public CoreProgramInfo createNewCoreProgramVersion(@WebParam(name="coreProgramId")String coreProgramId, @WebParam(name="versionComment")String versionComment) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException, DataValidationErrorException; | |
482 | ||
483 | ||
484 | /** | |
485 | * Sets a specific version of the Core Program as current. The sequence number must be greater than the existing current Core Program version. This will truncate the current version's end date to the currentVersionStart param. If a Major exists which is set to become current in the future, that Major's currentVersionStart and CurrentVersionEnd will be nullified. The currentVersionStart must be in the future to prevent changing historic data. | |
486 | * @param coreProgramId Version Specific Id of the Core Program | |
487 | * @param currentVersionStart Date when this Core Program becomes current. Must be in the future and be after the most current major's start date. | |
488 | * @return status of the operation (success or failure) | |
489 | * @throws DoesNotExistException Core Program for coreProgramId does not exist | |
490 | * @throws InvalidParameterException invalid coreProgramId, currentVersionStart | |
491 | * @throws MissingParameterException invalid coreProgramId | |
492 | * @throws IllegalVersionSequencingException a CoreProgram with higher sequence number from the one provided is marked current | |
493 | * @throws OperationFailedException unable to complete request | |
494 | * @throws PermissionDeniedException authorization failure | |
495 | */ | |
496 | public StatusInfo setCurrentCoreProgramVersion(@WebParam(name="coreProgramId")String coreProgramId, @WebParam(name="currentVersionStart")Date currentVersionStart) throws DoesNotExistException, InvalidParameterException, MissingParameterException, IllegalVersionSequencingException, OperationFailedException, PermissionDeniedException; | |
497 | ||
498 | /** | |
499 | * Updates a Core Program | |
500 | * @param coreProgramInfo coreProgramInfo | |
501 | * @return updated Core Program | |
502 | * @throws DataValidationErrorException One or more values invalid for this operation | |
503 | * @throws DoesNotExistException Core Program not found | |
504 | * @throws InvalidParameterException invalid Core Program | |
505 | * @throws MissingParameterException missing Core Program | |
506 | * @throws VersionMismatchException The action was attempted on an out of date version | |
507 | * @throws OperationFailedException unable to complete request | |
508 | * @throws PermissionDeniedException authorization failure | |
509 | */ | |
510 | public CoreProgramInfo updateCoreProgram(@WebParam(name="coreProgramInfo")CoreProgramInfo coreProgramInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, VersionMismatchException, OperationFailedException, PermissionDeniedException; | |
511 | ||
512 | /** | |
513 | * Deletes a Core Program | |
514 | * @param coreProgramId identifier for coreProgramId.Maps to cluId | |
515 | * @return status of the operation (success or failure) | |
516 | * @throws DoesNotExistException Core Program does not exist | |
517 | * @throws InvalidParameterException invalid coreProgramId | |
518 | * @throws MissingParameterException invalid coreProgramId | |
519 | * @throws OperationFailedException unable to complete request | |
520 | * @throws PermissionDeniedException authorization failure | |
521 | */ | |
522 | public StatusInfo deleteCoreProgram(@WebParam(name="coreProgramId")String coreProgramId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
523 | ||
524 | /** | |
525 | * Validates a Core Program against its data dictionary | |
526 | * @param validationType identifier of the extent of validation | |
527 | * @param coreProgramInfo Core Program information to be tested | |
528 | * @return results from performing the validation | |
529 | * @throws InvalidParameterException invalid validationTypeKey, cluInfo | |
530 | * @throws MissingParameterException missing validationTypeKey, cluInfo | |
531 | * @throws OperationFailedException unable to complete request | |
532 | */ | |
533 | public List<ValidationResultInfo> validateCoreProgram(@WebParam(name="validationType")String validationType, @WebParam(name="coreProgramInfo")CoreProgramInfo coreProgramInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException; | |
534 | ||
535 | ||
536 | /** | |
537 | * Creates a Program Requirement | |
538 | * @param programRequirementInfo programRequirementInfo | |
539 | * @return the created Program Requirement | |
540 | * @throws AlreadyExistsException The Program Requirement already exists | |
541 | * @throws DataValidationErrorException One or more values invalid for this operation | |
542 | * @throws InvalidParameterException invalid Program Requirement | |
543 | * @throws MissingParameterException missing Program Requirement | |
544 | * @throws OperationFailedException unable to complete request | |
545 | * @throws PermissionDeniedException authorization failure | |
546 | */ | |
547 | public ProgramRequirementInfo createProgramRequirement(@WebParam(name="programRequirementInfo")ProgramRequirementInfo programRequirementInfo) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
548 | ||
549 | /** | |
550 | * Updates a Program Requirement | |
551 | * @param programRequirementInfo programRequirementInfo | |
552 | * @return updated Program Requirement | |
553 | * @throws DataValidationErrorException One or more values invalid for this operation | |
554 | * @throws DoesNotExistException Program Requirement not found | |
555 | * @throws InvalidParameterException invalid Program Requirement | |
556 | * @throws MissingParameterException missing Program Requirement | |
557 | * @throws VersionMismatchException The action was attempted on an out of date version | |
558 | * @throws OperationFailedException unable to complete request | |
559 | * @throws PermissionDeniedException authorization failure | |
560 | */ | |
561 | public ProgramRequirementInfo updateProgramRequirement(@WebParam(name="programRequirementInfo")ProgramRequirementInfo programRequirementInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, VersionMismatchException, OperationFailedException, PermissionDeniedException; | |
562 | ||
563 | /** | |
564 | * Deletes a Program Requirement | |
565 | * @param programRequirementId identifier for programRequirementId.Maps to cluId | |
566 | * @return status of the operation (success or failure) | |
567 | * @throws DoesNotExistException Program Requirement does not exist | |
568 | * @throws InvalidParameterException invalid programRequirementId | |
569 | * @throws MissingParameterException invalid programRequirementId | |
570 | * @throws OperationFailedException unable to complete request | |
571 | * @throws PermissionDeniedException authorization failure | |
572 | */ | |
573 | public StatusInfo deleteProgramRequirement(@WebParam(name="programRequirementId")String programRequirementId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
574 | ||
575 | /** | |
576 | * Validates a Program Requirement against its data dictionary | |
577 | * @param validationType identifier of the extent of validation | |
578 | * @param programRequirementInfo Program Requirement information to be tested | |
579 | * @return results from performing the validation | |
580 | * @throws InvalidParameterException invalid validationTypeKey, cluInfo | |
581 | * @throws MissingParameterException missing validationTypeKey, cluInfo | |
582 | * @throws OperationFailedException unable to complete request | |
583 | */ | |
584 | public List<ValidationResultInfo> validateProgramRequirement(@WebParam(name="validationType")String validationType, @WebParam(name="programRequirementInfo")ProgramRequirementInfo programRequirementInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException; | |
585 | ||
586 | ||
587 | } |