Coverage Report - org.kuali.student.r2.lum.program.service.ProgramService
 
Classes in this File Line Coverage Branch Coverage Complexity
ProgramService
N/A
N/A
1
 
 1  
 /*
 2  
  * Copyright 2009 The Kuali Foundation Licensed under the Educational Community
 3  
  * License, Version 1.0 (the "License"); you may not use this file except in
 4  
  * compliance with the License. You may obtain a copy of the License at
 5  
  * http://www.opensource.org/licenses/ecl1.php Unless required by applicable law
 6  
  * or agreed to in writing, software distributed under the License is
 7  
  * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 8  
  * KIND, either express or implied. See the License for the specific language
 9  
  * governing permissions and limitations under the License.
 10  
  */
 11  
 package org.kuali.student.r2.lum.program.service;
 12  
 
 13  
 import java.util.Date;
 14  
 import java.util.List;
 15  
 
 16  
 import javax.jws.WebParam;
 17  
 import javax.jws.WebService;
 18  
 import javax.jws.soap.SOAPBinding;
 19  
 
 20  
 
 21  
 import org.kuali.student.r2.common.dto.ContextInfo;
 22  
 import org.kuali.student.r2.common.dto.StatusInfo;
 23  
 import org.kuali.student.r2.common.dto.ValidationResultInfo;
 24  
 import org.kuali.student.r2.common.exceptions.AlreadyExistsException;
 25  
 import org.kuali.student.r2.common.exceptions.DataValidationErrorException;
 26  
 import org.kuali.student.r2.common.exceptions.DoesNotExistException;
 27  
 import org.kuali.student.r2.common.exceptions.IllegalVersionSequencingException;
 28  
 import org.kuali.student.r2.common.exceptions.InvalidParameterException;
 29  
 import org.kuali.student.r2.common.exceptions.MissingParameterException;
 30  
 import org.kuali.student.r2.common.exceptions.OperationFailedException;
 31  
 import org.kuali.student.r2.common.exceptions.PermissionDeniedException;
 32  
 import org.kuali.student.r2.common.exceptions.VersionMismatchException;
 33  
 
 34  
 import org.kuali.student.r2.common.util.constants.ProgramServiceConstants;
 35  
 import org.kuali.student.r2.lum.program.dto.CredentialProgramInfo;
 36  
 import org.kuali.student.r2.lum.program.dto.HonorsProgramInfo;
 37  
 import org.kuali.student.r2.lum.program.dto.MajorDisciplineInfo;
 38  
 import org.kuali.student.r2.lum.program.dto.MinorDisciplineInfo;
 39  
 
 40  
 import org.kuali.student.r2.lum.program.dto.CoreProgramInfo;
 41  
 import org.kuali.student.r2.lum.program.dto.ProgramRequirementInfo;
 42  
 import org.kuali.student.r2.lum.program.dto.ProgramVariationInfo;
 43  
 
 44  
 /**
 45  
  * The Program Service allows for the creation and management of programs.
 46  
  * 
 47  
  * @Version 2.0
 48  
  * @Author sambitpa@usc.edu
 49  
  */
 50  
 @WebService(name = "ProgramService", targetNamespace = ProgramServiceConstants.PROGRAM_NAMESPACE)
 51  
 // TODO CHECK THESE VALUES
 52  
 @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
 53  
 public interface ProgramService {
 54  
 
 55  
     /**
 56  
      * Retrieves a CredentialProgram
 57  
      * 
 58  
      * @param credentialProgramId Unique Id of the CredentialProgram. Maps to
 59  
      *            cluId
 60  
      * @return the created Credential Program
 61  
      * @throws DoesNotExistException CredentialProgram does not exist
 62  
      * @throws InvalidParameterException invalid Credential Program
 63  
      * @throws MissingParameterException missing Credential Program
 64  
      * @throws OperationFailedException unable to complete request
 65  
      * @throws PermissionDeniedException authorization failure
 66  
      * @throws org.kuali.student.r2.common.exceptions.OperationFailedException
 67  
      * @throws org.kuali.student.r2.common.exceptions.PermissionDeniedException
 68  
      */
 69  
     public CredentialProgramInfo getCredentialProgram(@WebParam(name = "credentialProgramId") String credentialProgramId, @WebParam(name = "contextInfo") ContextInfo contextInfo)
 70  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 71  
 
 72  
     /**
 73  
      * Retrieves a list of CredentialPrograms corresponding to the given list of
 74  
      * CredentialProgram Ids
 75  
      * 
 76  
      * @param CredentialProgram Ids list of CredentialPrograms to be retrieved
 77  
      * @param contextInfo Context information containing the principalId and
 78  
      *            locale information about the caller of service operation
 79  
      * @return list of CredentialProgram
 80  
      * @throws DoesNotExistException an commentKey in list not found
 81  
      * @throws InvalidParameterException invalid commentKey
 82  
      * @throws MissingParameterException commentIds, contextInfo not specified
 83  
      * @throws OperationFailedException unable to complete request
 84  
      * @throws PermissionDeniedException authorization failure
 85  
      */
 86  
     public List<CredentialProgramInfo> getCredentialProgramsByIds(@WebParam(name = "credentialProgramIds") List<String> credentialProgramIds, @WebParam(name = "contextInfo") ContextInfo contextInfo)
 87  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 88  
 
 89  
     /**
 90  
      * Validates a Credential Program against its data dictionary
 91  
      * 
 92  
      * @param validationType identifier of the extent of validation
 93  
      * @param credentialProgramInfo Credential Program information to be tested
 94  
      * @return results from performing the validation
 95  
      * @throws InvalidParameterException invalid validationTypeKey, cluInfo
 96  
      * @throws MissingParameterException missing validationTypeKey, cluInfo
 97  
      * @throws OperationFailedException unable to complete request
 98  
      */
 99  
     public List<ValidationResultInfo> validateCredentialProgram(@WebParam(name = "validationType") String validationType,
 100  
             @WebParam(name = "credentialProgramInfo") CredentialProgramInfo credentialProgramInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException,
 101  
             MissingParameterException, OperationFailedException;
 102  
 
 103  
     /**
 104  
      * Creates a Credential Program
 105  
      * 
 106  
      * @param credentialProgramInfo credentialProgramInfo
 107  
      * @return the created Credential Program
 108  
      * @throws AlreadyExistsException The Credential Program already exists
 109  
      * @throws DataValidationErrorException One or more values invalid for this
 110  
      *             operation
 111  
      * @throws InvalidParameterException invalid Credential Program
 112  
      * @throws MissingParameterException missing Credential Program
 113  
      * @throws OperationFailedException unable to complete request
 114  
      * @throws PermissionDeniedException authorization failure
 115  
      */
 116  
     public CredentialProgramInfo createCredentialProgram(@WebParam(name = "credentialProgramTypeKey") String credentialProgramTypeKey,
 117  
             @WebParam(name = "credentialProgramInfo") CredentialProgramInfo credentialProgramInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws AlreadyExistsException,
 118  
             DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 119  
 
 120  
     /**
 121  
      * Creates a new Credential Program version based on the current Credential
 122  
      * Program
 123  
      * 
 124  
      * @param credentialProgramId identifier for the Credential Program to be
 125  
      *            versioned
 126  
      * @param versionComment comment for the current version
 127  
      * @return the new versioned Credential Program information
 128  
      * @throws DoesNotExistException Credential Program does not exist
 129  
      * @throws InvalidParameterException invalid credentialProgramId
 130  
      * @throws MissingParameterException invalid credentialProgramId
 131  
      * @throws OperationFailedException unable to complete request
 132  
      * @throws PermissionDeniedException authorization failure
 133  
      * @throws VersionMismatchException The action was attempted on an out of
 134  
      *             date version
 135  
      * @throws DataValidationErrorException
 136  
      */
 137  
     public CredentialProgramInfo createNewCredentialProgramVersion(@WebParam(name = "credentialProgramId") String credentialProgramId, @WebParam(name = "versionComment") String versionComment,
 138  
             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException,
 139  
             PermissionDeniedException, VersionMismatchException, DataValidationErrorException;
 140  
 
 141  
     /**
 142  
      * Sets a specific version of the Credential Program as current. The
 143  
      * sequence number must be greater than the existing current Credential
 144  
      * Program version. This will truncate the current version's end date to the
 145  
      * currentVersionStart param. If a Major exists which is set to become
 146  
      * current in the future, that Major's currentVersionStart and
 147  
      * CurrentVersionEnd will be nullified. The currentVersionStart must be in
 148  
      * the future to prevent changing historic data.
 149  
      * 
 150  
      * @param credentialProgramId Version Specific Id of the Credential Program
 151  
      * @param currentVersionStart Date when this Credential Program becomes
 152  
      *            current. Must be in the future and be after the most current
 153  
      *            Credential Program's start date.
 154  
      * @return status of the operation (success or failure)
 155  
      * @throws DoesNotExistException Credential Program for credentialProgramId
 156  
      *             does not exist
 157  
      * @throws InvalidParameterException invalid credentialProgramId,
 158  
      *             currentVersionStart
 159  
      * @throws MissingParameterException invalid credentialProgramId
 160  
      * @throws IllegalVersionSequencingException a Credential Program with
 161  
      *             higher sequence number from the one provided is marked
 162  
      *             current
 163  
      * @throws OperationFailedException unable to complete request
 164  
      * @throws PermissionDeniedException authorization failure
 165  
      */
 166  
     public StatusInfo setCurrentCredentialProgramVersion(@WebParam(name = "credentialProgramId") String credentialProgramId, @WebParam(name = "currentVersionStart") Date currentVersionStart,
 167  
             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, IllegalVersionSequencingException,
 168  
             OperationFailedException, PermissionDeniedException;
 169  
 
 170  
     /**
 171  
      * Updates a Credential Program
 172  
      * 
 173  
      * @param credentialProgramInfo credentialProgramInfo
 174  
      * @return updated Credential Program
 175  
      * @throws DataValidationErrorException One or more values invalid for this
 176  
      *             operation
 177  
      * @throws DoesNotExistException Credential Program not found
 178  
      * @throws InvalidParameterException invalid Credential Program
 179  
      * @throws MissingParameterException missing Credential Program
 180  
      * @throws VersionMismatchException The action was attempted on an out of
 181  
      *             date version
 182  
      * @throws OperationFailedException unable to complete request
 183  
      * @throws PermissionDeniedException authorization failure
 184  
      */
 185  
     public CredentialProgramInfo updateCredentialProgram(@WebParam(name = "credentialProgramId") String credentialProgramId,
 186  
             @WebParam(name = "credentialProgramInfo") CredentialProgramInfo credentialProgramInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException,
 187  
             DoesNotExistException, InvalidParameterException, MissingParameterException, VersionMismatchException, OperationFailedException, PermissionDeniedException;
 188  
 
 189  
     /**
 190  
      * Deletes a Credential Program
 191  
      * 
 192  
      * @param credentialProgramId identifier for credentialProgramId.Maps to
 193  
      *            cluId
 194  
      * @return status of the operation (success or failure)
 195  
      * @throws DoesNotExistException Credential Program does not exist
 196  
      * @throws InvalidParameterException invalid credentialProgramId
 197  
      * @throws MissingParameterException invalid credentialProgramId
 198  
      * @throws OperationFailedException unable to complete request
 199  
      * @throws PermissionDeniedException authorization failure
 200  
      */
 201  
     public StatusInfo deleteCredentialProgram(@WebParam(name = "credentialProgramId") String credentialProgramId, @WebParam(name = "contextInfo") ContextInfo contextInfo)
 202  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 203  
 
 204  
     /**
 205  
      * Retrieves a MajorDiscipline
 206  
      * 
 207  
      * @param majorDisciplineId Unique Id of the MajorDiscipline. Maps to cluId
 208  
      * @return the created MajorDiscipline
 209  
      * @throws DoesNotExistException MajorDiscipline does not exist
 210  
      * @throws InvalidParameterException invalid MajorDiscipline
 211  
      * @throws MissingParameterException missing MajorDiscipline
 212  
      * @throws OperationFailedException unable to complete request
 213  
      * @throws PermissionDeniedException authorization failure
 214  
      */
 215  
     public MajorDisciplineInfo getMajorDiscipline(@WebParam(name = "majorDisciplineId") String majorDisciplineId, @WebParam(name = "contextInfo") ContextInfo contextInfo)
 216  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 217  
 
 218  
     /**
 219  
      * Retrieves a list of MajorDiscipline corresponding to the given list of
 220  
      * major discipline Ids
 221  
      * 
 222  
      * @param MajorDiscipline Ids list of MajorDisciplines to be retrieved
 223  
      * @param contextInfo Context information containing the principalId and
 224  
      *            locale information about the caller of service operation
 225  
      * @return list of MajorDiscipline
 226  
      * @throws DoesNotExistException an commentKey in list not found
 227  
      * @throws InvalidParameterException invalid commentKey
 228  
      * @throws MissingParameterException commentIds, contextInfo not specified
 229  
      * @throws OperationFailedException unable to complete request
 230  
      * @throws PermissionDeniedException authorization failure
 231  
      */
 232  
     public List<MajorDisciplineInfo> getMajorDisciplinesByIds(@WebParam(name = "majorDisciplineIds") List<String> majorDisciplineIds, @WebParam(name = "contextInfo") ContextInfo contextInfo)
 233  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 234  
 
 235  
     /**
 236  
      * Retrieves the list of Major Discipline identifiers a given Credential
 237  
      * Program Type.
 238  
      * 
 239  
      * @param programType Type of Credential Program
 240  
      * @return List of Major Discipline identifiers for the given Credential
 241  
      *         Program Type
 242  
      * @throws DoesNotExistException program type not found
 243  
      * @throws InvalidParameterException invalid program type
 244  
      * @throws MissingParameterException program type is not specified
 245  
      * @throws OperationFailedException unable to complete request
 246  
      */
 247  
     public List<String> getMajorDisciplineIdsByCredentialProgramType(@WebParam(name = "programType") String programType,
 248  
             @WebParam(name = "contextInfo") ContextInfo contextInfo)
 249  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 250  
 
 251  
     /** 
 252  
      * Retrieves a list of program variations for a particular major
 253  
      * @param majorDisciplineId Major Discipline Identifier
 254  
      * @return list of program variations associated with the specified Major
 255  
      * @throws DoesNotExistException Major not found
 256  
      * @throws InvalidParameterException invalid majorDisciplineId
 257  
      * @throws MissingParameterException majorDisciplineId not specified
 258  
      * @throws OperationFailedException unable to complete request
 259  
      */
 260  
     public List<ProgramVariationInfo> getProgramVariationsByMajorDiscipline(@WebParam(name = "majorDisciplineId") String majorDisciplineId,
 261  
             @WebParam(name = "contextInfo") ContextInfo contextInfo)
 262  
             throws DoesNotExistException,
 263  
             InvalidParameterException,
 264  
             MissingParameterException,
 265  
             OperationFailedException;
 266  
 
 267  
     /**
 268  
      * Validates a Major discipline against its data dictionary
 269  
      * 
 270  
      * @param validationType identifier of the extent of validation
 271  
      * @param majorDisciplineInfo Major discipline information to be tested
 272  
      * @return results from performing the validation
 273  
      * @throws InvalidParameterException invalid validationTypeKey, cluInfo
 274  
      * @throws MissingParameterException missing validationTypeKey, cluInfo
 275  
      * @throws OperationFailedException unable to complete request
 276  
      */
 277  
     public List<ValidationResultInfo> validateMajorDiscipline(@WebParam(name = "validationType") String validationType,
 278  
             @WebParam(name = "majorDisciplineInfo") MajorDisciplineInfo majorDisciplineInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException,
 279  
             MissingParameterException, OperationFailedException;
 280  
 
 281  
     /**
 282  
      * Creates a Major Discipline Program
 283  
      * 
 284  
      * @param majorDisciplineInfo majorDisciplineInfo
 285  
      * @return the created Major Discipline
 286  
      * @throws AlreadyExistsException The Major already exists
 287  
      * @throws DataValidationErrorException One or more values invalid for this
 288  
      *             operation
 289  
      * @throws InvalidParameterException invalid Major
 290  
      * @throws MissingParameterException missing Major
 291  
      * @throws OperationFailedException unable to complete request
 292  
      * @throws PermissionDeniedException authorization failure
 293  
      */
 294  
     public MajorDisciplineInfo createMajorDiscipline(@WebParam(name = "majorDisciplineTypeKey") String majorDisciplineTypeKey,
 295  
             @WebParam(name = "majorDisciplineInfo") MajorDisciplineInfo majorDisciplineInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws AlreadyExistsException,
 296  
             DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 297  
 
 298  
     /**
 299  
      * Updates a Major Discipline
 300  
      * 
 301  
      * @param majorDisciplineInfo majorDisciplineInfo
 302  
      * @return updated Major Discipline
 303  
      * @throws DataValidationErrorException One or more values invalid for this
 304  
      *             operation
 305  
      * @throws DoesNotExistException Major not found
 306  
      * @throws InvalidParameterException invalid Major
 307  
      * @throws MissingParameterException missing Major
 308  
      * @throws VersionMismatchException The action was attempted on an out of
 309  
      *             date version
 310  
      * @throws OperationFailedException unable to complete request
 311  
      * @throws PermissionDeniedException authorization failure
 312  
      */
 313  
     public MajorDisciplineInfo updateMajorDiscipline(@WebParam(name = "majorDisciplineId") String majorDisciplineId, @WebParam(name = "majorDisciplineInfo") MajorDisciplineInfo majorDisciplineInfo,
 314  
             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException,
 315  
             VersionMismatchException, OperationFailedException, PermissionDeniedException;
 316  
 
 317  
     /**
 318  
      * Deletes a Major Discipline
 319  
      * 
 320  
      * @param majorDisciplineId identifier for majorDisciplineId.Maps to cluId
 321  
      * @return status of the operation (success or failure)
 322  
      * @throws DoesNotExistException Major does not exist
 323  
      * @throws InvalidParameterException invalid majorDisciplineId
 324  
      * @throws MissingParameterException invalid majorDisciplineId
 325  
      * @throws OperationFailedException unable to complete request
 326  
      * @throws PermissionDeniedException authorization failure
 327  
      */
 328  
     public StatusInfo deleteMajorDiscipline(@WebParam(name = "majorDisciplineId") String majorDisciplineId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException,
 329  
             InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 330  
 
 331  
     /**
 332  
      * Creates a new Major Discipline version based on the current Major
 333  
      * 
 334  
      * @param majorDisciplineId identifier for the Major Discipline to be
 335  
      *            versioned
 336  
      * @param versionComment comment for the current version
 337  
      * @return the new versioned Major Discipline information
 338  
      * @throws DoesNotExistException Major does not exist
 339  
      * @throws InvalidParameterException invalid majorDisciplineId
 340  
      * @throws MissingParameterException invalid majorDisciplineId
 341  
      * @throws OperationFailedException unable to complete request
 342  
      * @throws PermissionDeniedException authorization failure
 343  
      * @throws VersionMismatchException The action was attempted on an out of
 344  
      *             date version
 345  
      * @throws DataValidationErrorException
 346  
      */
 347  
     public MajorDisciplineInfo createNewMajorDisciplineVersion(@WebParam(name = "majorDisciplineId") String majorDisciplineId, @WebParam(name = "versionComment") String versionComment,
 348  
             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException,
 349  
             PermissionDeniedException, VersionMismatchException, DataValidationErrorException;
 350  
 
 351  
     /**
 352  
      * Retrieves a HonorsProgram
 353  
      * 
 354  
      * @param honorsProgramId Unique Id of the HonorsProgram. Maps to cluId
 355  
      * @return the created Honors Program
 356  
      * @throws DoesNotExistException HonorsProgram does not exist
 357  
      * @throws InvalidParameterException invalid Honors Program
 358  
      * @throws MissingParameterException missing Honors Program
 359  
      * @throws OperationFailedException unable to complete request
 360  
      * @throws PermissionDeniedException authorization failure
 361  
      */
 362  
     public HonorsProgramInfo getHonorsProgram(@WebParam(name = "honorsProgramId") String honorsProgramId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException,
 363  
             InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 364  
 
 365  
     /**
 366  
      * 
 367  
      * Retrieves a list of honors program by Ids
 368  
      * 
 369  
      * @param honorsProgramIds
 370  
      * @param contextInfo
 371  
      * @return
 372  
      * @throws DoesNotExistException
 373  
      * @throws InvalidParameterException
 374  
      * @throws MissingParameterException
 375  
      * @throws OperationFailedException
 376  
      * @throws PermissionDeniedException
 377  
      */
 378  
     public List<HonorsProgramInfo> getHonorsProgramsByIds(@WebParam(name = "honorsProgramIds") List<String> honorsProgramIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException,
 379  
             InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 380  
 
 381  
     /**
 382  
      * Retrieves the list of Honors Program Program a given Credential Program
 383  
      * Type.
 384  
      * 
 385  
      * @param programType Type of Credential Program
 386  
      * @return List of Honors Programs for the given Credential Program Type
 387  
      * @throws DoesNotExistException program type not found
 388  
      * @throws InvalidParameterException invalid program type
 389  
      * @throws MissingParameterException program type is not specified
 390  
      * @throws OperationFailedException unable to complete request
 391  
      */
 392  
     public List<String> getHonorProgramIdsByCredentialProgramType(@WebParam(name = "programType") String programType, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException,
 393  
             InvalidParameterException, MissingParameterException, OperationFailedException;
 394  
 
 395  
     /**
 396  
      * Validates a Honors Program against its data dictionary
 397  
      * 
 398  
      * @param validationType identifier of the extent of validation
 399  
      * @param honorsProgramInfo Honors Program information to be tested
 400  
      * @return results from performing the validation
 401  
      * @throws InvalidParameterException invalid validationTypeKey, cluInfo
 402  
      * @throws MissingParameterException missing validationTypeKey, cluInfo
 403  
      * @throws OperationFailedException unable to complete request
 404  
      */
 405  
     public List<ValidationResultInfo> validateHonorsProgram(@WebParam(name = "validationType") String validationType, @WebParam(name = "honorsProgramInfo") HonorsProgramInfo honorsProgramInfo,
 406  
             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException;
 407  
 
 408  
     /**
 409  
      * Creates a Honors Program
 410  
      * 
 411  
      * @param honorsProgramInfo honorsProgramInfo
 412  
      * @return the created Honors Program
 413  
      * @throws AlreadyExistsException The Honors Program already exists
 414  
      * @throws DataValidationErrorException One or more values invalid for this
 415  
      *             operation
 416  
      * @throws InvalidParameterException invalid Honors Program
 417  
      * @throws MissingParameterException missing Honors Program
 418  
      * @throws OperationFailedException unable to complete request
 419  
      * @throws PermissionDeniedException authorization failure
 420  
      */
 421  
     public HonorsProgramInfo createHonorsProgram(@WebParam(name = "honorsProgramTypeKey") String honorsProgramTypeKey, @WebParam(name = "honorsProgramInfo") HonorsProgramInfo honorsProgramInfo,
 422  
             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException,
 423  
             OperationFailedException, PermissionDeniedException;
 424  
 
 425  
     /**
 426  
      * Updates a Honors Program
 427  
      * 
 428  
      * @param honorsProgramInfo honorsProgramInfo
 429  
      * @return updated Honors Program
 430  
      * @throws DataValidationErrorException One or more values invalid for this
 431  
      *             operation
 432  
      * @throws DoesNotExistException Honors Program not found
 433  
      * @throws InvalidParameterException invalid Honors Program
 434  
      * @throws MissingParameterException missing Honors Program
 435  
      * @throws VersionMismatchException The action was attempted on an out of
 436  
      *             date version
 437  
      * @throws OperationFailedException unable to complete request
 438  
      * @throws PermissionDeniedException authorization failure
 439  
      */
 440  
     public HonorsProgramInfo updateHonorsProgram(@WebParam(name = "honorsProgramId") String honorsProgramId, @WebParam(name = "honorsProgramTypeKey") String honorsProgramTypeKey,
 441  
             @WebParam(name = "honorsProgramInfo") HonorsProgramInfo honorsProgramInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException,
 442  
             DoesNotExistException, InvalidParameterException, MissingParameterException, VersionMismatchException, OperationFailedException, PermissionDeniedException;
 443  
 
 444  
     /**
 445  
      * Deletes a Honors Program
 446  
      * 
 447  
      * @param honorsProgramId identifier for honorsProgramId.Maps to cluId
 448  
      * @return status of the operation (success or failure)
 449  
      * @throws DoesNotExistException Honors Program does not exist
 450  
      * @throws InvalidParameterException invalid honorsProgramId
 451  
      * @throws MissingParameterException invalid honorsProgramId
 452  
      * @throws OperationFailedException unable to complete request
 453  
      * @throws PermissionDeniedException authorization failure
 454  
      */
 455  
     public StatusInfo deleteHonorsProgram(@WebParam(name = "honorsProgramId") String honorsProgramId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException,
 456  
             InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 457  
 
 458  
     /**
 459  
      * Retrieves a Core Program
 460  
      * 
 461  
      * @param coreProgramId Unique Id of the Core Program. Maps to cluId
 462  
      * @return the Core Program
 463  
      * @throws DoesNotExistException Program Requirement does not exist
 464  
      * @throws InvalidParameterException invalid Program Requirement
 465  
      * @throws MissingParameterException missing Program Requirement
 466  
      * @throws OperationFailedException unable to complete request
 467  
      * @throws PermissionDeniedException authorization failure
 468  
      */
 469  
     public CoreProgramInfo getCoreProgram(@WebParam(name = "coreProgramId") String coreProgramId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException,
 470  
             InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 471  
 
 472  
     /**
 473  
      * 
 474  
      * Retrieves a list of core program by Ids
 475  
      * 
 476  
      * @param coreProgramIds
 477  
      * @param contextInfo
 478  
      * @return
 479  
      * @throws DoesNotExistException
 480  
      * @throws InvalidParameterException
 481  
      * @throws MissingParameterException
 482  
      * @throws OperationFailedException
 483  
      * @throws PermissionDeniedException
 484  
      */
 485  
     public List<CoreProgramInfo> getCoreProgramsByIds(@WebParam(name = "coreProgramIds") List<String> coreProgramIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException,
 486  
             InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 487  
 
 488  
     /**
 489  
      * Validates a Core Program against its data dictionary
 490  
      * 
 491  
      * @param validationType identifier of the extent of validation
 492  
      * @param coreProgramInfo Core Program information to be tested
 493  
      * @return results from performing the validation
 494  
      * @throws InvalidParameterException invalid validationTypeKey, cluInfo
 495  
      * @throws MissingParameterException missing validationTypeKey, cluInfo
 496  
      * @throws OperationFailedException unable to complete request
 497  
      */
 498  
     public List<ValidationResultInfo> validateCoreProgram(@WebParam(name = "validationType") String validationType, @WebParam(name = "coreProgramInfo") CoreProgramInfo coreProgramInfo,
 499  
             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException;
 500  
 
 501  
     /**
 502  
      * Creates a Core Program
 503  
      * 
 504  
      * @param coreProgramInfo coreProgramInfo
 505  
      * @return the created Core Program
 506  
      * @throws AlreadyExistsException The Core Program already exists
 507  
      * @throws DataValidationErrorException One or more values invalid for this
 508  
      *             operation
 509  
      * @throws InvalidParameterException invalid Core Program
 510  
      * @throws MissingParameterException missing Core Program
 511  
      * @throws OperationFailedException unable to complete request
 512  
      * @throws PermissionDeniedException authorization failure
 513  
      */
 514  
     public CoreProgramInfo createCoreProgram(@WebParam(name = "coreProgramTypeKey") String coreProgramTypeKey, @WebParam(name = "coreProgramInfo") CoreProgramInfo coreProgramInfo,
 515  
             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException,
 516  
             OperationFailedException, PermissionDeniedException;
 517  
 
 518  
     /**
 519  
      * Creates a new Core Program version based on the current Core Program
 520  
      * 
 521  
      * @param coreProgramId identifier for the Core Program to be versioned
 522  
      * @param versionComment comment for the current version
 523  
      * @return the new versioned Core Program information
 524  
      * @throws DoesNotExistException Core Program does not exist
 525  
      * @throws InvalidParameterException invalid coreProgramId
 526  
      * @throws MissingParameterException invalid coreProgramId
 527  
      * @throws OperationFailedException unable to complete request
 528  
      * @throws PermissionDeniedException authorization failure
 529  
      * @throws VersionMismatchException The action was attempted on an out of
 530  
      *             date version
 531  
      * @throws DataValidationErrorException
 532  
      */
 533  
     public CoreProgramInfo createNewCoreProgramVersion(@WebParam(name = "coreProgramId") String coreProgramId, @WebParam(name = "versionComment") String versionComment,
 534  
             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException,
 535  
             PermissionDeniedException, VersionMismatchException, DataValidationErrorException;
 536  
 
 537  
     /**
 538  
      * Sets a specific version of the Core Program as current. The sequence
 539  
      * number must be greater than the existing current Core Program version.
 540  
      * This will truncate the current version's end date to the
 541  
      * currentVersionStart param. If a Major exists which is set to become
 542  
      * current in the future, that Major's currentVersionStart and
 543  
      * CurrentVersionEnd will be nullified. The currentVersionStart must be in
 544  
      * the future to prevent changing historic data.
 545  
      * 
 546  
      * @param coreProgramId Version Specific Id of the Core Program
 547  
      * @param currentVersionStart Date when this Core Program becomes current.
 548  
      *            Must be in the future and be after the most current major's
 549  
      *            start date.
 550  
      * @return status of the operation (success or failure)
 551  
      * @throws DoesNotExistException Core Program for coreProgramId does not
 552  
      *             exist
 553  
      * @throws InvalidParameterException invalid coreProgramId,
 554  
      *             currentVersionStart
 555  
      * @throws MissingParameterException invalid coreProgramId
 556  
      * @throws IllegalVersionSequencingException a CoreProgram with higher
 557  
      *             sequence number from the one provided is marked current
 558  
      * @throws OperationFailedException unable to complete request
 559  
      * @throws PermissionDeniedException authorization failure
 560  
      */
 561  
     public StatusInfo setCurrentCoreProgramVersion(@WebParam(name = "coreProgramId") String coreProgramId, @WebParam(name = "currentVersionStart") Date currentVersionStart,
 562  
             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, IllegalVersionSequencingException,
 563  
             OperationFailedException, PermissionDeniedException;
 564  
 
 565  
     /**
 566  
      * Updates a Core Program
 567  
      * 
 568  
      * @param coreProgramInfo coreProgramInfo
 569  
      * @return updated Core Program
 570  
      * @throws DataValidationErrorException One or more values invalid for this
 571  
      *             operation
 572  
      * @throws DoesNotExistException Core Program not found
 573  
      * @throws InvalidParameterException invalid Core Program
 574  
      * @throws MissingParameterException missing Core Program
 575  
      * @throws VersionMismatchException The action was attempted on an out of
 576  
      *             date version
 577  
      * @throws OperationFailedException unable to complete request
 578  
      * @throws PermissionDeniedException authorization failure
 579  
      */
 580  
     public CoreProgramInfo updateCoreProgram(@WebParam(name = "coreProgramId") String coreProgramId, @WebParam(name = "coreProgramTypeKey") String coreProgramTypeKey,
 581  
             @WebParam(name = "coreProgramInfo") CoreProgramInfo coreProgramInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException,
 582  
             InvalidParameterException, MissingParameterException, VersionMismatchException, OperationFailedException, PermissionDeniedException;
 583  
 
 584  
     /**
 585  
      * Deletes a Core Program
 586  
      * 
 587  
      * @param coreProgramId identifier for coreProgramId.Maps to cluId
 588  
      * @return status of the operation (success or failure)
 589  
      * @throws DoesNotExistException Core Program does not exist
 590  
      * @throws InvalidParameterException invalid coreProgramId
 591  
      * @throws MissingParameterException invalid coreProgramId
 592  
      * @throws OperationFailedException unable to complete request
 593  
      * @throws PermissionDeniedException authorization failure
 594  
      */
 595  
     public StatusInfo deleteCoreProgram(@WebParam(name = "coreProgramId") String coreProgramId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException,
 596  
             InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 597  
 
 598  
     /**
 599  
      * Retrieves a ProgramRequirement
 600  
      * 
 601  
      * @param programRequirementId Unique Id of the ProgramRequirement. Maps to
 602  
      *            cluId
 603  
      * @return the Program Requirement
 604  
      * @throws DoesNotExistException Program Requirement does not exist
 605  
      * @throws InvalidParameterException invalid Program Requirement
 606  
      * @throws MissingParameterException missing Program Requirement
 607  
      * @throws OperationFailedException unable to complete request
 608  
      * @throws PermissionDeniedException authorization failure
 609  
      */
 610  
     public ProgramRequirementInfo getProgramRequirement(@WebParam(name = "programRequirementId") String programRequirementId, @WebParam(name = "contextInfo") ContextInfo contextInfo)
 611  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 612  
 
 613  
     /**
 614  
      * 
 615  
      * Retrieves a list of ProgramRequirements by Ids
 616  
      * 
 617  
      * @param programRequirementIds
 618  
      * @param contextInfo
 619  
      * @return
 620  
      * @throws DoesNotExistException
 621  
      * @throws InvalidParameterException
 622  
      * @throws MissingParameterException
 623  
      * @throws OperationFailedException
 624  
      * @throws PermissionDeniedException
 625  
      */
 626  
     public List<ProgramRequirementInfo> getProgramRequirementsByIds(@WebParam(name = "programRequirementIds") List<String> programRequirementIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException,
 627  
             InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 628  
 
 629  
     /**
 630  
      * Validates a Program Requirement against its data dictionary
 631  
      * 
 632  
      * @param validationType identifier of the extent of validation
 633  
      * @param programRequirementInfo Program Requirement information to be
 634  
      *            tested
 635  
      * @return results from performing the validation
 636  
      * @throws InvalidParameterException invalid validationTypeKey, cluInfo
 637  
      * @throws MissingParameterException missing validationTypeKey, cluInfo
 638  
      * @throws OperationFailedException unable to complete request
 639  
      */
 640  
     public List<ValidationResultInfo> validateProgramRequirement(@WebParam(name = "validationType") String validationType,
 641  
             @WebParam(name = "programRequirementInfo") ProgramRequirementInfo programRequirementInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException,
 642  
             MissingParameterException, OperationFailedException;
 643  
 
 644  
     /**
 645  
      * Creates a Program Requirement
 646  
      * 
 647  
      * @param programRequirementInfo programRequirementInfo
 648  
      * @return the created Program Requirement
 649  
      * @throws AlreadyExistsException The Program Requirement already exists
 650  
      * @throws DataValidationErrorException One or more values invalid for this
 651  
      *             operation
 652  
      * @throws InvalidParameterException invalid Program Requirement
 653  
      * @throws MissingParameterException missing Program Requirement
 654  
      * @throws OperationFailedException unable to complete request
 655  
      * @throws PermissionDeniedException authorization failure
 656  
      */
 657  
     public ProgramRequirementInfo createProgramRequirement(@WebParam(name = "programRequirementTypeKey") String programRequirementTypeKey,
 658  
             @WebParam(name = "programRequirementInfo") ProgramRequirementInfo programRequirementInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws AlreadyExistsException,
 659  
             DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 660  
 
 661  
     /**
 662  
      * Updates a Program Requirement
 663  
      * 
 664  
      * @param programRequirementInfo programRequirementInfo
 665  
      * @return updated Program Requirement
 666  
      * @throws DataValidationErrorException One or more values invalid for this
 667  
      *             operation
 668  
      * @throws DoesNotExistException Program Requirement not found
 669  
      * @throws InvalidParameterException invalid Program Requirement
 670  
      * @throws MissingParameterException missing Program Requirement
 671  
      * @throws VersionMismatchException The action was attempted on an out of
 672  
      *             date version
 673  
      * @throws OperationFailedException unable to complete request
 674  
      * @throws PermissionDeniedException authorization failure
 675  
      */
 676  
     public ProgramRequirementInfo updateProgramRequirement(@WebParam(name = "programRequirementId") String programRequirementId,
 677  
             @WebParam(name = "programRequirementTypeKey") String programRequirementTypeKey, @WebParam(name = "programRequirementInfo") ProgramRequirementInfo programRequirementInfo,
 678  
             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException,
 679  
             VersionMismatchException, OperationFailedException, PermissionDeniedException;
 680  
 
 681  
     /**
 682  
      * Deletes a Program Requirement
 683  
      * 
 684  
      * @param programRequirementId identifier for programRequirementId.Maps to
 685  
      *            cluId
 686  
      * @return status of the operation (success or failure)
 687  
      * @throws DoesNotExistException Program Requirement does not exist
 688  
      * @throws InvalidParameterException invalid programRequirementId
 689  
      * @throws MissingParameterException invalid programRequirementId
 690  
      * @throws OperationFailedException unable to complete request
 691  
      * @throws PermissionDeniedException authorization failure
 692  
      */
 693  
     public StatusInfo deleteProgramRequirement(@WebParam(name = "programRequirementId") String programRequirementId, @WebParam(name = "contextInfo") ContextInfo contextInfo)
 694  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 695  
 
 696  
     /**
 697  
      * Sets a specific version of the Major as current. The sequence number must
 698  
      * be greater than the existing current Major version. This will truncate
 699  
      * the current version's end date to the currentVersionStart param. If a
 700  
      * Major exists which is set to become current in the future, that Major's
 701  
      * currentVersionStart and CurrentVersionEnd will be nullified. The
 702  
      * currentVersionStart must be in the future to prevent changing historic
 703  
      * data.
 704  
      * 
 705  
      * @param majorDisciplineId Version Specific Id of the Major Discipline
 706  
      * @param currentVersionStart Date when this Major becomes current. Must be
 707  
      *            in the future and be after the most current major's start
 708  
      *            date.
 709  
      * @return status of the operation (success or failure)
 710  
      * @throws DoesNotExistException Major for majorVersionId does not exist
 711  
      * @throws InvalidParameterException invalid majorVersionId,
 712  
      *             currentVersionStart
 713  
      * @throws MissingParameterException invalid majorVersionId
 714  
      * @throws IllegalVersionSequencingException a Major with higher sequence
 715  
      *             number from the one provided is marked current
 716  
      * @throws OperationFailedException unable to complete request
 717  
      * @throws PermissionDeniedException authorization failure
 718  
      */
 719  
     public StatusInfo setCurrentMajorDisciplineVersion(@WebParam(name = "majorDisciplineId") String majorDisciplineId, @WebParam(name = "currentVersionStart") Date currentVersionStart,
 720  
             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, IllegalVersionSequencingException,
 721  
             OperationFailedException, PermissionDeniedException;
 722  
 
 723  
     /**
 724  
      * Retrieves a MinorDiscipline
 725  
      * 
 726  
      * @param minorDisciplineId Unique Id of the MinorDiscipline. Maps to cluId
 727  
      * @return the created MinorDiscipline
 728  
      * @throws DoesNotExistException MinorDiscipline does not exist
 729  
      * @throws InvalidParameterException invalid MinorDiscipline
 730  
      * @throws MissingParameterException missing MinorDiscipline
 731  
      * @throws OperationFailedException unable to complete request
 732  
      * @throws PermissionDeniedException authorization failure
 733  
      */
 734  
     public MinorDisciplineInfo getMinorDiscipline(@WebParam(name = "minorDisciplineId") String minorDisciplineId, @WebParam(name = "contextInfo") ContextInfo contextInfo)
 735  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 736  
 
 737  
     /**
 738  
      * Retrieves the list of Minor Discipline Program a given Credential Program
 739  
      * Type.
 740  
      * 
 741  
      * @param programType Type of Credential Program
 742  
      * @return List of Minor Disciplines for the given Credential Program Type
 743  
      * @throws DoesNotExistException program type not found
 744  
      * @throws InvalidParameterException invalid program type
 745  
      * @throws MissingParameterException program type is not specified
 746  
      * @throws OperationFailedException unable to complete request
 747  
      */
 748  
     public List<String> getMinorsByCredentialProgramType(@WebParam(name = "programType") String programType, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException,
 749  
             InvalidParameterException, MissingParameterException, OperationFailedException;
 750  
 
 751  
     /**
 752  
      * Validates a Minor discipline against its data dictionary
 753  
      * 
 754  
      * @param validationType identifier of the extent of validation
 755  
      * @param minorDisciplineInfo Minor discipline information to be tested
 756  
      * @return results from performing the validation
 757  
      * @throws InvalidParameterException invalid validationTypeKey, cluInfo
 758  
      * @throws MissingParameterException missing validationTypeKey, cluInfo
 759  
      * @throws OperationFailedException unable to complete request
 760  
      */
 761  
     public List<ValidationResultInfo> validateMinorDiscipline(@WebParam(name = "validationType") String validationType,
 762  
             @WebParam(name = "minorDisciplineInfo") MinorDisciplineInfo minorDisciplineInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException,
 763  
             MissingParameterException, OperationFailedException;
 764  
 
 765  
     /**
 766  
      * Creates a Minor Discipline Program
 767  
      * 
 768  
      * @param minorDisciplineInfo minorDisciplineInfo
 769  
      * @return the created Minor Discipline
 770  
      * @throws AlreadyExistsException The Minor already exists
 771  
      * @throws DataValidationErrorException One or more values invalid for this
 772  
      *             operation
 773  
      * @throws InvalidParameterException invalid Minor
 774  
      * @throws MissingParameterException missing Minor
 775  
      * @throws OperationFailedException unable to complete request
 776  
      * @throws PermissionDeniedException authorization failure
 777  
      */
 778  
     public MinorDisciplineInfo createMinorDiscipline(@WebParam(name = "minorDisciplineTypeKey") String minorDisciplineTypeKey,
 779  
             @WebParam(name = "minorDisciplineInfo") MinorDisciplineInfo minorDisciplineInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws AlreadyExistsException,
 780  
             DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 781  
 
 782  
     /**
 783  
      * Updates a Minor Discipline
 784  
      * 
 785  
      * @param minorDisciplineInfo minorDisciplineInfo
 786  
      * @return updated Minor Discipline
 787  
      * @throws DataValidationErrorException One or more values invalid for this
 788  
      *             operation
 789  
      * @throws DoesNotExistException Minor not found
 790  
      * @throws InvalidParameterException invalid Minor
 791  
      * @throws MissingParameterException missing Minor
 792  
      * @throws VersionMismatchException The action was attempted on an out of
 793  
      *             date version
 794  
      * @throws OperationFailedException unable to complete request
 795  
      * @throws PermissionDeniedException authorization failure
 796  
      */
 797  
     public MinorDisciplineInfo updateMinorDiscipline(@WebParam(name = "minorDisciplineId") String minorDisciplineId, @WebParam(name = "minorDisciplineTypeKey") String minorDisciplineTypeKey,
 798  
             @WebParam(name = "minorDisciplineInfo") MinorDisciplineInfo minorDisciplineInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException,
 799  
             DoesNotExistException, InvalidParameterException, MissingParameterException, VersionMismatchException, OperationFailedException, PermissionDeniedException;
 800  
 
 801  
     /**
 802  
      * Deletes a Minor Discipline
 803  
      * 
 804  
      * @param minorDisciplineId identifier for minorDisciplineId.Maps to cluId
 805  
      * @return status of the operation (success or failure)
 806  
      * @throws DoesNotExistException Minor does not exist
 807  
      * @throws InvalidParameterException invalid minorDisciplineId
 808  
      * @throws MissingParameterException invalid minorDisciplineId
 809  
      * @throws OperationFailedException unable to complete request
 810  
      * @throws PermissionDeniedException authorization failure
 811  
      */
 812  
     public StatusInfo deleteMinorDiscipline(@WebParam(name = "minorDisciplineId") String minorDisciplineId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException,
 813  
             InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 814  
 }