Coverage Report - org.kuali.student.r2.lum.clu.service.CluService
 
Classes in this File Line Coverage Branch Coverage Complexity
CluService
N/A
N/A
1
 
 1  
 /**
 2  
  * Copyright 2010 The Kuali Foundation Licensed under the
 3  
  * Educational Community License, Version 2.0 (the "License"); you may
 4  
  * not use this file except in compliance with the License. You may
 5  
  * obtain a copy of the License at
 6  
  *
 7  
  * http://www.osedu.org/licenses/ECL-2.0
 8  
  *
 9  
  * Unless required by applicable law or agreed to in writing,
 10  
  * software distributed under the License is distributed on an "AS IS"
 11  
  * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 12  
  * or implied. See the License for the specific language governing
 13  
  * permissions and limitations under the License.
 14  
  */
 15  
 package org.kuali.student.r2.lum.clu.service;
 16  
 
 17  
 import org.kuali.student.r2.common.dto.ContextInfo;
 18  
 import org.kuali.student.r2.common.dto.StatusInfo;
 19  
 import org.kuali.student.r2.common.dto.ValidationResultInfo;
 20  
 import org.kuali.student.r2.common.exceptions.CircularRelationshipException;
 21  
 import org.kuali.student.r2.common.exceptions.DataValidationErrorException;
 22  
 import org.kuali.student.r2.common.exceptions.DependentObjectsExistException;
 23  
 import org.kuali.student.r2.common.exceptions.DoesNotExistException;
 24  
 import org.kuali.student.r2.common.exceptions.IllegalVersionSequencingException;
 25  
 import org.kuali.student.r2.common.exceptions.InvalidParameterException;
 26  
 import org.kuali.student.r2.common.exceptions.MissingParameterException;
 27  
 import org.kuali.student.r2.common.exceptions.OperationFailedException;
 28  
 import org.kuali.student.r2.common.exceptions.PermissionDeniedException;
 29  
 import org.kuali.student.r2.common.exceptions.ReadOnlyException;
 30  
 import org.kuali.student.r2.common.exceptions.UnsupportedActionException;
 31  
 import org.kuali.student.r2.common.exceptions.VersionMismatchException;
 32  
 import org.kuali.student.r2.common.util.constants.CluServiceConstants;
 33  
 import org.kuali.student.r2.core.type.dto.TypeInfo;
 34  
 import org.kuali.student.r2.core.versionmanagement.service.VersionManagementService;
 35  
 import org.kuali.student.r2.lum.clu.dto.CluCluRelationInfo;
 36  
 import org.kuali.student.r2.lum.clu.dto.CluInfo;
 37  
 import org.kuali.student.r2.lum.clu.dto.CluLoRelationInfo;
 38  
 import org.kuali.student.r2.lum.clu.dto.CluPublicationInfo;
 39  
 import org.kuali.student.r2.lum.clu.dto.CluResultInfo;
 40  
 import org.kuali.student.r2.lum.clu.dto.CluSetInfo;
 41  
 import org.kuali.student.r2.lum.clu.dto.CluSetTreeViewInfo;
 42  
 
 43  
 import javax.jws.WebParam;
 44  
 import javax.jws.WebService;
 45  
 import javax.jws.soap.SOAPBinding;
 46  
 import java.util.Date;
 47  
 import java.util.List;
 48  
 import org.kuali.student.r2.common.exceptions.AlreadyExistsException;
 49  
 
 50  
 /**
 51  
  * Learning Unit (LU) Service
 52  
  *
 53  
  * @Author Kamal
 54  
  * @Version 2.0
 55  
  * @Author Sri komandur@uw.edu
 56  
  */
 57  
 @WebService(name = "CluService", targetNamespace = CluServiceConstants.NAMESPACE)
 58  
 @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
 59  
 public interface CluService extends VersionManagementService {
 60  
 
 61  
     /**
 62  
      * Retrieves the list of delivery method types
 63  
      *
 64  
      * @param contextInfo Context information containing the principalId and
 65  
      *                    locale information about the caller of service
 66  
      *                    operation
 67  
      * @return list of delivery method type information
 68  
      * @throws InvalidParameterException invalid contextInfo
 69  
      * @throws MissingParameterException missing contextInfo
 70  
      * @throws OperationFailedException  unable to complete request
 71  
      * @throws PermissionDeniedException authorization failure
 72  
      */
 73  
     public List<TypeInfo> getDeliveryMethodTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 74  
 
 75  
     /**
 76  
      * Retrieves information about a delivery method type
 77  
      *
 78  
      * @param deliveryMethodTypeKey Key of the Delivery Method Type
 79  
      * @param contextInfo           Context information containing the
 80  
      *                              principalId and locale information about the
 81  
      *                              caller of service operation
 82  
      * @return information about a Delivery Method Type
 83  
      * @throws DoesNotExistException     deliveryMethodType not found
 84  
      * @throws InvalidParameterException invalid contextInfo
 85  
      * @throws MissingParameterException missing deliveryMethodType or
 86  
      *                                   contextInfo
 87  
      * @throws OperationFailedException  unable to complete request
 88  
      * @throws PermissionDeniedException authorization failure
 89  
      */
 90  
     public TypeInfo getDeliveryMethodType(@WebParam(name = "deliveryMethodTypeKey") String deliveryMethodTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 91  
 
 92  
     /**
 93  
      * Retrieves the list of instructional format types
 94  
      *
 95  
      * @param contextInfo Context information containing the principalId and
 96  
      *                    locale information about the caller of service
 97  
      *                    operation
 98  
      * @return list of instructional format type information
 99  
      * @throws InvalidParameterException invalid contextInfo
 100  
      * @throws MissingParameterException missing contextInfo
 101  
      * @throws OperationFailedException  unable to complete request
 102  
      * @throws PermissionDeniedException authorization failure
 103  
      */
 104  
     public List<TypeInfo> getInstructionalFormatTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 105  
 
 106  
     /**
 107  
      * Retrieves information about a Instructional Format Type
 108  
      *
 109  
      * @param instructionalFormatTypeKey Key of the Instructional Format Type
 110  
      * @param contextInfo                Context information containing the
 111  
      *                                   principalId and locale information
 112  
      *                                   about the caller of service operation
 113  
      * @return information about a Instructional Format Type
 114  
      * @throws DoesNotExistException     instructionalFormatTypeKey not found
 115  
      * @throws InvalidParameterException invalid contextInfo
 116  
      * @throws MissingParameterException missing instructionalFormatTypeKey or
 117  
      *                                   contextInfo
 118  
      * @throws OperationFailedException  unable to complete request
 119  
      * @throws PermissionDeniedException authorization failure
 120  
      */
 121  
     public TypeInfo getInstructionalFormatType(@WebParam(name = "instructionalFormatTypeKey") String instructionalFormatTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 122  
 
 123  
     /**
 124  
      * Retrieves the list of LU types
 125  
      *
 126  
      * @param contextInfo Context information containing the principalId and
 127  
      *                    locale information about the caller of service
 128  
      *                    operation
 129  
      * @return list of LU type information
 130  
      * @throws InvalidParameterException invalid contextInfo
 131  
      * @throws MissingParameterException missing contextInfo
 132  
      * @throws OperationFailedException  unable to complete request
 133  
      * @throws PermissionDeniedException authorization failure
 134  
      */
 135  
     public List<TypeInfo> getLuTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 136  
 
 137  
     /**
 138  
      * Retrieves information about a LU Type
 139  
      *
 140  
      * @param luTypeKey   Key of the LU Type
 141  
      * @param contextInfo Context information containing the principalId and
 142  
      *                    locale information about the caller of service
 143  
      *                    operation
 144  
      * @return information about a LU Type
 145  
      * @throws DoesNotExistException     luTypeKey not found
 146  
      * @throws InvalidParameterException invalid contextInfo
 147  
      * @throws MissingParameterException missing luTypeKey or contextInfo
 148  
      * @throws OperationFailedException  unable to complete request
 149  
      * @throws PermissionDeniedException authorization failure
 150  
      */
 151  
     public TypeInfo getLuType(@WebParam(name = "luTypeKey") String luTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 152  
 
 153  
     /**
 154  
      * Retrieves the list of learning unit code types
 155  
      *
 156  
      * @param contextInfo Context information containing the principalId and
 157  
      *                    locale information about the caller of service
 158  
      *                    operation
 159  
      * @return list of lu code type information
 160  
      * @throws InvalidParameterException invalid contextInfo
 161  
      * @throws MissingParameterException missing contextInfo
 162  
      * @throws OperationFailedException  unable to complete request
 163  
      * @throws PermissionDeniedException authorization failure
 164  
      */
 165  
     public List<TypeInfo> getLuCodeTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 166  
 
 167  
     /**
 168  
      * Retrieves information about a learning unit code type
 169  
      *
 170  
      * @param luCodeTypeKey Key of the learning unit code type
 171  
      * @param contextInfo   Context information containing the principalId and
 172  
      *                      locale information about the caller of service
 173  
      *                      operation
 174  
      * @return information about a learning unit code type
 175  
      * @throws DoesNotExistException     luCodeTypeKey not found
 176  
      * @throws InvalidParameterException invalid contextInfo
 177  
      * @throws MissingParameterException missing luCodeTypeKey or contextInfo
 178  
      * @throws OperationFailedException  unable to complete request
 179  
      * @throws PermissionDeniedException authorization failure
 180  
      */
 181  
     public TypeInfo getLuCodeType(@WebParam(name = "luCodeTypeKey") String luCodeTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 182  
 
 183  
     /**
 184  
      * Retrieves the complete list of LU to LU relation types
 185  
      *
 186  
      * @param contextInfo Context information containing the principalId and
 187  
      *                    locale information about the caller of service
 188  
      *                    operation
 189  
      * @return list of LU to LU relation type information
 190  
      * @throws InvalidParameterException invalid contextInfo
 191  
      * @throws MissingParameterException missing contextInfo
 192  
      * @throws OperationFailedException  unable to complete request
 193  
      * @throws PermissionDeniedException authorization failure
 194  
      */
 195  
     public List<TypeInfo> getCluCluRelationTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 196  
 
 197  
     /**
 198  
      * Retrieves the LU to LU relation type
 199  
      *
 200  
      * @param cluCluRelationTypeKey Key of the LU to LU Relation Type
 201  
      * @param contextInfo           Context information containing the
 202  
      *                              principalId and locale information about the
 203  
      *                              caller of service operation
 204  
      * @return LU to LU relation type information
 205  
      * @throws DoesNotExistException     cluCluRelationTypeKey not found
 206  
      * @throws InvalidParameterException invalid contextInfo
 207  
      * @throws MissingParameterException missing cluCluRelationTypeKey or
 208  
      *                                   contextInfo
 209  
      * @throws OperationFailedException  unable to complete request
 210  
      * @throws PermissionDeniedException authorization failure
 211  
      */
 212  
     public TypeInfo getLuLuRelationType(@WebParam(name = "cluCluRelationTypeKey") String cluCluRelationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 213  
 
 214  
     /**
 215  
      * Retrieves the list of allowed relation types between the two specified LU
 216  
      * Types
 217  
      *
 218  
      * @param luTypeKey        Key of the first LU Type
 219  
      * @param relatedLuTypeKey Key of the second LU Type
 220  
      * @param contextInfo      Context information containing the principalId
 221  
      *                         and locale information about the caller of
 222  
      *                         service operation
 223  
      * @return list of LU to LU relation types
 224  
      * @throws DoesNotExistException     luTypeKey, relatedLuTypeKey not found
 225  
      * @throws InvalidParameterException invalid contextInfo
 226  
      * @throws MissingParameterException missing luTypeKey, relatedLuTypeKey or
 227  
      *                                   contextInfo
 228  
      * @throws OperationFailedException  unable to complete request
 229  
      * @throws PermissionDeniedException authorization failure
 230  
      */
 231  
     public List<String> getAllowedLuLuRelationTypesForLuType(@WebParam(name = "luTypeKey") String luTypeKey, @WebParam(name = "relatedLuTypeKey") String relatedLuTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 232  
 
 233  
     /**
 234  
      * Retrieves the list of Learning Unit publication types
 235  
      *
 236  
      * @param contextInfo Context information containing the principalId and
 237  
      *                    locale information about the caller of service
 238  
      *                    operation
 239  
      * @return list of Learning Unit publication type information
 240  
      * @throws InvalidParameterException invalid contextInfo
 241  
      * @throws MissingParameterException missing contextInfo
 242  
      * @throws OperationFailedException  unable to complete request
 243  
      * @throws PermissionDeniedException authorization failure
 244  
      */
 245  
     public List<TypeInfo> getLuPublicationTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 246  
 
 247  
     /**
 248  
      * Retrieves information about a publication type
 249  
      *
 250  
      * @param luPublicationTypeKey Key of the Learning Unit Publication Type
 251  
      * @param contextInfo          Context information containing the
 252  
      *                             principalId and locale information about the
 253  
      *                             caller of service operation
 254  
      * @return information about a Learning Unit Publication Type
 255  
      * @throws DoesNotExistException     luPublicationTypeKey not found
 256  
      * @throws InvalidParameterException invalid contextInfo
 257  
      * @throws MissingParameterException missing luPublicationTypeKey or
 258  
      *                                   contextInfo
 259  
      * @throws OperationFailedException  unable to complete request
 260  
      * @throws PermissionDeniedException authorization failure
 261  
      */
 262  
     public TypeInfo getLuPublicationType(@WebParam(name = "luPublicationTypeKey") String luPublicationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 263  
 
 264  
     /**
 265  
      * Retrieves information about a publication type
 266  
      *
 267  
      * @param luTypeKey   Key of the LU Type
 268  
      * @param contextInfo Context information containing the principalId and
 269  
      *                    locale information about the caller of service
 270  
      *                    operation
 271  
      * @return list of LU publication types
 272  
      * @throws DoesNotExistException     luTypeKey not found
 273  
      * @throws InvalidParameterException invalid contextInfo
 274  
      * @throws MissingParameterException missing luTypeKey or contextInfo
 275  
      * @throws OperationFailedException  unable to complete request
 276  
      * @throws PermissionDeniedException authorization failure
 277  
      */
 278  
     public List<String> getLuPublicationTypesForLuType(@WebParam(name = "luTypeKey") String luTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 279  
 
 280  
     /**
 281  
      * Retrieves a list of types for clu result objects.
 282  
      *
 283  
      * @param contextInfo Context information containing the principalId and
 284  
      *                    locale information about the caller of service
 285  
      *                    operation
 286  
      * @return list of clu result type information
 287  
      * @throws InvalidParameterException invalid contextInfo
 288  
      * @throws MissingParameterException missing contextInfo
 289  
      * @throws OperationFailedException  unable to complete request
 290  
      * @throws PermissionDeniedException authorization failure
 291  
      */
 292  
     public List<TypeInfo> getCluResultTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 293  
 
 294  
     /**
 295  
      * Retrieves information about a publication type
 296  
      *
 297  
      * @param cluResultTypeKey Key of the Canonical Learning Unit Result Type
 298  
      * @param contextInfo      Context information containing the principalId
 299  
      *                         and locale information about the caller of
 300  
      *                         service operation
 301  
      * @return information about a Learning Unit Publication Type
 302  
      * @throws DoesNotExistException     cluResultTypeKey not found
 303  
      * @throws InvalidParameterException invalid contextInfo
 304  
      * @throws MissingParameterException missing cluResultTypeKey or
 305  
      *                                   contextInfo
 306  
      * @throws OperationFailedException  unable to complete request
 307  
      * @throws PermissionDeniedException authorization failure
 308  
      */
 309  
     public TypeInfo getCluResultType(@WebParam(name = "cluResultTypeKey") String cluResultTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 310  
 
 311  
     /**
 312  
      * Retrieves the list of clu result types which are allowed to be used in
 313  
      * conjunction with a particular lu type.
 314  
      *
 315  
      * @param luTypeKey   luTypeKey
 316  
      * @param contextInfo Context information containing the principalId and
 317  
      *                    locale information about the caller of service
 318  
      *                    operation
 319  
      * @return list of clu result types
 320  
      * @throws DoesNotExistException     luTypeKey not found
 321  
      * @throws InvalidParameterException invalid contextInfo
 322  
      * @throws MissingParameterException missing luTypeKey or contextInfo
 323  
      * @throws OperationFailedException  unable to complete request
 324  
      * @throws PermissionDeniedException authorization failure
 325  
      */
 326  
     public List<TypeInfo> getCluResultTypesForLuType(@WebParam(name = "luTypeKey") String luTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 327  
 
 328  
     /**
 329  
      * Retrieves a list of result usage types
 330  
      *
 331  
      * @param contextInfo Context information containing the principalId and
 332  
      *                    locale information about the caller of service
 333  
      *                    operation
 334  
      * @return list of result usage type information
 335  
      * @throws InvalidParameterException invalid contextInfo
 336  
      * @throws MissingParameterException missing contextInfo
 337  
      * @throws OperationFailedException  unable to complete request
 338  
      * @throws PermissionDeniedException authorization failure
 339  
      */
 340  
     public List<TypeInfo> getResultUsageTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 341  
 
 342  
     /**
 343  
      * Retrieves information about a Result Usage Type
 344  
      *
 345  
      * @param resultUsageTypeKey Key of the Result Usage Type
 346  
      * @param contextInfo        Context information containing the principalId
 347  
      *                           and locale information about the caller of
 348  
      *                           service operation
 349  
      * @return information about a Result Usage Type
 350  
      * @throws DoesNotExistException     resultUsageTypeKey not found
 351  
      * @throws InvalidParameterException invalid contextInfo
 352  
      * @throws MissingParameterException missing resultUsageTypeKey or
 353  
      *                                   contextInfo
 354  
      * @throws OperationFailedException  unable to complete request
 355  
      * @throws PermissionDeniedException authorization failure
 356  
      */
 357  
     public TypeInfo getResultUsageType(@WebParam(name = "resultUsageTypeKey") String resultUsageTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 358  
 
 359  
     /**
 360  
      * Retrieves the list of result usage types which are allowed to be used in
 361  
      * conjunction with an lu type.
 362  
      *
 363  
      * @param luTypeKey   luTypeKey
 364  
      * @param contextInfo Context information containing the principalId and
 365  
      *                    locale information about the caller of service
 366  
      *                    operation
 367  
      * @return list of result usage types
 368  
      * @throws DoesNotExistException     luTypeKey not found
 369  
      * @throws InvalidParameterException invalid contextInfo
 370  
      * @throws MissingParameterException missing luTypeKey or contextInfo
 371  
      * @throws OperationFailedException  unable to complete request
 372  
      * @throws PermissionDeniedException authorization failure
 373  
      */
 374  
     public List<String> getAllowedResultUsageTypesForLuType(@WebParam(name = "luTypeKey") String luTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 375  
 
 376  
     /**
 377  
      * Retrieves the list of result component types which are allowed to be used
 378  
      * in conjunction with result usage type.
 379  
      *
 380  
      * @param resultUsageTypeKey resultUsageTypeKey
 381  
      * @param contextInfo        Context information containing the principalId
 382  
      *                           and locale information about the caller of
 383  
      *                           service operation
 384  
      * @return list of result component types
 385  
      * @throws DoesNotExistException     resultUsageTypeKey not found
 386  
      * @throws InvalidParameterException invalid contextInfo
 387  
      * @throws MissingParameterException missing resultUsageTypeKey or
 388  
      *                                   contextInfo
 389  
      * @throws OperationFailedException  unable to complete request
 390  
      * @throws PermissionDeniedException authorization failure
 391  
      */
 392  
     public List<String> getAllowedResultComponentTypesForResultUsageType(@WebParam(name = "resultUsageTypeKey") String resultUsageTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 393  
 
 394  
     /**
 395  
      * Retrieves the complete list of CLU to LO relation types
 396  
      *
 397  
      * @param contextInfo Context information containing the principalId and
 398  
      *                    locale information about the caller of service
 399  
      *                    operation
 400  
      * @return list of CLU to LO relation type information
 401  
      * @throws InvalidParameterException invalid contextInfo
 402  
      * @throws MissingParameterException missing contextInfo
 403  
      * @throws OperationFailedException  unable to complete request
 404  
      * @throws PermissionDeniedException authorization failure
 405  
      */
 406  
     public List<TypeInfo> getCluLoRelationTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 407  
 
 408  
     /**
 409  
      * Retrieves information for a specified CLU to LO relation type
 410  
      *
 411  
      * @param cluLoRelationTypeKey Key of the CLU to LO Relation Type
 412  
      * @param contextInfo          Context information containing the
 413  
      *                             principalId and locale information about the
 414  
      *                             caller of service operation
 415  
      * @return CLU to LO relation type information
 416  
      * @throws DoesNotExistException     cluLoRelationTypeKey not found
 417  
      * @throws InvalidParameterException invalid contextInfo
 418  
      * @throws MissingParameterException missing cluLoRelationTypeKey or
 419  
      *                                   contextInfo
 420  
      * @throws OperationFailedException  unable to complete request
 421  
      * @throws PermissionDeniedException authorization failure
 422  
      */
 423  
     public TypeInfo getCluLoRelationType(@WebParam(name = "cluLoRelationTypeKey") String cluLoRelationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 424  
 
 425  
     /**
 426  
      * Retrieves the list of CLU LO relation types which are allowed to be used
 427  
      * in conjunction with an lu type.
 428  
      *
 429  
      * @param luTypeKey   luTypeKey
 430  
      * @param contextInfo Context information containing the principalId and
 431  
      *                    locale information about the caller of service
 432  
      *                    operation
 433  
      * @return list of clu lo relation types
 434  
      * @throws DoesNotExistException     luTypeKey not found
 435  
      * @throws InvalidParameterException invalid contextInfo
 436  
      * @throws MissingParameterException missing luTypeKey or contextInfo
 437  
      * @throws OperationFailedException  unable to complete request
 438  
      * @throws PermissionDeniedException authorization failure
 439  
      */
 440  
     public List<String> getAllowedCluLoRelationTypesForLuType(@WebParam(name = "luTypeKey") String luTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 441  
 
 442  
     /**
 443  
      * Retrieves the list of CLU set types known by the service
 444  
      *
 445  
      * @param contextInfo Context information containing the principalId and
 446  
      *                    locale information about the caller of service
 447  
      *                    operation
 448  
      * @return list of CLU set type information
 449  
      * @throws InvalidParameterException invalid contextInfo
 450  
      * @throws MissingParameterException missing contextInfo
 451  
      * @throws OperationFailedException  unable to complete request
 452  
      * @throws PermissionDeniedException authorization failure
 453  
      */
 454  
     public List<TypeInfo> getCluSetTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 455  
 
 456  
     /**
 457  
      * Retrieves information about a specified CLU set type
 458  
      *
 459  
      * @param cluSetTypeKey Key of the CLU set type
 460  
      * @param contextInfo   Context information containing the principalId and
 461  
      *                      locale information about the caller of service
 462  
      *                      operation
 463  
      * @return information about a CLU set type
 464  
      * @throws DoesNotExistException     cluSetTypeKey not found
 465  
      * @throws InvalidParameterException invalid contextInfo
 466  
      * @throws MissingParameterException missing cluSetTypeKey or contextInfo
 467  
      * @throws OperationFailedException  unable to complete request
 468  
      * @throws PermissionDeniedException authorization failure
 469  
      */
 470  
     public TypeInfo getCluSetType(@WebParam(name = "cluSetTypeKey") String cluSetTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 471  
 
 472  
     /**
 473  
      * Retrieves core information about a CLU
 474  
      *
 475  
      * @param cluId       identifier of the CLU
 476  
      * @param contextInfo Context information containing the principalId and
 477  
      *                    locale information about the caller of service
 478  
      *                    operation
 479  
      * @return information about a CLU
 480  
      * @throws DoesNotExistException     cluId not found
 481  
      * @throws InvalidParameterException invalid contextInfo
 482  
      * @throws MissingParameterException missing cluId or contextInfo
 483  
      * @throws OperationFailedException  unable to complete request
 484  
      * @throws PermissionDeniedException authorization failure
 485  
      */
 486  
     public CluInfo getClu(@WebParam(name = "cluId") String cluId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 487  
 
 488  
     /**
 489  
      * Retrieves information about CLUs from a list of Ids
 490  
      *
 491  
      * @param cluIds      List of CLU identifiers
 492  
      * @param contextInfo Context information containing the principalId and
 493  
      *                    locale information about the caller of service
 494  
      *                    operation
 495  
      * @return information a list of CLUs
 496  
      * @throws DoesNotExistException     One or more cluIds not found
 497  
      * @throws InvalidParameterException invalid contextInfo
 498  
      * @throws MissingParameterException missing cluIds or contextInfo
 499  
      * @throws OperationFailedException  unable to complete request
 500  
      * @throws PermissionDeniedException authorization failure
 501  
      */
 502  
     public List<CluInfo> getClusByIds(@WebParam(name = "cluIds") List<String> cluIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 503  
 
 504  
     /**
 505  
      * Retrieves the list of CLUs for the specified LU Type and state
 506  
      *
 507  
      * @param luTypeKey   Type of the CLUs to retrieve
 508  
      * @param luState     State of the CLUs to retrieve.
 509  
      * @param contextInfo Context information containing the principalId and
 510  
      *                    locale information about the caller of service
 511  
      *                    operation
 512  
      * @return list of CLU information
 513  
      * @throws DoesNotExistException     luTypeKey or luState not found
 514  
      * @throws InvalidParameterException invalid contextInfo
 515  
      * @throws MissingParameterException missing luTypeKey, luState or
 516  
      *                                   contextInfo
 517  
      * @throws OperationFailedException  unable to complete request
 518  
      * @throws PermissionDeniedException authorization failure
 519  
      */
 520  
     public List<CluInfo> getClusByLuType(@WebParam(name = "luTypeKey") String luTypeKey, @WebParam(name = "luState") String luState, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 521  
 
 522  
     /**
 523  
      * Retrieves the list of CLU Ids for the specified LU Type and state
 524  
      *
 525  
      * @param luTypeKey   Type of the CLUs whose identifiers should be
 526  
      *                    retrieved
 527  
      * @param luState     State of the CLUs whose identifiers should be
 528  
      *                    retrieved
 529  
      * @param contextInfo Context information containing the principalId and
 530  
      *                    locale information about the caller of service
 531  
      *                    operation
 532  
      * @return list of CLU identifiers
 533  
      * @throws DoesNotExistException     luType or luState not found
 534  
      * @throws InvalidParameterException invalid contextInfo
 535  
      * @throws MissingParameterException missing luType, luState or contextInfo
 536  
      * @throws OperationFailedException  unable to complete request
 537  
      * @throws PermissionDeniedException authorization failure
 538  
      */
 539  
     public List<String> getCluIdsByLuType(@WebParam(name = "luTypeKey") String luTypeKey, @WebParam(name = "luState") String luState, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 540  
 
 541  
     /**
 542  
      * Retrieves the list of allowed relation types between the two specified
 543  
      * CLUs
 544  
      *
 545  
      * @param cluId        identifier of the first CLU
 546  
      * @param relatedCluId identifier of the second CLU
 547  
      * @param contextInfo  Context information containing the principalId and
 548  
      *                     locale information about the caller of service
 549  
      *                     operation
 550  
      * @return list of LU to LU relation types
 551  
      * @throws DoesNotExistException     cluId, relatedCluId not found
 552  
      * @throws InvalidParameterException invalid contextInfo
 553  
      * @throws MissingParameterException missing cluId, relatedCluId or
 554  
      *                                   contextInfo
 555  
      * @throws OperationFailedException  unable to complete request
 556  
      * @throws PermissionDeniedException authorization failure
 557  
      */
 558  
     public List<String> getAllowedCluCluRelationTypesByClu(@WebParam(name = "cluId") String cluId, @WebParam(name = "relatedCluId") String relatedCluId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 559  
 
 560  
     /**
 561  
      * Retrieves the list of CLU information for the CLUs related to a specified
 562  
      * CLU Id with a certain LU to LU relation type (getRelatedClusByClu from
 563  
      * the other direction)
 564  
      *
 565  
      * @param relatedCluId          identifier of the child or To CLU
 566  
      * @param cluCLuRelationTypeKey the LU to LU relation type
 567  
      * @param contextInfo           Context information containing the
 568  
      *                              principalId and locale information about the
 569  
      *                              caller of service operation
 570  
      * @return list of CLU information
 571  
      * @throws DoesNotExistException     relatedCluId, cluCLuRelationTypeKey not
 572  
      *                                   found
 573  
      * @throws InvalidParameterException invalid contextInfo
 574  
      * @throws MissingParameterException missing relatedCluId, cluCLuRelationTypeKey
 575  
      *                                   or contextInfo
 576  
      * @throws OperationFailedException  unable to complete request
 577  
      * @throws PermissionDeniedException authorization failure
 578  
      */
 579  
     public List<CluInfo> getClusByRelatedCluAndRelationType(@WebParam(name = "relatedCluId") String relatedCluId, @WebParam(name = "cluCLuRelationTypeKey") String cluCLuRelationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 580  
 
 581  
     /**
 582  
      * Retrieves the list of CLU Ids for the specified related CLU Id and LU to
 583  
      * LU relation type (getRelatedCluIdsByCluAndRelationType from the other
 584  
      * direction)
 585  
      *
 586  
      * @param relatedCluId          identifier of the child or To CLU
 587  
      * @param cluCluRelationTypeKey the LU to LU relation type
 588  
      * @param contextInfo           Context information containing the
 589  
      *                              principalId and locale information about the
 590  
      *                              caller of service operation
 591  
      * @return list of CLU identifiers
 592  
      * @throws DoesNotExistException     relatedCluId or cluCluRelationTypeKey
 593  
      *                                   not found
 594  
      * @throws InvalidParameterException invalid contextInfo
 595  
      * @throws MissingParameterException missing relatedCluId, cluCluRelationTypeKey
 596  
      *                                   or contextInfo
 597  
      * @throws OperationFailedException  unable to complete request
 598  
      * @throws PermissionDeniedException authorization failure
 599  
      */
 600  
     public List<String> getCluIdsByRelatedCluAndRelationType(@WebParam(name = "relatedCluId") String relatedCluId, @WebParam(name = "cluCluRelationTypeKey") String cluCluRelationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 601  
 
 602  
     /**
 603  
      * Retrieves the list of related CLU information for the specified CLU Id
 604  
      * and LU to LU relation type (getClusByRelation from the other direction)
 605  
      *
 606  
      * @param cluId                 identifier of the parent or From CLU
 607  
      * @param cluCluRelationTypeKey the LU to LU relation type
 608  
      * @param contextInfo           Context information containing the
 609  
      *                              principalId and locale information about the
 610  
      *                              caller of service operation
 611  
      * @return list of CLU information
 612  
      * @throws DoesNotExistException     cluId or cluCluRelationTypeKey not
 613  
      *                                   found
 614  
      * @throws InvalidParameterException invalid contextInfo
 615  
      * @throws MissingParameterException missing cluId, cluCluRelationTypeKey or
 616  
      *                                   contextInfo
 617  
      * @throws OperationFailedException  unable to complete request
 618  
      * @throws PermissionDeniedException authorization failure
 619  
      */
 620  
     public List<CluInfo> getRelatedClusByCluAndRelationType(@WebParam(name = "cluId") String cluId, @WebParam(name = "cluCluRelationTypeKey") String cluCluRelationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 621  
 
 622  
     /**
 623  
      * Retrieves the list of related CLU Ids for the specified CLU Id and LU to
 624  
      * LU relation type (getCluIdsByRelatedCluAndCluCluRelationType from the
 625  
      * other direction)
 626  
      *
 627  
      * @param cluId                 identifier of the parent or From CLU
 628  
      * @param cluCluRelationTypeKey the LU to LU relation type
 629  
      * @param contextInfo           Context information containing the
 630  
      *                              principalId and locale information about the
 631  
      *                              caller of service operation
 632  
      * @return list of CLU identifiers
 633  
      * @throws DoesNotExistException     cluId, cluCluRelationTypeKey not found
 634  
      * @throws InvalidParameterException invalid contextInfo
 635  
      * @throws MissingParameterException missing cluId, cluCluRelationTypeKey
 636  
      * @throws OperationFailedException  unable to complete request
 637  
      * @throws PermissionDeniedException authorization failure
 638  
      */
 639  
     public List<String> getRelatedCluIdsByCluAndRelationType(@WebParam(name = "cluId") String cluId, @WebParam(name = "cluCluRelationTypeKey") String cluCluRelationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 640  
 
 641  
     /**
 642  
      * Retrieves the relationship information between CLUs for a particular
 643  
      * Relation instance
 644  
      *
 645  
      * @param cluCluRelationId identifier of the CLU to CLU relation
 646  
      * @param contextInfo      Context information containing the principalId
 647  
      *                         and locale information about the caller of
 648  
      *                         service operation
 649  
      * @return information on the relation between two CLUs
 650  
      * @throws DoesNotExistException     cluCluRelationId not found
 651  
      * @throws InvalidParameterException invalid contextInfo
 652  
      * @throws MissingParameterException missing cluCluRelationId or
 653  
      *                                   contextInfo
 654  
      * @throws OperationFailedException  unable to complete request
 655  
      * @throws PermissionDeniedException authorization failure
 656  
      */
 657  
     public CluCluRelationInfo getCluCluRelation(@WebParam(name = "cluCluRelationId") String cluCluRelationId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 658  
 
 659  
     /**
 660  
      * Retrieves the list of relationship information for the specified CLU
 661  
      *
 662  
      * @param cluId       identifier of the parent or From CLU
 663  
      * @param contextInfo Context information containing the principalId and
 664  
      *                    locale information about the caller of service
 665  
      *                    operation
 666  
      * @return list of CLU to CLU relation information
 667  
      * @throws DoesNotExistException     cluId not found
 668  
      * @throws InvalidParameterException invalid contextInfo
 669  
      * @throws MissingParameterException missing cluId or contextInfo
 670  
      * @throws OperationFailedException  unable to complete request
 671  
      * @throws PermissionDeniedException authorization failure
 672  
      */
 673  
     public List<CluCluRelationInfo> getCluCluRelationsByClu(@WebParam(name = "cluId") String cluId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 674  
 
 675  
     /**
 676  
      * Retrieves a list of publication objects for a particular clu
 677  
      *
 678  
      * @param cluId       clu identifier
 679  
      * @param contextInfo Context information containing the principalId and
 680  
      *                    locale information about the caller of service
 681  
      *                    operation
 682  
      * @return list of publication objects used by the specified clu
 683  
      * @throws DoesNotExistException     cluId not found
 684  
      * @throws InvalidParameterException invalid contextInfo
 685  
      * @throws MissingParameterException missing cluId or contextInfo
 686  
      * @throws OperationFailedException  unable to complete request
 687  
      * @throws PermissionDeniedException authorization failure
 688  
      */
 689  
     public List<CluPublicationInfo> getCluPublicationsByClu(@WebParam(name = "cluId") String cluId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 690  
 
 691  
     /**
 692  
      * Retrieves a list of publication objects of a particular Type
 693  
      *
 694  
      * @param luPublicationTypeKey luPublicationType identifier
 695  
      * @param contextInfo          Context information containing the
 696  
      *                             principalId and locale information about the
 697  
      *                             caller of service operation
 698  
      * @return list of CLU Publication objects using the specified type
 699  
      * @throws DoesNotExistException     luPublicationType not found
 700  
      * @throws InvalidParameterException invalid contextInfo
 701  
      * @throws MissingParameterException missing luPublicationTypeKey or
 702  
      *                                   contextInfo
 703  
      * @throws OperationFailedException  unable to complete request
 704  
      * @throws PermissionDeniedException authorization failure
 705  
      */
 706  
     public List<CluPublicationInfo> getCluPublicationsByType(@WebParam(name = "luPublicationTypeKey") String luPublicationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 707  
 
 708  
     /**
 709  
      * Retrieves an LU publication object by its identifier
 710  
      *
 711  
      * @param cluPublicationId CLU publication identifier
 712  
      * @param contextInfo      Context information containing the principalId
 713  
      *                         and locale information about the caller of
 714  
      *                         service operation
 715  
      * @return CLU Publication information
 716  
      * @throws DoesNotExistException     cluPublicationId not found
 717  
      * @throws InvalidParameterException invalid contextInfo
 718  
      * @throws MissingParameterException missing cluPublicationId or
 719  
      *                                   contextInfo
 720  
      * @throws OperationFailedException  unable to complete request
 721  
      * @throws PermissionDeniedException authorization failure
 722  
      */
 723  
     public CluPublicationInfo getCluPublication(@WebParam(name = "cluPublicationId") String cluPublicationId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 724  
 
 725  
     /**
 726  
      * Retrieves information about a Clu Result
 727  
      *
 728  
      * @param cluResultId identifier of the Clu Result
 729  
      * @param contextInfo Context information containing the principalId and
 730  
      *                    locale information about the caller of service
 731  
      *                    operation
 732  
      * @return information about a Clu Result
 733  
      * @throws DoesNotExistException     cluResultId not found
 734  
      * @throws InvalidParameterException invalid contextInfo
 735  
      * @throws MissingParameterException missing cluResultId or contextInfo
 736  
      * @throws OperationFailedException  unable to complete request
 737  
      * @throws PermissionDeniedException authorization failure
 738  
      */
 739  
     public CluResultInfo getCluResult(@WebParam(name = "cluResultId") String cluResultId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 740  
 
 741  
     /**
 742  
      * Retrieves the cluResult for a particular clu
 743  
      *
 744  
      * @param cluId       clu identifier
 745  
      * @param contextInfo Context information containing the principalId and
 746  
      *                    locale information about the caller of service
 747  
      *                    operation
 748  
      * @return result information for a clu
 749  
      * @throws DoesNotExistException     cluId not found
 750  
      * @throws InvalidParameterException invalid contextInfo
 751  
      * @throws MissingParameterException missing cluId or contextInfo
 752  
      * @throws OperationFailedException  unable to complete request
 753  
      * @throws PermissionDeniedException authorization failure
 754  
      */
 755  
     public List<CluResultInfo> getCluResultByClu(@WebParam(name = "cluId") String cluId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 756  
 
 757  
     /**
 758  
      * Retrieves the list of clu Ids with the results of the specified usage
 759  
      * type. This would for example allow requests for all clus which have a
 760  
      * final grade.
 761  
      *
 762  
      * @param resultUsageTypeKey identifier of the result usage type
 763  
      * @param contextInfo        Context information containing the principalId
 764  
      *                           and locale information about the caller of
 765  
      *                           service operation
 766  
      * @return list of clu Ids
 767  
      * @throws DoesNotExistException     resultUsageType not found
 768  
      * @throws InvalidParameterException invalid resultUsageTypeKey
 769  
      * @throws MissingParameterException missing resultUsageTypeKey
 770  
      * @throws OperationFailedException  unable to complete request
 771  
      */
 772  
     public List<String> getCluIdsByResultUsageType(@WebParam(name = "resultUsageTypeKey") String resultUsageTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 773  
 
 774  
     /**
 775  
      * Retrieves the list of clu Ids which use a particular result component
 776  
      *
 777  
      * @param resultComponentId identifier of the result component
 778  
      * @param contextInfo       Context information containing the principalId
 779  
      *                          and locale information about the caller of
 780  
      *                          service operation
 781  
      * @return list of clu Ids
 782  
      * @throws DoesNotExistException     resultComponent not found
 783  
      * @throws InvalidParameterException invalid resultComponentId
 784  
      * @throws MissingParameterException missing resultComponentId
 785  
      * @throws OperationFailedException  unable to complete request
 786  
      */
 787  
     public List<String> getCluIdsByResultComponent(@WebParam(name = "resultComponentId") String resultComponentId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 788  
 
 789  
     /**
 790  
      * Retrieve information on a CLU LO Relation.
 791  
      *
 792  
      * @param cluLoRelationId Identifier of the CLU LO Relation
 793  
      * @param contextInfo     Context information containing the principalId and
 794  
      *                        locale information about the caller of service
 795  
      *                        operation
 796  
      * @return The retrieved CLU LO Relation information
 797  
      * @throws DoesNotExistException     cluLoRelationId not found
 798  
      * @throws InvalidParameterException invalid contextInfo
 799  
      * @throws MissingParameterException missing cluLoRelationId or contextInfo
 800  
      * @throws OperationFailedException  unable to complete request
 801  
      * @throws PermissionDeniedException authorization failure
 802  
      */
 803  
     public CluLoRelationInfo getCluLoRelation(@WebParam(name = "cluLoRelationId") String cluLoRelationId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 804  
 
 805  
     /**
 806  
      * Retrieves the list of canonical learning unit to learning objective
 807  
      * relationships for a given CLU.
 808  
      *
 809  
      * @param cluId       Identifier for the CLU
 810  
      * @param contextInfo Context information containing the principalId and
 811  
      *                    locale information about the caller of service
 812  
      *                    operation
 813  
      * @return List of canonical learning unit to learning objective
 814  
      *         relationships
 815  
      * @throws DoesNotExistException     cluId not found
 816  
      * @throws InvalidParameterException invalid contextInfo
 817  
      * @throws MissingParameterException missing cluId or contextInfo
 818  
      * @throws OperationFailedException  unable to complete request
 819  
      * @throws PermissionDeniedException authorization failure
 820  
      */
 821  
     public List<CluLoRelationInfo> getCluLoRelationsByClu(@WebParam(name = "cluId") String cluId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 822  
 
 823  
     /**
 824  
      * Retrieves the list of CLU identifiers associated with a given learning
 825  
      * objective identifier.
 826  
      *
 827  
      * @param loId        Identifier for the learning objective
 828  
      * @param contextInfo Context information containing the principalId and
 829  
      *                    locale information about the caller of service
 830  
      *                    operation
 831  
      * @return List of CLU LO Relations
 832  
      * @throws DoesNotExistException     loId not found
 833  
      * @throws InvalidParameterException invalid contextInfo
 834  
      * @throws MissingParameterException missing loId or contextInfo
 835  
      * @throws OperationFailedException  unable to complete request
 836  
      * @throws PermissionDeniedException authorization failure
 837  
      */
 838  
     public List<CluLoRelationInfo> getCluLoRelationsByLo(@WebParam(name = "loId") String loId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 839  
 
 840  
     /**
 841  
      * Retrieves the list of Resource requirements for the specified CLU
 842  
      *
 843  
      * @param cluId       Unique identifier for the CLU
 844  
      * @param contextInfo Context information containing the principalId and
 845  
      *                    locale information about the caller of service
 846  
      *                    operation
 847  
      * @return List of resource requirements
 848  
      * @throws DoesNotExistException     cluId not found
 849  
      * @throws InvalidParameterException invalid contextInfo
 850  
      * @throws MissingParameterException missing cluId or contextInfo
 851  
      * @throws OperationFailedException  unable to complete request
 852  
      * @throws PermissionDeniedException authorization failure
 853  
      */
 854  
     public List<String> getResourceRequirementsForClu(@WebParam(name = "cluId") String cluId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 855  
 
 856  
     /**
 857  
      * Retrieve information on a CLU set. This information should be about the
 858  
      * set itself, and in the case of a dynamic CLU set, should include the
 859  
      * criteria used to generate the set.
 860  
      *
 861  
      * @param cluSetId    Identifier of the CLU set
 862  
      * @param contextInfo Context information containing the principalId and
 863  
      *                    locale information about the caller of service
 864  
      *                    operation
 865  
      * @return The retrieved CLU set information
 866  
      * @throws DoesNotExistException     cluSetId not found
 867  
      * @throws InvalidParameterException invalid contextInfo
 868  
      * @throws MissingParameterException missing cluSetId or contextInfo
 869  
      * @throws OperationFailedException  unable to complete request
 870  
      * @throws PermissionDeniedException authorization failure
 871  
      */
 872  
     public CluSetInfo getCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 873  
 
 874  
     /**
 875  
      * Retrieve information on a CLU set and its sub clu set fully expanded.
 876  
      *
 877  
      * @param cluSetId    Identifier of the CLU set
 878  
      * @param contextInfo Context information containing the principalId and
 879  
      *                    locale information about the caller of service
 880  
      *                    operation
 881  
      * @return The retrieved CLU set tree view information
 882  
      * @throws DoesNotExistException     cluSetId not found
 883  
      * @throws InvalidParameterException invalid contextInfo
 884  
      * @throws MissingParameterException missing cluSetId or contextInfo
 885  
      * @throws OperationFailedException  unable to complete request
 886  
      * @throws PermissionDeniedException authorization failure
 887  
      */
 888  
     public CluSetTreeViewInfo getCluSetTreeView(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 889  
 
 890  
     /**
 891  
      * Retrieve information on CLU sets from a list of cluSet Ids.
 892  
      *
 893  
      * @param cluSetIds   List of identifiers of CLU sets
 894  
      * @param contextInfo Context information containing the principalId and
 895  
      *                    locale information about the caller of service
 896  
      *                    operation
 897  
      * @return The retrieved list of CLU set information
 898  
      * @throws DoesNotExistException     One or more cluSets not found
 899  
      * @throws InvalidParameterException invalid contextInfo
 900  
      * @throws MissingParameterException missing cluSetIds or contextInfo
 901  
      * @throws OperationFailedException  unable to complete request
 902  
      * @throws PermissionDeniedException authorization failure
 903  
      */
 904  
     public List<CluSetInfo> getCluSetsByIds(@WebParam(name = "cluSetIds") List<String> cluSetIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 905  
 
 906  
     /**
 907  
      * Retrieve the list of CLU Set Ids within a CLU Set
 908  
      *
 909  
      * @param cluSetId    Identifier of the CLU set
 910  
      * @param contextInfo Context information containing the principalId and
 911  
      *                    locale information about the caller of service
 912  
      *                    operation
 913  
      * @return The retrieved list of CLU Set Ids within the specified CLU set
 914  
      * @throws DoesNotExistException     cluSet not found
 915  
      * @throws InvalidParameterException invalid contextInfo
 916  
      * @throws MissingParameterException missing cluSetId or contextInfo
 917  
      * @throws OperationFailedException  unable to complete request
 918  
      * @throws PermissionDeniedException authorization failure
 919  
      */
 920  
     public List<String> getCluSetIdsFromCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 921  
 
 922  
     /**
 923  
      * Check if the given CluSet is dynamic
 924  
      *
 925  
      * @param cluSetId    Identifier of the CLU set
 926  
      * @param contextInfo Context information containing the principalId and
 927  
      *                    locale information about the caller of service
 928  
      *                    operation
 929  
      * @return The retrieved list of CLU Set Ids within the specified CLU set
 930  
      * @throws DoesNotExistException     cluSetId not found
 931  
      * @throws InvalidParameterException invalid contextInfo
 932  
      * @throws MissingParameterException missing cluSetId or contextInfo
 933  
      * @throws OperationFailedException  unable to complete request
 934  
      * @throws PermissionDeniedException authorization failure
 935  
      */
 936  
     public Boolean isCluSetDynamic(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 937  
 
 938  
     /**
 939  
      * Retrieves the list of CLUs in a CLU set. This only retrieves the direct
 940  
      * members.
 941  
      *
 942  
      * @param cluSetId    Identifier of the CLU set
 943  
      * @param contextInfo Context information containing the principalId and
 944  
      *                    locale information about the caller of service
 945  
      *                    operation
 946  
      * @return The retrieved list of information on the CLUs within the CLU set
 947  
      *         (flattened and de-duped)
 948  
      * @throws DoesNotExistException     cluSetId not found
 949  
      * @throws InvalidParameterException invalid contextInfo
 950  
      * @throws MissingParameterException missing cluSetId or contextInfo
 951  
      * @throws OperationFailedException  unable to complete request
 952  
      * @throws PermissionDeniedException authorization failure
 953  
      */
 954  
     public List<CluInfo> getClusFromCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 955  
 
 956  
     /**
 957  
      * Retrieves the list of CLU Identifiers within a CLU Set. This only
 958  
      * retrieves the direct members.
 959  
      *
 960  
      * @param cluSetId    Identifier of the CLU set
 961  
      * @param contextInfo Context information containing the principalId and
 962  
      *                    locale information about the caller of service
 963  
      *                    operation
 964  
      * @return The retrieved list of CLU Ids within the specified CLU set
 965  
      *         (flattened and de-duped)
 966  
      * @throws DoesNotExistException     cluSetId not found
 967  
      * @throws InvalidParameterException invalid contextInfo
 968  
      * @throws MissingParameterException missing cluSetId or contextInfo
 969  
      * @throws OperationFailedException  unable to complete request
 970  
      * @throws PermissionDeniedException authorization failure
 971  
      */
 972  
     public List<String> getCluIdsFromCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 973  
 
 974  
     /**
 975  
      * Retrieves the full list of CLUs in this CLU set or any cluset that is
 976  
      * included within that.
 977  
      *
 978  
      * @param cluSetId    Identifier of the CLU set
 979  
      * @param contextInfo Context information containing the principalId and
 980  
      *                    locale information about the caller of service
 981  
      *                    operation
 982  
      * @return The retrieved list of information on the CLUs
 983  
      * @throws DoesNotExistException     cluSet not found
 984  
      * @throws InvalidParameterException invalid contextInfo
 985  
      * @throws MissingParameterException missing cluSetId or contextInfo
 986  
      * @throws OperationFailedException  unable to complete request
 987  
      * @throws PermissionDeniedException authorization failure
 988  
      */
 989  
     public List<CluInfo> getAllClusInCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 990  
 
 991  
     /**
 992  
      * Retrieves the list of CLU Identifiers within a CLU Set or any cluset that
 993  
      * is included within that.
 994  
      *
 995  
      * @param cluSetId    Identifier of the CLU set
 996  
      * @param contextInfo Context information containing the principalId and
 997  
      *                    locale information about the caller of service
 998  
      *                    operation
 999  
      * @return The retrieved list of CLU Ids within the specified CLU set
 1000  
      * @throws DoesNotExistException     cluSetId not found
 1001  
      * @throws InvalidParameterException invalid contextInfo
 1002  
      * @throws MissingParameterException missing cluSetId or contextInfo
 1003  
      * @throws OperationFailedException  unable to complete request
 1004  
      * @throws PermissionDeniedException authorization failure
 1005  
      */
 1006  
     public List<String> getAllCluIdsInCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1007  
 
 1008  
     /**
 1009  
      * Checks if a CLU is a member of a CLU set or any contained CLU set
 1010  
      *
 1011  
      * @param cluId       Identifier of the CLU to check
 1012  
      * @param cluSetId    Identifier of the CLU set
 1013  
      * @param contextInfo Context information containing the principalId and
 1014  
      *                    locale information about the caller of service
 1015  
      *                    operation
 1016  
      * @return True if the CLU is a member of the CLU Set
 1017  
      * @throws DoesNotExistException     cluId, cluSetId not found
 1018  
      * @throws InvalidParameterException invalid contextInfo
 1019  
      * @throws MissingParameterException missing cluId, cluSetId or contextInfo
 1020  
      * @throws OperationFailedException  unable to complete request
 1021  
      * @throws PermissionDeniedException authorization failure
 1022  
      */
 1023  
     public Boolean isCluInCluSet(@WebParam(name = "cluId") String cluId, @WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1024  
 
 1025  
     /**
 1026  
      * Validates a CLU. Depending on the value of validationType, this
 1027  
      * validation could be limited to tests on just the current object and its
 1028  
      * directly contained sub-objects or expanded to perform all tests related
 1029  
      * to this object. If an identifier is present for the CLU (and/or one of
 1030  
      * its contained sub-objects) and a record is found for that identifier, the
 1031  
      * validation checks if the CLU can be shifted to the new values. If an
 1032  
      * identifier is not present or a record cannot be found for the identifier,
 1033  
      * it is assumed that the record does not exist and as such, the checks
 1034  
      * performed will be much shallower, typically mimicking those performed by
 1035  
      * setting the validationType to the current object.
 1036  
      *
 1037  
      * @param validationTypeKey identifier of the extent of validation
 1038  
      * @param cluInfo           CLU information to be tested.
 1039  
      * @param contextInfo       Context information containing the principalId
 1040  
      *                          and locale information about the caller of
 1041  
      *                          service operation
 1042  
      * @return results from performing the validation
 1043  
      * @throws DoesNotExistException     validationTypeKey not found
 1044  
      * @throws InvalidParameterException invalid cluInfo or contextInfo
 1045  
      * @throws MissingParameterException missing validationTypeKey, cluInfo or
 1046  
      *                                   contextInfo
 1047  
      * @throws OperationFailedException  unable to complete request
 1048  
      * @throws PermissionDeniedException authorization failure
 1049  
      */
 1050  
     public List<ValidationResultInfo> validateClu(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "cluInfo") CluInfo cluInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1051  
 
 1052  
     /**
 1053  
      * Creates a new CLU
 1054  
      *
 1055  
      * @param luTypeKey   identifier of the LU Type for the CLU being created
 1056  
      * @param cluInfo     information about the CLU being created
 1057  
      * @param contextInfo Context information containing the principalId and
 1058  
      *                    locale information about the caller of service
 1059  
      *                    operation
 1060  
      * @return the created CLU information
 1061  
      * @throws DataValidationErrorException supplied data is invalid
 1062  
      * @throws DoesNotExistException        luTypeKey not found
 1063  
      * @throws InvalidParameterException    invalid cluInfo or contextInfo
 1064  
      * @throws MissingParameterException    missing luTypeKey, cluInfo
 1065  
      * @throws OperationFailedException     unable to complete request
 1066  
      * @throws PermissionDeniedException    authorization failure
 1067  
      * @throws ReadOnlyException            an attempt at supplying information
 1068  
      *                                      designated as read only
 1069  
      */
 1070  
     public CluInfo createClu(@WebParam(name = "luTypeKey") String luTypeKey, @WebParam(name = "cluInfo") CluInfo cluInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 1071  
 
 1072  
     /**
 1073  
      * Updates an existing CLU
 1074  
      *
 1075  
      * @param cluId       identifier for the CLU to be updated
 1076  
      * @param cluInfo     updated information about the CLU
 1077  
      * @param contextInfo Context information containing the principalId and
 1078  
      *                    locale information about the caller of service
 1079  
      *                    operation
 1080  
      * @return the updated CLU information
 1081  
      * @throws DataValidationErrorException supplied data is invalid
 1082  
      * @throws DoesNotExistException        cluId not found
 1083  
      * @throws InvalidParameterException    invalid cluInfo or contextInfo
 1084  
      * @throws MissingParameterException    missing cluId, cluInfo or
 1085  
      *                                      contextInfo
 1086  
      * @throws OperationFailedException     unable to complete request
 1087  
      * @throws PermissionDeniedException    authorization failure
 1088  
      * @throws ReadOnlyException            an attempt at supplying information
 1089  
      *                                      designated as read only
 1090  
      * @throws VersionMismatchException     an optimistic locking failure or the
 1091  
      *                                      action was attempted on an out of
 1092  
      *                                      date version
 1093  
      */
 1094  
     public CluInfo updateClu(@WebParam(name = "cluId") String cluId, @WebParam(name = "cluInfo") CluInfo cluInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
 1095  
 
 1096  
     /**
 1097  
      * Deletes an existing CLU
 1098  
      *
 1099  
      * @param cluId       identifier for the CLU to be deleted
 1100  
      * @param contextInfo Context information containing the principalId and
 1101  
      *                    locale information about the caller of service
 1102  
      *                    operation
 1103  
      * @return status of the operation
 1104  
      * @throws DependentObjectsExistException delete would leave orphaned
 1105  
      *                                        objects or violate integrity
 1106  
      *                                        constraints
 1107  
      * @throws DoesNotExistException          cluId not found
 1108  
      * @throws InvalidParameterException      invalid contextInfo
 1109  
      * @throws MissingParameterException      missing cluId or contextInfo
 1110  
      * @throws OperationFailedException       unable to complete request
 1111  
      * @throws PermissionDeniedException      authorization failure
 1112  
      */
 1113  
     public StatusInfo deleteClu(@WebParam(name = "cluId") String cluId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DependentObjectsExistException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1114  
 
 1115  
     /**
 1116  
      * Creates a new CLU version based on the current clu
 1117  
      *
 1118  
      * @param cluId          identifier for the CLU to be versioned
 1119  
      * @param versionComment comment for the current version
 1120  
      * @param contextInfo    Context information containing the principalId and
 1121  
      *                       locale information about the caller of service
 1122  
      *                       operation
 1123  
      * @return the new versioned CLU information
 1124  
      * @throws DataValidationErrorException supplied data is invalid
 1125  
      * @throws DoesNotExistException        cluId not found
 1126  
      * @throws InvalidParameterException    invalid contextInfo
 1127  
      * @throws MissingParameterException    missing cluId, versionComment or
 1128  
      *                                      contextInfo
 1129  
      * @throws OperationFailedException     unable to complete request
 1130  
      * @throws PermissionDeniedException    authorization failure
 1131  
      * @throws ReadOnlyException            an attempt at supplying information
 1132  
      *                                      designated as read only
 1133  
      */
 1134  
     public CluInfo createNewCluVersion(@WebParam(name = "cluId") String cluId,
 1135  
             @WebParam(name = "versionComment") String versionComment,
 1136  
             @WebParam(name = "contextInfo") ContextInfo contextInfo)
 1137  
             throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 1138  
 
 1139  
     /**
 1140  
      * Sets a specific version of the Clu as current. The sequence number must
 1141  
      * be greater than the existing current Clu version. This will truncate the
 1142  
      * current version's end date to the currentVersionStart param. If a Clu
 1143  
      * exists which is set to become current in the future, that clu's
 1144  
      * currentVersionStart and CurrentVersionEnd will be nullified. The
 1145  
      * currentVersionStart must be in the future to prevent changing historic
 1146  
      * data.
 1147  
      *
 1148  
      * @param cluVersionId        Version Specific Id of the Clu
 1149  
      * @param currentVersionStart Date when this clu becomes current. Must be in
 1150  
      *                            the future and be after the most current clu's
 1151  
      *                            start date.
 1152  
      * @param contextInfo         Context information containing the principalId
 1153  
      *                            and locale information about the caller of
 1154  
      *                            service operation
 1155  
      * @return status of the operation
 1156  
      * @throws DataValidationErrorException supplied data is invalid
 1157  
      * @throws DoesNotExistException        cluVersionId not found
 1158  
      * @throws InvalidParameterException    invalid contextInfo
 1159  
      * @throws MissingParameterException    missing cluVersionId, previousState,
 1160  
      *                                      newState
 1161  
      * @throws IllegalVersionSequencingException a Clu with higher sequence number
 1162  
      *                                      from the one provided is marked
 1163  
      *                                      current
 1164  
      * @throws OperationFailedException     unable to complete request
 1165  
      * @throws PermissionDeniedException    authorization failure
 1166  
      */
 1167  
     public StatusInfo setCurrentCluVersion(@WebParam(name = "cluVersionId") String cluVersionId, @WebParam(name = "currentVersionStart") Date currentVersionStart, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, IllegalVersionSequencingException, OperationFailedException, PermissionDeniedException;
 1168  
 
 1169  
     /**
 1170  
      * Updates the state of the specified CLU
 1171  
      *
 1172  
      * @param cluId       identifier for the CLU to be updated
 1173  
      * @param luState     new state for the CLU. Value is expected to be
 1174  
      *                    constrained to those in the luState enumeration.
 1175  
      * @param contextInfo Context information containing the principalId and
 1176  
      *                    locale information about the caller of service
 1177  
      *                    operation
 1178  
      * @return the updated CLU information
 1179  
      * @throws DataValidationErrorException supplied data is invalid
 1180  
      * @throws DoesNotExistException        cluId not found
 1181  
      * @throws InvalidParameterException    invalid contextInfo
 1182  
      * @throws MissingParameterException    missing cluId, luState or
 1183  
      *                                      contextInfo
 1184  
      * @throws OperationFailedException     unable to complete request
 1185  
      * @throws PermissionDeniedException    authorization failure
 1186  
      * @throws ReadOnlyException            an attempt at supplying information
 1187  
      *                                      designated as read only
 1188  
      * @throws VersionMismatchException     an optimistic locking failure or the
 1189  
      *                                      action was attempted on an out of
 1190  
      *                                      date version
 1191  
      */
 1192  
     public CluInfo updateCluState(@WebParam(name = "cluId") String cluId, @WebParam(name = "luState") String luState, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
 1193  
 
 1194  
     /**
 1195  
      * Validates a cluCluRelation. Depending on the value of validationType,
 1196  
      * this validation could be limited to tests on just the current object and
 1197  
      * its directly contained sub-objects or expanded to perform all tests
 1198  
      * related to this object. If an identifier is present for the
 1199  
      * cluCluRelation (and/or one of its contained sub-objects) and a record is
 1200  
      * found for that identifier, the validation checks if the relationship can
 1201  
      * be shifted to the new values. If an identifier is not present or a record
 1202  
      * cannot be found for the identifier, it is assumed that the record does
 1203  
      * not exist and as such, the checks performed will be much shallower,
 1204  
      * typically mimicking those performed by setting the validationType to the
 1205  
      * current object.
 1206  
      *
 1207  
      * @param validationTypeKey     identifier of the extent of validation
 1208  
      * @param cluId                 identifier of the first CLU in the
 1209  
      *                              relationship - The From or Parent of the
 1210  
      *                              relation
 1211  
      * @param relatedCluId          identifier of the second CLU in the
 1212  
      *                              relationship to be related to - the To or
 1213  
      *                              Child of the Relation
 1214  
      * @param cluCluRelationTypeKey the CLU to CLU relationship type of the
 1215  
      *                              relationship
 1216  
      * @param cluCluRelationInfo    cluCluRelation information to be tested.
 1217  
      * @param contextInfo           Context information containing the
 1218  
      *                              principalId and locale information about the
 1219  
      *                              caller of service operation
 1220  
      * @return results from performing the validation
 1221  
      * @throws DoesNotExistException     validationTypeKey, cluId, relatedCluId
 1222  
      *                                   or cluCluRelationTypeKey  not found
 1223  
      * @throws InvalidParameterException invalid cluCluRelationInfo or
 1224  
      *                                   contextInfo
 1225  
      * @throws MissingParameterException missing validationTypeKey, cluId,
 1226  
      *                                   relatedCluId, cluCluRelationTypeKey or
 1227  
      *                                   cluCluRelationInfo or contextInfo
 1228  
      * @throws OperationFailedException  unable to complete request
 1229  
      * @throws PermissionDeniedException authorization failure
 1230  
      */
 1231  
     public List<ValidationResultInfo> validateCluCluRelation(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "cluId") String cluId, @WebParam(name = "relatedCluId") String relatedCluId, @WebParam(name = "cluCluRelationTypeKey") String cluCluRelationTypeKey, @WebParam(name = "cluCluRelationInfo") CluCluRelationInfo cluCluRelationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1232  
 
 1233  
     /**
 1234  
      * Create a directional relationship between two CLUs
 1235  
      *
 1236  
      * @param cluId                 identifier of the first CLU in the
 1237  
      *                              relationship - The From or Parent of the
 1238  
      *                              relation
 1239  
      * @param relatedCluId          identifier of the second CLU in the
 1240  
      *                              relationship to be related to - the To or
 1241  
      *                              Child of the Relation
 1242  
      * @param cluCluRelationTypeKey the LU to LU relationship type of the
 1243  
      *                              relationship
 1244  
      * @param cluCluRelationInfo    information about the relationship between
 1245  
      *                              the two CLUs
 1246  
      * @param contextInfo           Context information containing the
 1247  
      *                              principalId and locale information about the
 1248  
      *                              caller of service operation
 1249  
      * @return the created CLU to CLU relation information
 1250  
      * @throws CircularRelationshipException cluId equals relatedCluId
 1251  
      * @throws DataValidationErrorException  One or more values invalid for this
 1252  
      *                                       operation
 1253  
      * @throws DoesNotExistException         cluId, relatedCluId, cluCluRelationTypeKey
 1254  
      *                                       not found
 1255  
      * @throws InvalidParameterException     invalid cluCluRelationInfo or
 1256  
      *                                       contextInfo
 1257  
      * @throws MissingParameterException     missing cluId, relatedCluId,
 1258  
      *                                       cluCluRelationTypeKey, cluCluRelationInfo
 1259  
      *                                       or contextInfo
 1260  
      * @throws OperationFailedException      unable to complete request
 1261  
      * @throws PermissionDeniedException     authorization failure
 1262  
      * @throws ReadOnlyException             an attempt at supplying information
 1263  
      *                                       designated as read only
 1264  
      */
 1265  
     public CluCluRelationInfo createCluCluRelation(@WebParam(name = "cluId") String cluId, @WebParam(name = "relatedCluId") String relatedCluId, @WebParam(name = "cluCluRelationTypeKey") String cluCluRelationTypeKey, @WebParam(name = "cluCluRelationInfo") CluCluRelationInfo cluCluRelationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws CircularRelationshipException, DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 1266  
 
 1267  
     /**
 1268  
      * Updates a relationship between two CLUs
 1269  
      *
 1270  
      * @param cluCluRelationId   identifier of the CLU to CLU relation to be
 1271  
      *                           updated
 1272  
      * @param cluCluRelationInfo changed information about the CLU to CLU
 1273  
      *                           relationship
 1274  
      * @param contextInfo        Context information containing the principalId
 1275  
      *                           and locale information about the caller of
 1276  
      *                           service operation
 1277  
      * @return the updated CLU to CLU relation information
 1278  
      * @throws DataValidationErrorException One or more values invalid for this
 1279  
      *                                      operation
 1280  
      * @throws DoesNotExistException        cluCluRelation not found
 1281  
      * @throws InvalidParameterException    invalid cluCluRelationInfo or
 1282  
      *                                      contextInfo
 1283  
      * @throws MissingParameterException    missing cluCluRelationId,
 1284  
      *                                      cluCluRelationInfo or contextInfo
 1285  
      * @throws OperationFailedException     unable to complete request
 1286  
      * @throws PermissionDeniedException    authorization failure
 1287  
      * @throws ReadOnlyException            an attempt at supplying information
 1288  
      *                                      designated as read only
 1289  
      * @throws VersionMismatchException     an optimistic locking failure or the
 1290  
      *                                      action was attempted on an out of
 1291  
      *                                      date version
 1292  
      */
 1293  
     public CluCluRelationInfo updateCluCluRelation(@WebParam(name = "cluCluRelationId") String cluCluRelationId, @WebParam(name = "cluCluRelationInfo") CluCluRelationInfo cluCluRelationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
 1294  
 
 1295  
     /**
 1296  
      * Deletes a relationship between two CLUs
 1297  
      *
 1298  
      * @param cluCluRelationId identifier of CLU to CLU relationship to delete
 1299  
      * @param contextInfo      Context information containing the principalId
 1300  
      *                         and locale information about the caller of
 1301  
      *                         service operation
 1302  
      * @return status of the operation (success or failure)
 1303  
      * @throws DoesNotExistException     cluCluRelationId not found
 1304  
      * @throws InvalidParameterException invalid contextInfo
 1305  
      * @throws MissingParameterException missing cluCluRelationId or
 1306  
      *                                   contextInfo
 1307  
      * @throws OperationFailedException  unable to complete request
 1308  
      * @throws PermissionDeniedException authorization failure
 1309  
      */
 1310  
     public StatusInfo deleteCluCluRelation(@WebParam(name = "cluCluRelationId") String cluCluRelationId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1311  
 
 1312  
     /**
 1313  
      * Validates information about publication for a clu. Depending on the value
 1314  
      * of validationTypeKey, this validation could be limited to tests on just
 1315  
      * the current object and its directly contained sub-objects or expanded to
 1316  
      * perform all tests related to this object. If an identifier is present for
 1317  
      * the clu publication object (and/or one of its contained sub-objects) and
 1318  
      * a record is found for that identifier, the validation checks if the clu
 1319  
      * publication object can be shifted to the new values. If an identifier is
 1320  
      * not present or a record cannot be found for the identifier, it is assumed
 1321  
      * that the record does not exist and as such, the checks performed will be
 1322  
      * much shallower, typically mimicking those performed by setting the
 1323  
      * validationTypeKey to the current object.
 1324  
      *
 1325  
      * @param validationTypeKey    identifier of the extent of validation
 1326  
      * @param cluId                identifier of a clu
 1327  
      * @param luPublicationTypeKey type of lu publication
 1328  
      * @param cluPublicationInfo   CLU publication information to be tested.
 1329  
      * @param contextInfo          Context information containing the
 1330  
      *                             principalId and locale information about the
 1331  
      *                             caller of service operation
 1332  
      * @return results from performing the validation
 1333  
      * @throws DoesNotExistException     validationTypeKey, cluId or
 1334  
      *                                   luPublicationTypeKey not found
 1335  
      * @throws InvalidParameterException invalid cluPublicationInfo or
 1336  
      *                                   contextInfo
 1337  
      * @throws MissingParameterException missing validationTypeKey, cluId,
 1338  
      *                                   luPublicationTypeKey, cluPublicationInfo
 1339  
      *                                   or contextInfo
 1340  
      * @throws OperationFailedException  unable to complete request
 1341  
      * @throws PermissionDeniedException authorization failure
 1342  
      */
 1343  
     public List<ValidationResultInfo> validateCluPublication(@WebParam(name = "validationTypeKey") String validationTypeKey,
 1344  
             @WebParam(name = "cluId") String cluId,
 1345  
             @WebParam(name = "luPublicationTypeKey") String luPublicationTypeKey,
 1346  
             @WebParam(name = "cluPublicationInfo") CluPublicationInfo cluPublicationInfo,
 1347  
             @WebParam(name = "contextInfo") ContextInfo contextInfo)
 1348  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1349  
 
 1350  
     /**
 1351  
      * Create a clu publication object, which contains information about
 1352  
      * publication for a clu.
 1353  
      *
 1354  
      * @param cluId                identifier of a clu
 1355  
      * @param luPublicationTypeKey type of lu publication
 1356  
      * @param cluPublicationInfo   information about publication for a clu
 1357  
      * @param contextInfo          Context information containing the
 1358  
      *                             principalId and locale information about the
 1359  
      *                             caller of service operation
 1360  
      * @return information about the created clu publication object
 1361  
      * @throws DataValidationErrorException supplied data is invalid
 1362  
      * @throws DoesNotExistException        cluId or luPublicationTypeKey not
 1363  
      *                                      found
 1364  
      * @throws InvalidParameterException    invalid cluPublicationInfo or
 1365  
      *                                      contextInfo
 1366  
      * @throws MissingParameterException    missing cluId, luPublicationTypeKey,
 1367  
      *                                      cluPublicationInfo or contextInfo
 1368  
      * @throws OperationFailedException     unable to complete request
 1369  
      * @throws PermissionDeniedException    authorization failure
 1370  
      * @throws ReadOnlyException            an attempt at supplying information
 1371  
      *                                      designated as read only
 1372  
      */
 1373  
     public CluPublicationInfo createCluPublication(@WebParam(name = "cluId") String cluId, @WebParam(name = "luPublicationTypeKey") String luPublicationTypeKey, @WebParam(name = "cluPublicationInfo") CluPublicationInfo cluPublicationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 1374  
 
 1375  
     /**
 1376  
      * Updates an existing clu publication object
 1377  
      *
 1378  
      * @param cluPublicationId   identifier for the clu publication object to be
 1379  
      *                           updated
 1380  
      * @param cluPublicationInfo updated information about the clu publication
 1381  
      *                           object
 1382  
      * @param contextInfo        Context information containing the principalId
 1383  
      *                           and locale information about the caller of
 1384  
      *                           service operation
 1385  
      * @return the updated clu publication information
 1386  
      * @throws DataValidationErrorException supplied data is invalid
 1387  
      * @throws DoesNotExistException        cluPublicationId not found
 1388  
      * @throws InvalidParameterException    invalid cluPublicationInfo or
 1389  
      *                                      contextInfo
 1390  
      * @throws MissingParameterException    missing cluPublicationId,
 1391  
      *                                      cluPublicationInfo or contextInfo
 1392  
      * @throws OperationFailedException     unable to complete request
 1393  
      * @throws PermissionDeniedException    authorization failure
 1394  
      * @throws ReadOnlyException            an attempt at supplying information
 1395  
      *                                      designated as read only
 1396  
      * @throws VersionMismatchException     The action was attempted on an out
 1397  
      *                                      of date version.
 1398  
      */
 1399  
     public CluPublicationInfo updateCluPublication(@WebParam(name = "cluPublicationId") String cluPublicationId, @WebParam(name = "cluPublicationInfo") CluPublicationInfo cluPublicationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
 1400  
 
 1401  
     /**
 1402  
      * Deletes an existing clu publication object
 1403  
      *
 1404  
      * @param cluPublicationId identifier for the clu publication object to be
 1405  
      *                         deleted
 1406  
      * @param contextInfo      Context information containing the principalId
 1407  
      *                         and locale information about the caller of
 1408  
      *                         service operation
 1409  
      * @return status of the operation
 1410  
      * @throws DependentObjectsExistException delete would leave orphaned
 1411  
      *                                        objects or violate integrity
 1412  
      *                                        constraints
 1413  
      * @throws DoesNotExistException          cluPublicationId not found
 1414  
      * @throws InvalidParameterException      invalid contextInfo
 1415  
      * @throws MissingParameterException      missing cluPublicationId or
 1416  
      *                                        contextInfo
 1417  
      * @throws OperationFailedException       unable to complete request
 1418  
      * @throws PermissionDeniedException      authorization failure
 1419  
      */
 1420  
     public StatusInfo deleteCluPublication(@WebParam(name = "cluPublicationId") String cluPublicationId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, DependentObjectsExistException, OperationFailedException, PermissionDeniedException;
 1421  
 
 1422  
     /**
 1423  
      * Validates information about results for a clu. Depending on the value of
 1424  
      * validationTypeKey, this validation could be limited to tests on just the
 1425  
      * current object and its directly contained sub-objects or expanded to
 1426  
      * perform all tests related to this object. If an identifier is present for
 1427  
      * the clu result object (and/or one of its contained sub-objects) and a
 1428  
      * record is found for that identifier, the validation checks if the clu
 1429  
      * result object can be shifted to the new values. If an identifier is not
 1430  
      * present or a record cannot be found for the identifier, it is assumed
 1431  
      * that the record does not exist and as such, the checks performed will be
 1432  
      * much shallower, typically mimicking those performed by setting the
 1433  
      * validationTypeKey to the current object.
 1434  
      *
 1435  
      * @param validationTypeKey identifier of the extent of validation
 1436  
      * @param cluId             identifier of a clu
 1437  
      * @param cluResultTypeKey  type of clu result
 1438  
      * @param cluResultInfo     CLU result information to be tested.
 1439  
      * @param contextInfo       Context information containing the principalId
 1440  
      *                          and locale information about the caller of
 1441  
      *                          service operation
 1442  
      * @return results from performing the validation
 1443  
      * @throws DoesNotExistException     validationTypeKey, cluId or
 1444  
      *                                   cluResultTypeKey not found
 1445  
      * @throws InvalidParameterException invalid cluResultInfo or contextInfo
 1446  
      * @throws MissingParameterException missing validationTypeKey, cluId,
 1447  
      *                                   cluResultTypeKey, cluResultInfo or
 1448  
      *                                   contextInfo
 1449  
      * @throws OperationFailedException  unable to complete request
 1450  
      * @throws PermissionDeniedException authorization failure
 1451  
      */
 1452  
     public List<ValidationResultInfo> validateCluResult(@WebParam(name = "validationTypeKey") String validationTypeKey,
 1453  
             @WebParam(name = "cluId") String cluId,
 1454  
             @WebParam(name = "cluResultTypeKey") String cluResultTypeKey,
 1455  
             @WebParam(name = "cluResultInfo") CluResultInfo cluResultInfo,
 1456  
             @WebParam(name = "contextInfo") ContextInfo contextInfo)
 1457  
             throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1458  
 
 1459  
     /**
 1460  
      * Create a clu result object, which contains information about potential
 1461  
      * results for a clu.
 1462  
      *
 1463  
      * @param cluId            identifier of a clu
 1464  
      * @param cluResultTypeKey type of clu result
 1465  
      * @param cluResultInfo    information about potential results for a clu
 1466  
      * @param contextInfo      Context information containing the principalId
 1467  
      *                         and locale information about the caller of
 1468  
      *                         service operation
 1469  
      * @return information about the created clu result
 1470  
      * @throws DataValidationErrorException supplied data is invalid
 1471  
      * @throws DoesNotExistException        cluId or resultUsageTypeKey not
 1472  
      *                                      found
 1473  
      * @throws InvalidParameterException    invalid cluResultInfo or contextInfo
 1474  
      * @throws MissingParameterException    missing cluId, cluResultTypeKey,
 1475  
      *                                      cluResultInfo or contextInfo
 1476  
      * @throws OperationFailedException     unable to complete request
 1477  
      * @throws PermissionDeniedException    authorization failure
 1478  
      * @throws ReadOnlyException            an attempt at supplying information
 1479  
      *                                      designated as read only
 1480  
      */
 1481  
     public CluResultInfo createCluResult(@WebParam(name = "cluId") String cluId,
 1482  
             @WebParam(name = "cluResultTypeKey") String cluResultTypeKey,
 1483  
             @WebParam(name = "cluResultInfo") CluResultInfo cluResultInfo,
 1484  
             @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 1485  
 
 1486  
     /**
 1487  
      * Updates an existing clu result
 1488  
      *
 1489  
      * @param cluResultId   identifier for the clu result to be updated
 1490  
      * @param cluResultInfo updated information about the clu result
 1491  
      * @param contextInfo   Context information containing the principalId and
 1492  
      *                      locale information about the caller of service
 1493  
      *                      operation
 1494  
      * @return the updated clu result information
 1495  
      * @throws DataValidationErrorException One or more values invalid for this
 1496  
      *                                      operation
 1497  
      * @throws DoesNotExistException        cluResultId not found
 1498  
      * @throws InvalidParameterException    invalid contextInfo
 1499  
      * @throws MissingParameterException    missing cluResultId, cluResultInfo
 1500  
      *                                      or contextInfo
 1501  
      * @throws OperationFailedException     unable to complete request
 1502  
      * @throws PermissionDeniedException    authorization failure
 1503  
      * @throws ReadOnlyException            an attempt at supplying information
 1504  
      *                                      designated as read only
 1505  
      * @throws VersionMismatchException     an optimistic locking failure or the
 1506  
      *                                      action was attempted on an out of
 1507  
      *                                      date version
 1508  
      */
 1509  
     public CluResultInfo updateCluResult(@WebParam(name = "cluResultId") String cluResultId, @WebParam(name = "cluResultInfo") CluResultInfo cluResultInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
 1510  
 
 1511  
     /**
 1512  
      * Deletes an existing clu result
 1513  
      *
 1514  
      * @param cluResultId identifier for the clu result to be deleted
 1515  
      * @param contextInfo Context information containing the principalId and
 1516  
      *                    locale information about the caller of service
 1517  
      *                    operation
 1518  
      * @return status of the operation
 1519  
      * @throws DoesNotExistException          cluResultId not found
 1520  
      * @throws InvalidParameterException      invalid contextInfo
 1521  
      * @throws MissingParameterException      missing cluResultId or contextInfo
 1522  
      * @throws DependentObjectsExistException delete would leave orphaned
 1523  
      *                                        objects or violate integrity
 1524  
      *                                        constraints
 1525  
      * @throws OperationFailedException       unable to complete request
 1526  
      * @throws PermissionDeniedException      authorization failure
 1527  
      */
 1528  
     public StatusInfo deleteCluResult(@WebParam(name = "cluResultId") String cluResultId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, DependentObjectsExistException, OperationFailedException, PermissionDeniedException;
 1529  
 
 1530  
     /**
 1531  
      * Validates a cluLoRelation. Depending on the value of validationTypeKey,
 1532  
      * this validation could be limited to tests on just the current object and
 1533  
      * its directly contained sub-objects or expanded to perform all tests
 1534  
      * related to this object. If an identifier is present for the cluLoRelation
 1535  
      * (and/or one of its contained sub-objects) and a record is found for that
 1536  
      * identifier, the validation checks if the relationship can be shifted to
 1537  
      * the new values. If an identifier is not present or a record cannot be
 1538  
      * found for the identifier, it is assumed that the record does not exist
 1539  
      * and as such, the checks performed will be much shallower, typically
 1540  
      * mimicking those performed by setting the validationTypeKey to the current
 1541  
      * object.
 1542  
      *
 1543  
      * @param validationTypeKey    identifier of the extent of validation
 1544  
      * @param cluId                CLU identifier
 1545  
      * @param loId                 learning objective identifier
 1546  
      * @param cluLoRelationTypeKey type of clu learning objective relationship
 1547  
      * @param cluLoRelationInfo    cluLoRelation information to be tested.
 1548  
      * @param contextInfo          Context information containing the
 1549  
      *                             principalId and locale information about the
 1550  
      *                             caller of service operation
 1551  
      * @return results from performing the validation
 1552  
      * @throws DoesNotExistException     validationTypeKey, cluId, loId or
 1553  
      *                                   cluLoRelationTypeKey not found
 1554  
      * @throws InvalidParameterException invalid cluLoRelationInfo or
 1555  
      *                                   contextInfo
 1556  
      * @throws MissingParameterException missing validationTypeKey, cluId, loId,
 1557  
      *                                   cluLoRelationTypeKey, cluLoRelationInfo
 1558  
      *                                   or contextInfo
 1559  
      * @throws OperationFailedException  unable to complete request
 1560  
      * @throws PermissionDeniedException authorization failure
 1561  
      */
 1562  
     public List<ValidationResultInfo> validateCluLoRelation(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "cluId") String cluId, @WebParam(name = "loId") String loId, @WebParam(name = "cluLoRelationTypeKey") String cluLoRelationTypeKey, @WebParam(name = "cluLoRelationInfo") CluLoRelationInfo cluLoRelationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1563  
 
 1564  
     /**
 1565  
      * Creates a relationship between a learning objective and a CLU.
 1566  
      *
 1567  
      * @param cluId                CLU identifier
 1568  
      * @param loId                 learning objective identifier
 1569  
      * @param cluLoRelationTypeKey type of clu learning objective relationship
 1570  
      * @param cluLoRelationInfo    clu learning objective relationship
 1571  
      *                             information
 1572  
      * @param contextInfo          Context information containing the
 1573  
      *                             principalId and locale information about the
 1574  
      *                             caller of service operation
 1575  
      * @return the newly created clu learning objective relationship
 1576  
      * @throws DataValidationErrorException data validation error
 1577  
      * @throws DoesNotExistException        cluId, loId, cluLoRelationTypeKey
 1578  
      *                                      not found
 1579  
      * @throws InvalidParameterException    invalid cluLoRelationInfo or
 1580  
      *                                      contextInfo
 1581  
      * @throws MissingParameterException    missing cluId, loId, cluLoRelationTypeKey,
 1582  
      *                                      cluLoRelationInfo or contextInfo
 1583  
      * @throws OperationFailedException     unable to complete request
 1584  
      * @throws PermissionDeniedException    authorization failure
 1585  
      * @throws ReadOnlyException            an attempt at supplying information
 1586  
      *                                      designated as read only
 1587  
      */
 1588  
     public CluLoRelationInfo createCluLoRelation(@WebParam(name = "cluId") String cluId, @WebParam(name = "loId") String loId, @WebParam(name = "cluLoRelationTypeKey") String cluLoRelationTypeKey, @WebParam(name = "cluLoRelationInfo") CluLoRelationInfo cluLoRelationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 1589  
 
 1590  
     /**
 1591  
      * Updates a relationship between a clu and learning objective
 1592  
      *
 1593  
      * @param cluLoRelationId   identifier of the clu learning objective
 1594  
      *                          relationship to be updated
 1595  
      * @param cluLoRelationInfo information about the clu learning objective
 1596  
      *                          relationship to be updated
 1597  
      * @param contextInfo       Context information containing the principalId
 1598  
      *                          and locale information about the caller of
 1599  
      *                          service operation
 1600  
      * @return the updated clu learning objective relationship information
 1601  
      * @throws DataValidationErrorException data validation error
 1602  
      * @throws DoesNotExistException        cluLoRelationId not found
 1603  
      * @throws InvalidParameterException    invalid cluLoRelationInfo or
 1604  
      *                                      contextInfo
 1605  
      * @throws MissingParameterException    missing cluLoRelationId, cluLoRelationInfo
 1606  
      *                                      or contextInfo
 1607  
      * @throws OperationFailedException     unable to complete request
 1608  
      * @throws PermissionDeniedException    authorization failure
 1609  
      * @throws ReadOnlyException            an attempt at supplying information
 1610  
      *                                      designated as read only
 1611  
      * @throws VersionMismatchException     The action was attempted on an out
 1612  
      *                                      of date version.
 1613  
      */
 1614  
     public CluLoRelationInfo updateCluLoRelation(@WebParam(name = "cluLoRelationId") String cluLoRelationId, @WebParam(name = "cluLoRelationInfo") CluLoRelationInfo cluLoRelationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
 1615  
 
 1616  
     /**
 1617  
      * Removes a relationship between a learning objective and a Clu.
 1618  
      *
 1619  
      * @param cluLoRelationId CLU learning objective Relationship identifier
 1620  
      * @param contextInfo     Context information containing the principalId and
 1621  
      *                        locale information about the caller of service
 1622  
      *                        operation
 1623  
      * @return Status of the delete operation
 1624  
      * @throws DoesNotExistException     cluLoRelationId not found
 1625  
      * @throws InvalidParameterException invalid contextInfo
 1626  
      * @throws MissingParameterException missing cluLoRelationId
 1627  
      * @throws OperationFailedException  unable to complete request
 1628  
      * @throws PermissionDeniedException authorization failure
 1629  
      */
 1630  
     public StatusInfo deleteCluLoRelation(@WebParam(name = "cluLoRelationId") String cluLoRelationId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1631  
 
 1632  
     /**
 1633  
      * Add a Resource requirement to a CLU
 1634  
      *
 1635  
      * @param resourceTypeKey identifier of the resource requirement type to be
 1636  
      *                        added to the CLU
 1637  
      * @param cluId           identifier of the CLU
 1638  
      * @param contextInfo     Context information containing the principalId and
 1639  
      *                        locale information about the caller of service
 1640  
      *                        operation
 1641  
      * @return status of the operation (success or failure)
 1642  
      * @throws AlreadyExistsException if the resource type has already been added to the clu
 1643  
      * @throws DoesNotExistException     resourceTypeKey or cluId not found
 1644  
      * @throws InvalidParameterException invalid resourceTypeKey or cluId
 1645  
      * @throws MissingParameterException missing resourceTypeKey, cluId or
 1646  
      *                                   contextInfo
 1647  
      * @throws OperationFailedException  unable to complete request
 1648  
      * @throws PermissionDeniedException authorization failure
 1649  
      */
 1650  
     public StatusInfo addCluResourceRequirement(@WebParam(name = "resourceTypeKey") String resourceTypeKey,
 1651  
             @WebParam(name = "cluId") String cluId,
 1652  
             @WebParam(name = "contextInfo") ContextInfo contextInfo)
 1653  
             throws AlreadyExistsException,
 1654  
             DoesNotExistException,
 1655  
             InvalidParameterException,
 1656  
             MissingParameterException,
 1657  
             OperationFailedException,
 1658  
             PermissionDeniedException;
 1659  
 
 1660  
     /**
 1661  
      * Remove a Resource requirement from a CLU
 1662  
      *
 1663  
      * @param resourceTypeKey identifier of the resource type to be removed from
 1664  
      *                        the CLU
 1665  
      * @param cluId           identifier of the CLU
 1666  
      * @param contextInfo     Context information containing the principalId and
 1667  
      *                        locale information about the caller of service
 1668  
      *                        operation
 1669  
      * @return status of the operation (success or failure)
 1670  
      * @throws DoesNotExistException     resourceTypeKey or cluId not found
 1671  
      * @throws InvalidParameterException invalid contextInfo
 1672  
      * @throws MissingParameterException missing resourceTypeKey, cluId or
 1673  
      *                                   contextInfo
 1674  
      * @throws OperationFailedException  unable to complete request
 1675  
      * @throws PermissionDeniedException authorization failure
 1676  
      */
 1677  
     public StatusInfo removeCluResourceRequirement(@WebParam(name = "resourceTypeKey") String resourceTypeKey, @WebParam(name = "cluId") String cluId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1678  
 
 1679  
     /**
 1680  
      * Validates information about a clu set. Depending on the value of
 1681  
      * validationTypeKey, this validation could be limited to tests on just the
 1682  
      * current object and its directly contained sub-objects or expanded to
 1683  
      * perform all tests related to this object. If an identifier is present for
 1684  
      * the clu set (and/or one of its contained sub-objects) and a record is
 1685  
      * found for that identifier, the validation checks if the clu set can be
 1686  
      * shifted to the new values. If an identifier is not present or a record
 1687  
      * cannot be found for the identifier, it is assumed that the record does
 1688  
      * not exist and as such, the checks performed will be much shallower,
 1689  
      * typically mimicking those performed by setting the validationType to the
 1690  
      * current object.
 1691  
      *
 1692  
      * @param validationTypeKey identifier of the extent of validation
 1693  
      * @param cluSetTypeKey     type of the CLU set to be created
 1694  
      * @param cluSetInfo        CLU set information to be tested.
 1695  
      * @param contextInfo       Context information containing the principalId
 1696  
      *                          and locale information about the caller of
 1697  
      *                          service operation
 1698  
      * @return results from performing the validation
 1699  
      * @throws DoesNotExistException     validationTypeKey or cluSetTypeKey not
 1700  
      *                                   found
 1701  
      * @throws InvalidParameterException invalid cluSetInfo or contextInfo
 1702  
      * @throws MissingParameterException missing validationTypeKey, cluSetTypeKey,
 1703  
      *                                   cluSetInfo or contextInfo
 1704  
      * @throws OperationFailedException  unable to complete request
 1705  
      * @throws PermissionDeniedException authorization failure
 1706  
      */
 1707  
     public List<ValidationResultInfo> validateCluSet(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "cluSetTypeKey") String cluSetTypeKey, @WebParam(name = "cluSetInfo") CluSetInfo cluSetInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1708  
 
 1709  
     /**
 1710  
      * Creates a CLU set.
 1711  
      *
 1712  
      * @param cluSetTypeKey type of the CLU set to be created
 1713  
      * @param cluSetInfo    information required to create a CLU set
 1714  
      * @param contextInfo   Context information containing the principalId and
 1715  
      *                      locale information about the caller of service
 1716  
      *                      operation
 1717  
      * @return the created CLU set information
 1718  
      * @throws DataValidationErrorException data validation error
 1719  
      * @throws DoesNotExistException        cluSetTypeKey not found
 1720  
      * @throws InvalidParameterException    invalid cluSetInfo or contextInfo
 1721  
      * @throws MissingParameterException    missing cluSetTypeKey, cluSetInfo or
 1722  
      *                                      contextInfo
 1723  
      * @throws OperationFailedException     unable to complete request
 1724  
      * @throws PermissionDeniedException    authorization failure
 1725  
      * @throws ReadOnlyException            an attempt at supplying information
 1726  
      *                                      designated as read only
 1727  
      * @throws UnsupportedActionException   CLU set need to be static or dynamic
 1728  
      *                                      but not both
 1729  
      */
 1730  
     public CluSetInfo createCluSet(@WebParam(name = "cluSetTypeKey") String cluSetTypeKey, @WebParam(name = "cluSetInfo") CluSetInfo cluSetInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, UnsupportedActionException;
 1731  
 
 1732  
     /**
 1733  
      * Update the information for a CLU set
 1734  
      *
 1735  
      * @param cluSetId    identifier of the CLU set to be updated
 1736  
      * @param cluSetInfo  updated information about the CLU set
 1737  
      * @param contextInfo Context information containing the principalId and
 1738  
      *                    locale information about the caller of service
 1739  
      *                    operation
 1740  
      * @return the updated CLU set information
 1741  
      * @throws CircularRelationshipException added CluSetId cannot be added to
 1742  
      *                                       the cluSetInfo
 1743  
      * @throws DataValidationErrorException  data validation error
 1744  
      * @throws DoesNotExistException         cluSetId not found
 1745  
      * @throws InvalidParameterException     invalid cluSetInfo or contextInfo
 1746  
      * @throws MissingParameterException     missing cluSetId, cluSetInfo or
 1747  
      *                                       contextInfo
 1748  
      * @throws OperationFailedException      unable to complete request
 1749  
      * @throws PermissionDeniedException     authorization failure
 1750  
      * @throws ReadOnlyException             an attempt at supplying information
 1751  
      *                                       designated as read only
 1752  
      * @throws UnsupportedActionException    CLU set need to be static or
 1753  
      *                                       dynamic but not both
 1754  
      * @throws VersionMismatchException      an optimistic locking failure or
 1755  
      *                                       the action was attempted on an out
 1756  
      *                                       of date version
 1757  
      */
 1758  
     public CluSetInfo updateCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "cluSetInfo") CluSetInfo cluSetInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws CircularRelationshipException, DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, UnsupportedActionException, VersionMismatchException;
 1759  
 
 1760  
     /**
 1761  
      * Delete a CLU set
 1762  
      *
 1763  
      * @param cluSetId    identifier of the CLU set to be deleted
 1764  
      * @param contextInfo Context information containing the principalId and
 1765  
      *                    locale information about the caller of service
 1766  
      *                    operation
 1767  
      * @return status of the operation (success or failure)
 1768  
      * @throws DoesNotExistException     cluSetId not found
 1769  
      * @throws InvalidParameterException invalid contextInfo
 1770  
      * @throws MissingParameterException missing cluSetId or contextInfo
 1771  
      * @throws OperationFailedException  unable to complete request
 1772  
      * @throws PermissionDeniedException authorization failure
 1773  
      */
 1774  
     public StatusInfo deleteCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1775  
 
 1776  
     /**
 1777  
      * Adds one CLU set to another
 1778  
      *
 1779  
      * @param cluSetId      identifier of the host CLU set
 1780  
      * @param addedCluSetId identifier of the CLU set to be added
 1781  
      * @param contextInfo   Context information containing the principalId and
 1782  
      *                      locale information about the caller of service
 1783  
      *                      operation
 1784  
      * @return status of the operation (success or failure)
 1785  
      * @throws CircularRelationshipException addedCluSetId cannot be added to
 1786  
      *                                       the CluSetId
 1787  
      * @throws DoesNotExistException         cluSetId, addedCluSetId not found
 1788  
      * @throws InvalidParameterException     invalid contextInfo
 1789  
      * @throws MissingParameterException     missing cluSetId, addedCluSetId or
 1790  
      *                                       contextInfo
 1791  
      * @throws OperationFailedException      unable to complete request
 1792  
      * @throws PermissionDeniedException     authorization failure
 1793  
      * @throws UnsupportedActionException    CLU set is dynamically determined
 1794  
      */
 1795  
     public StatusInfo addCluSetToCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "addedCluSetId") String addedCluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws CircularRelationshipException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, UnsupportedActionException;
 1796  
 
 1797  
     /**
 1798  
      * Adds a list of CLU sets to another CluSet. If any individual one would
 1799  
      * fail, then an error is returned and none are added.
 1800  
      *
 1801  
      * @param cluSetId       identifier of the host CLU set
 1802  
      * @param addedCluSetIds list of identifiers of the CLU sets to be added
 1803  
      * @param contextInfo    Context information containing the principalId and
 1804  
      *                       locale information about the caller of service
 1805  
      *                       operation
 1806  
      * @return status of the operation (success or failure)
 1807  
      * @throws CircularRelationshipException addedCluSetIds cannot be added to
 1808  
      *                                       the cluSetId
 1809  
      * @throws DoesNotExistException         cluSetId, one or more of cluSetIds
 1810  
      *                                       in addedCluSetIds not found
 1811  
      * @throws InvalidParameterException     invalid contextInfo
 1812  
      * @throws MissingParameterException     missing cluSetId, addedCluSetIds or
 1813  
      *                                       contextInfo
 1814  
      * @throws OperationFailedException      unable to complete request
 1815  
      * @throws PermissionDeniedException     authorization failure
 1816  
      * @throws UnsupportedActionException    CLU set is dynamically determined
 1817  
      */
 1818  
     public StatusInfo addCluSetsToCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "addedCluSetIds") List<String> addedCluSetIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws CircularRelationshipException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, UnsupportedActionException;
 1819  
 
 1820  
     /**
 1821  
      * Removes one CLU set from another
 1822  
      *
 1823  
      * @param cluSetId        identifier of the host CLU set
 1824  
      * @param removedCluSetId identifier of the CLU set to be removed
 1825  
      * @param contextInfo     Context information containing the principalId and
 1826  
      *                        locale information about the caller of service
 1827  
      *                        operation
 1828  
      * @return status of the operation (success or failure)
 1829  
      * @throws DoesNotExistException      cluSetId, removedCluSetId not found
 1830  
      * @throws InvalidParameterException  invalid contextInfo
 1831  
      * @throws MissingParameterException  missing cluSetId, removedCluSetId or
 1832  
      *                                    contextInfo
 1833  
      * @throws OperationFailedException   unable to complete request
 1834  
      * @throws PermissionDeniedException  authorization failure
 1835  
      * @throws UnsupportedActionException CLU set is dynamically determined
 1836  
      */
 1837  
     public StatusInfo removeCluSetFromCluSet(@WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "removedCluSetId") String removedCluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, UnsupportedActionException;
 1838  
 
 1839  
     /**
 1840  
      * Add a CLU to a CLU set
 1841  
      *
 1842  
      * @param cluId       identifier of CLU to add to the CLU set
 1843  
      * @param cluSetId    identifier of the CLU set
 1844  
      * @param contextInfo Context information containing the principalId and
 1845  
      *                    locale information about the caller of service
 1846  
      *                    operation
 1847  
      * @return status of the operation (success or failure)
 1848  
      * @throws DoesNotExistException      cluId, cluSetId not found
 1849  
      * @throws InvalidParameterException  invalid contextInfo
 1850  
      * @throws MissingParameterException  missing cluId, cluSetId or
 1851  
      *                                    contextInfo
 1852  
      * @throws OperationFailedException   unable to complete request
 1853  
      * @throws PermissionDeniedException  authorization failure
 1854  
      * @throws UnsupportedActionException CLU set is dynamically determined
 1855  
      */
 1856  
     public StatusInfo addCluToCluSet(@WebParam(name = "cluId") String cluId, @WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, UnsupportedActionException;
 1857  
 
 1858  
     /**
 1859  
      * Adds a list of CLUs to a CLU set. If any individual one would fail, then
 1860  
      * an error is returned and none are added.
 1861  
      *
 1862  
      * @param cluSetIds   list of identifiers of CLUs to add to the CLU set
 1863  
      * @param cluSetId    identifier of the CLU set to be added
 1864  
      * @param contextInfo Context information containing the principalId and
 1865  
      *                    locale information about the caller of service
 1866  
      *                    operation
 1867  
      * @return status of the operation (success or failure)
 1868  
      * @throws DoesNotExistException      cluSetIds, cluSetId not found
 1869  
      * @throws InvalidParameterException  invalid contextInfo
 1870  
      * @throws MissingParameterException  missing cluSetIds, cluSetId or
 1871  
      *                                    contextInfo
 1872  
      * @throws OperationFailedException   unable to complete request
 1873  
      * @throws PermissionDeniedException  authorization failure
 1874  
      * @throws UnsupportedActionException CLU set is dynamically determined
 1875  
      */
 1876  
     public StatusInfo addClusToCluSet(@WebParam(name = "cluSetIds") List<String> cluSetIds, @WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, UnsupportedActionException;
 1877  
 
 1878  
     /**
 1879  
      * Remove a CLU from a CLU set
 1880  
      *
 1881  
      * @param cluId       identifier of CLU to remove from the CLU set
 1882  
      * @param cluSetId    identifier of the CLU set
 1883  
      * @param contextInfo Context information containing the principalId and
 1884  
      *                    locale information about the caller of service
 1885  
      *                    operation
 1886  
      * @return status of the operation (success or failure)
 1887  
      * @throws DoesNotExistException      cluId, cluSetId not found
 1888  
      * @throws InvalidParameterException  invalid contextInfo
 1889  
      * @throws MissingParameterException  missing cluId, cluSetId or
 1890  
      *                                    contextInfo
 1891  
      * @throws OperationFailedException   unable to complete request
 1892  
      * @throws PermissionDeniedException  authorization failure
 1893  
      * @throws UnsupportedActionException CLU set is dynamically determined
 1894  
      */
 1895  
     public StatusInfo removeCluFromCluSet(@WebParam(name = "cluId") String cluId, @WebParam(name = "cluSetId") String cluSetId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, UnsupportedActionException;
 1896  
 }