Coverage Report - org.kuali.student.lum.lu.service.LuService
 
Classes in this File Line Coverage Branch Coverage Complexity
LuService
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  
 
 16  
 package org.kuali.student.lum.lu.service;
 17  
 
 18  
 import java.util.Date;
 19  
 import java.util.List;
 20  
 
 21  
 import javax.jws.WebParam;
 22  
 import javax.jws.WebService;
 23  
 import javax.jws.soap.SOAPBinding;
 24  
 
 25  
 import org.kuali.student.common.dictionary.service.DictionaryService;
 26  
 import org.kuali.student.common.dto.StatusInfo;
 27  
 import org.kuali.student.common.exceptions.AlreadyExistsException;
 28  
 import org.kuali.student.common.exceptions.CircularRelationshipException;
 29  
 import org.kuali.student.common.exceptions.DataValidationErrorException;
 30  
 import org.kuali.student.common.exceptions.DependentObjectsExistException;
 31  
 import org.kuali.student.common.exceptions.DoesNotExistException;
 32  
 import org.kuali.student.common.exceptions.IllegalVersionSequencingException;
 33  
 import org.kuali.student.common.exceptions.InvalidParameterException;
 34  
 import org.kuali.student.common.exceptions.MissingParameterException;
 35  
 import org.kuali.student.common.exceptions.OperationFailedException;
 36  
 import org.kuali.student.common.exceptions.PermissionDeniedException;
 37  
 import org.kuali.student.common.exceptions.UnsupportedActionException;
 38  
 import org.kuali.student.common.exceptions.VersionMismatchException;
 39  
 import org.kuali.student.common.search.service.SearchService;
 40  
 import org.kuali.student.common.validation.dto.ValidationResultInfo;
 41  
 import org.kuali.student.common.versionmanagement.service.VersionManagementService;
 42  
 import org.kuali.student.lum.lu.dto.CluCluRelationInfo;
 43  
 import org.kuali.student.lum.lu.dto.CluInfo;
 44  
 import org.kuali.student.lum.lu.dto.CluLoRelationInfo;
 45  
 import org.kuali.student.lum.lu.dto.CluLoRelationTypeInfo;
 46  
 import org.kuali.student.lum.lu.dto.CluPublicationInfo;
 47  
 import org.kuali.student.lum.lu.dto.CluResultInfo;
 48  
 import org.kuali.student.lum.lu.dto.CluResultTypeInfo;
 49  
 import org.kuali.student.lum.lu.dto.CluSetInfo;
 50  
 import org.kuali.student.lum.lu.dto.CluSetTreeViewInfo;
 51  
 import org.kuali.student.lum.lu.dto.CluSetTypeInfo;
 52  
 import org.kuali.student.lum.lu.dto.DeliveryMethodTypeInfo;
 53  
 import org.kuali.student.lum.lu.dto.InstructionalFormatTypeInfo;
 54  
 import org.kuali.student.lum.lu.dto.LuCodeTypeInfo;
 55  
 import org.kuali.student.lum.lu.dto.LuLuRelationTypeInfo;
 56  
 import org.kuali.student.lum.lu.dto.LuPublicationTypeInfo;
 57  
 import org.kuali.student.lum.lu.dto.LuTypeInfo;
 58  
 import org.kuali.student.lum.lu.dto.LuiInfo;
 59  
 import org.kuali.student.lum.lu.dto.LuiLuiRelationInfo;
 60  
 import org.kuali.student.lum.lu.dto.ResultUsageTypeInfo;
 61  
 
 62  
 
 63  
 /**
 64  
  *
 65  
  * @Author KSContractMojo
 66  
  * @Author Kamal
 67  
  * @Since Mon Jan 11 15:18:59 PST 2010
 68  
  * @See <a href="https://test.kuali.org/confluence/display/KULSTU/LU+Service+v1.0-rc4">LUService</>
 69  
  *
 70  
  */
 71  
 @WebService(name = "LuService", targetNamespace = LuServiceConstants.LU_NAMESPACE)
 72  
 @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
 73  
 public interface LuService extends DictionaryService, SearchService, VersionManagementService { 
 74  
 
 75  
         /** 
 76  
      * Retrieves the list of delivery method types
 77  
      * @return list of delivery method type information
 78  
      * @throws OperationFailedException unable to complete request
 79  
          */
 80  
     public List<DeliveryMethodTypeInfo> getDeliveryMethodTypes() throws OperationFailedException;
 81  
 
 82  
     /** 
 83  
      * Retrieves information about a delivery method type
 84  
      * @param deliveryMethodTypeKey Key of the Delivery Method Type
 85  
      * @return information about a Delivery Method Type
 86  
      * @throws DoesNotExistException deliveryMethodType not found
 87  
      * @throws InvalidParameterException invalid deliveryMethodType
 88  
      * @throws MissingParameterException missing deliveryMethodType
 89  
      * @throws OperationFailedException unable to complete request
 90  
          */
 91  
     public DeliveryMethodTypeInfo getDeliveryMethodType(@WebParam(name="deliveryMethodTypeKey")String deliveryMethodTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 92  
 
 93  
     /** 
 94  
      * Retrieves the list of instructional format types
 95  
      * @return list of instructional format type information
 96  
      * @throws OperationFailedException unable to complete request
 97  
          */
 98  
     public List<InstructionalFormatTypeInfo> getInstructionalFormatTypes() throws OperationFailedException;
 99  
 
 100  
     /** 
 101  
      * Retrieves information about a Instructional Format Type
 102  
      * @param instructionalFormatTypeKey Key of the Instructional Format Type
 103  
      * @return information about a Instructional Format Type
 104  
      * @throws DoesNotExistException instructionalFormatType not found
 105  
      * @throws InvalidParameterException invalid instructionalFormatType
 106  
      * @throws MissingParameterException missing instructionalFormatType
 107  
      * @throws OperationFailedException unable to complete request
 108  
          */
 109  
     public InstructionalFormatTypeInfo getInstructionalFormatType(@WebParam(name="instructionalFormatTypeKey")String instructionalFormatTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 110  
 
 111  
     /** 
 112  
      * Retrieves the list of LU types
 113  
      * @return list of LU type information
 114  
      * @throws OperationFailedException unable to complete request
 115  
          */
 116  
     public List<LuTypeInfo> getLuTypes() throws OperationFailedException;
 117  
 
 118  
     /** 
 119  
      * Retrieves information about a LU Type
 120  
      * @param luTypeKey Key of the LU Type
 121  
      * @return information about a LU Type
 122  
      * @throws DoesNotExistException luType not found
 123  
      * @throws InvalidParameterException invalid luType
 124  
      * @throws MissingParameterException missing luType
 125  
      * @throws OperationFailedException unable to complete request
 126  
          */
 127  
     public LuTypeInfo getLuType(@WebParam(name="luTypeKey")String luTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 128  
 
 129  
     /** 
 130  
      * Retrieves the list of learning unit code types
 131  
      * @return list of lu code type information
 132  
      * @throws OperationFailedException unable to complete request
 133  
          */
 134  
     public List<LuCodeTypeInfo> getLuCodeTypes() throws OperationFailedException;
 135  
 
 136  
     /** 
 137  
      * Retrieves information about a learning unit code type
 138  
      * @param luCodeTypeKey Key of the learning unit code type
 139  
      * @return information about a learning unit code type
 140  
      * @throws DoesNotExistException luCodeTypeKey not found
 141  
      * @throws InvalidParameterException invalid luCodeTypeKey
 142  
      * @throws MissingParameterException missing luCodeTypeKey
 143  
      * @throws OperationFailedException unable to complete request
 144  
          */
 145  
     public LuCodeTypeInfo getLuCodeType(@WebParam(name="luCodeTypeKey")String luCodeTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 146  
 
 147  
     /** 
 148  
      * Retrieves the complete list of LU to LU relation types
 149  
      * @return list of LU to LU relation type information
 150  
      * @throws OperationFailedException unable to complete request
 151  
          */
 152  
     public List<LuLuRelationTypeInfo> getLuLuRelationTypes() throws OperationFailedException;
 153  
 
 154  
     /** 
 155  
      * Retrieves the LU to LU relation type
 156  
      * @param luLuRelationTypeKey Key of the LU to LU Relation Type
 157  
      * @return LU to LU relation type information
 158  
      * @throws OperationFailedException unable to complete request
 159  
      * @throws MissingParameterException missing luLuRelationTypeKey
 160  
      * @throws DoesNotExistException luLuRelationTypeKey not found
 161  
          */
 162  
     public LuLuRelationTypeInfo getLuLuRelationType(@WebParam(name="luLuRelationTypeKey")String luLuRelationTypeKey) throws OperationFailedException, MissingParameterException, DoesNotExistException;
 163  
 
 164  
     /** 
 165  
      * Retrieves the list of allowed relation types between the two specified LU Types
 166  
      * @param luTypeKey Key of the first LU Type
 167  
      * @param relatedLuTypeKey Key of the second LU Type
 168  
      * @return list of LU to LU relation types
 169  
      * @throws DoesNotExistException luTypeKey, relatedLuTypeKey not found
 170  
      * @throws InvalidParameterException invalid luTypeKey, relatedLuTypeKey
 171  
      * @throws MissingParameterException missing luTypeKey, relatedLuTypeKey
 172  
      * @throws OperationFailedException unable to complete request
 173  
          */
 174  
     public List<String> getAllowedLuLuRelationTypesForLuType(@WebParam(name="luTypeKey")String luTypeKey, @WebParam(name="relatedLuTypeKey")String relatedLuTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 175  
 
 176  
     /** 
 177  
      * Retrieves the list of Learning Unit publication types
 178  
      * @return list of Learning Unit publication type information
 179  
      * @throws OperationFailedException unable to complete request
 180  
          */
 181  
     public List<LuPublicationTypeInfo> getLuPublicationTypes() throws OperationFailedException;
 182  
 
 183  
     /** 
 184  
      * Retrieves information about a publication type
 185  
      * @param luPublicationTypeKey Key of the Learning Unit Publication Type
 186  
      * @return information about a Learning Unit Publication Type
 187  
      * @throws DoesNotExistException luPublicationType not found
 188  
      * @throws InvalidParameterException invalid luPublicationType
 189  
      * @throws MissingParameterException missing luPublicationType
 190  
      * @throws OperationFailedException unable to complete request
 191  
          */
 192  
     public LuPublicationTypeInfo getLuPublicationType(@WebParam(name="luPublicationTypeKey")String luPublicationTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 193  
 
 194  
     /** 
 195  
      * Retrieves information about a publication type
 196  
      * @param luTypeKey Key of the LU Type
 197  
      * @return list of LU publication types
 198  
      * @throws DoesNotExistException luPublicationType not found
 199  
      * @throws InvalidParameterException invalid luPublicationType
 200  
      * @throws MissingParameterException missing luPublicationType
 201  
      * @throws OperationFailedException unable to complete request
 202  
          */
 203  
     public List<String> getLuPublicationTypesForLuType(@WebParam(name="luTypeKey")String luTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 204  
         
 205  
     /** 
 206  
      * Retrieves a list of types for clu result objects.
 207  
      * @return list of clu result type information
 208  
      * @throws OperationFailedException unable to complete request
 209  
          */
 210  
     public List<CluResultTypeInfo> getCluResultTypes() throws OperationFailedException;
 211  
 
 212  
     /** 
 213  
      * Retrieves information about a publication type
 214  
      * @param cluResultTypeKey Key of the Canonical Learning Unit Result Type
 215  
      * @return information about a Learning Unit Publication Type
 216  
      * @throws DoesNotExistException luPublicationType not found
 217  
      * @throws InvalidParameterException invalid luPublicationType
 218  
      * @throws MissingParameterException missing luPublicationType
 219  
      * @throws OperationFailedException unable to complete request
 220  
          */
 221  
     public CluResultTypeInfo getCluResultType(@WebParam(name="cluResultTypeKey")String cluResultTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 222  
         
 223  
     /** 
 224  
      * Retrieves the list of clu result types which are allowed to be used in conjunction with a particular lu type.
 225  
      * @param luTypeKey luTypeKey
 226  
      * @return list of clu result types
 227  
      * @throws DoesNotExistException luTypeKey not found
 228  
      * @throws InvalidParameterException invalid luTypeKey
 229  
      * @throws MissingParameterException missing luTypeKey
 230  
      * @throws OperationFailedException unable to complete request
 231  
          */
 232  
     public List<CluResultTypeInfo> getCluResultTypesForLuType(@WebParam(name="luTypeKey")String luTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 233  
 
 234  
     /** 
 235  
      * Retrieves a list of result usage types
 236  
      * @return list of result usage type information
 237  
      * @throws OperationFailedException unable to complete request
 238  
          */
 239  
     public List<ResultUsageTypeInfo> getResultUsageTypes() throws OperationFailedException;
 240  
 
 241  
     /** 
 242  
      * Retrieves information about a Result Usage Type
 243  
      * @param resultUsageTypeKey Key of the Result Usage Type
 244  
      * @return information about a Result Usage Type
 245  
      * @throws DoesNotExistException resultUsageTypeKey not found
 246  
      * @throws InvalidParameterException invalid resultUsageTypeKey
 247  
      * @throws MissingParameterException missing resultUsageTypeKey
 248  
      * @throws OperationFailedException unable to complete request
 249  
          */
 250  
     public ResultUsageTypeInfo getResultUsageType(@WebParam(name="resultUsageTypeKey")String resultUsageTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 251  
 
 252  
     /** 
 253  
      * Retrieves the list of result usage types which are allowed to be used in conjunction with an lu type.
 254  
      * @param luTypeKey luTypeKey
 255  
      * @return list of result usage types
 256  
      * @throws DoesNotExistException luTypeKey not found
 257  
      * @throws InvalidParameterException invalid luTypeKey
 258  
      * @throws MissingParameterException missing luTypeKey
 259  
      * @throws OperationFailedException unable to complete request
 260  
          */
 261  
     public List<String> getAllowedResultUsageTypesForLuType(@WebParam(name="luTypeKey")String luTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 262  
 
 263  
     /** 
 264  
      * Retrieves the list of result component types which are allowed to be used in conjunction with result usage type.
 265  
      * @param resultUsageTypeKey resultUsageTypeKey
 266  
      * @return list of result component types
 267  
      * @throws DoesNotExistException resultUsageTypeKey not found
 268  
      * @throws InvalidParameterException invalid resultUsageTypeKey
 269  
      * @throws MissingParameterException missing resultUsageTypeKey
 270  
      * @throws OperationFailedException unable to complete request
 271  
          */
 272  
     public List<String> getAllowedResultComponentTypesForResultUsageType(@WebParam(name="resultUsageTypeKey")String resultUsageTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 273  
 
 274  
     /** 
 275  
      * Retrieves the complete list of CLU to LO relation types
 276  
      * @return list of CLU to LO relation type information
 277  
      * @throws OperationFailedException unable to complete request
 278  
          */
 279  
     public List<CluLoRelationTypeInfo> getCluLoRelationTypes() throws OperationFailedException;
 280  
 
 281  
     /** 
 282  
      * Retrieves information for a specified CLU to LO relation type
 283  
      * @param cluLoRelationTypeKey Key of the CLU to LO Relation Type
 284  
      * @return CLU to LO relation type information
 285  
      * @throws DoesNotExistException cluLoRelationTypeKey not found
 286  
      * @throws InvalidParameterException invalid cluLoRelationTypeKey
 287  
      * @throws MissingParameterException missing cluLoRelationTypeKey
 288  
      * @throws OperationFailedException unable to complete request
 289  
          */
 290  
     public CluLoRelationTypeInfo getCluLoRelationType(@WebParam(name="cluLoRelationTypeKey")String cluLoRelationTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 291  
 
 292  
     /** 
 293  
      * Retrieves the list of CLU LO relation types which are allowed to be used in conjunction with an lu type.
 294  
      * @param luTypeKey luTypeKey
 295  
      * @return list of clu lo relation types
 296  
      * @throws DoesNotExistException luTypeKey not found
 297  
      * @throws InvalidParameterException invalid luTypeKey
 298  
      * @throws MissingParameterException missing luTypeKey
 299  
      * @throws OperationFailedException unable to complete request
 300  
          */
 301  
     public List<String> getAllowedCluLoRelationTypesForLuType(@WebParam(name="luTypeKey")String luTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 302  
 
 303  
     /** 
 304  
      * Retrieves the list of CLU set types known by the service
 305  
      * @return list of CLU set type information
 306  
      * @throws OperationFailedException unable to complete request
 307  
          */
 308  
     public List<CluSetTypeInfo> getCluSetTypes() throws OperationFailedException;
 309  
 
 310  
     /** 
 311  
      * Retrieves information about a specified CLU set type
 312  
      * @param cluSetTypeKey Key of the CLU set type
 313  
      * @return information about a CLU set type
 314  
      * @throws DoesNotExistException cluSetTypeKey not found
 315  
      * @throws InvalidParameterException invalid cluSetTypeKey
 316  
      * @throws MissingParameterException missing cluSetTypeKey
 317  
      * @throws OperationFailedException unable to complete request
 318  
          */
 319  
     public CluSetTypeInfo getCluSetType(@WebParam(name="cluSetTypeKey")String cluSetTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 320  
 
 321  
     /** 
 322  
      * Retrieves core information about a CLU
 323  
      * @param cluId identifier of the CLU
 324  
      * @return information about a CLU
 325  
      * @throws DoesNotExistException cluId not found
 326  
      * @throws InvalidParameterException invalid cluId
 327  
      * @throws MissingParameterException missing cluId
 328  
      * @throws OperationFailedException unable to complete request
 329  
          */
 330  
     public CluInfo getClu(@WebParam(name="cluId")String cluId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 331  
 
 332  
     /** 
 333  
      * Retrieves information about CLUs from a list of ids
 334  
      * @param cluIdList List of CLU identifiers
 335  
      * @return information a list of CLUs
 336  
      * @throws DoesNotExistException One or more cluIds not found
 337  
      * @throws InvalidParameterException One or more invalid cluIds
 338  
      * @throws MissingParameterException missing cluIdList
 339  
      * @throws OperationFailedException unable to complete request
 340  
          */
 341  
     public List<CluInfo> getClusByIdList(@WebParam(name="cluIdList")List<String> cluIdList) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 342  
 
 343  
     /** 
 344  
      * Retrieves the list of CLUs for the specified LU Type and state
 345  
      * @param luTypeKey Type of the CLUs to retrieve
 346  
      * @param luState State of the CLUs to retrieve.
 347  
      * @return list of CLU information
 348  
      * @throws DoesNotExistException luType or luState not found
 349  
      * @throws InvalidParameterException invalid luType or luState
 350  
      * @throws MissingParameterException missing luType or luState
 351  
      * @throws OperationFailedException unable to complete request
 352  
          */
 353  
     public List<CluInfo> getClusByLuType(@WebParam(name="luTypeKey")String luTypeKey, @WebParam(name="luState")String luState) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 354  
 
 355  
     /** 
 356  
      * Retrieves the list of CLU ids for the specified LU Type and state
 357  
      * @param luTypeKey Type of the CLUs whose identifiers should be retrieved
 358  
      * @param luState State of the CLUs whose identifiers should be retrieved
 359  
      * @return list of CLU identifiers
 360  
      * @throws DoesNotExistException luType or luState not found
 361  
      * @throws InvalidParameterException invalid luType or luState
 362  
      * @throws MissingParameterException missing luType or luState
 363  
      * @throws OperationFailedException unable to complete request
 364  
          */
 365  
     public List<String> getCluIdsByLuType(@WebParam(name="luTypeKey")String luTypeKey, @WebParam(name="luState")String luState) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 366  
 
 367  
     /** 
 368  
      * Retrieves the list of allowed relation types between the two specified CLUs
 369  
      * @param cluId identifier of the first CLU
 370  
      * @param relatedCluId identifier of the second CLU
 371  
      * @return list of LU to LU relation types
 372  
      * @throws DoesNotExistException clu, relatedClu not found
 373  
      * @throws InvalidParameterException invalid cluId, relatedCluId
 374  
      * @throws MissingParameterException missing cluId, relatedCluId
 375  
      * @throws OperationFailedException unable to complete request
 376  
          */
 377  
     public List<String> getAllowedLuLuRelationTypesByCluId(@WebParam(name="cluId")String cluId, @WebParam(name="relatedCluId")String relatedCluId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 378  
 
 379  
     /** 
 380  
      * Retrieves the list of CLU information for the CLUs related to a specified CLU Id with a certain LU to LU relation type (getRelatedClusByCluId from the other direction)
 381  
      * @param relatedCluId identifier of the child or To CLU
 382  
      * @param luLuRelationType the LU to LU relation type
 383  
      * @return list of CLU information
 384  
      * @throws DoesNotExistException relatedCluId, luLuRelationType not found
 385  
      * @throws InvalidParameterException invalid relatedCluId, luLuRelationType
 386  
      * @throws MissingParameterException missing relatedCluId, luLuRelationType
 387  
      * @throws OperationFailedException unable to complete request
 388  
          */
 389  
     public List<CluInfo> getClusByRelation(@WebParam(name="relatedCluId")String relatedCluId, @WebParam(name="luLuRelationType")String luLuRelationType) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 390  
 
 391  
     /** 
 392  
      * Retrieves the list of CLU Ids for the specified related CLU Id and LU to LU relation type (getRelatedCluIdsByCluId from the other direction)
 393  
      * @param relatedCluId identifier of the child or To CLU
 394  
      * @param luLuRelationType the LU to LU relation type
 395  
      * @return list of CLU identifiers
 396  
      * @throws DoesNotExistException relatedClu, luLuRelationType not found
 397  
      * @throws InvalidParameterException invalid relatedCluId, luLuRelationType
 398  
      * @throws MissingParameterException missing relatedCluId, luLuRelationType
 399  
      * @throws OperationFailedException unable to complete request
 400  
          */
 401  
     public List<String> getCluIdsByRelation(@WebParam(name="relatedCluId")String relatedCluId, @WebParam(name="luLuRelationType")String luLuRelationType) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 402  
 
 403  
     /** 
 404  
      * Retrieves the list of related CLU information for the specified CLU Id and LU to LU relation type (getClusByRelation from the other direction)
 405  
      * @param cluId identifier of the parent or From CLU
 406  
      * @param luLuRelationType the LU to LU relation type
 407  
      * @return list of CLU information
 408  
      * @throws DoesNotExistException clu, luLuRelationType not found
 409  
      * @throws InvalidParameterException invalid cluId, luLuRelationType
 410  
      * @throws MissingParameterException missing cluId, luLuRelationType
 411  
      * @throws OperationFailedException unable to complete request
 412  
          */
 413  
     public List<CluInfo> getRelatedClusByCluId(@WebParam(name="cluId")String cluId, @WebParam(name="luLuRelationType")String luLuRelationType) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 414  
 
 415  
     /** 
 416  
      * Retrieves the list of related CLU Ids for the specified CLU Id and LU to LU relation type (getCluIdsByRelation from the other direction)
 417  
      * @param cluId identifier of the parent or From CLU
 418  
      * @param luLuRelationType the LU to LU relation type
 419  
      * @return list of CLU identifiers
 420  
      * @throws DoesNotExistException clu, luLuRelationType not found
 421  
      * @throws InvalidParameterException invalid cluId, luLuRelationType
 422  
      * @throws MissingParameterException missing cluId, luLuRelationType
 423  
      * @throws OperationFailedException unable to complete request
 424  
          */
 425  
     public List<String> getRelatedCluIdsByCluId(@WebParam(name="cluId")String cluId, @WebParam(name="luLuRelationType")String luLuRelationType) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 426  
 
 427  
     /** 
 428  
      * Retrieves the relationship information between CLUs for a particular Relation instance
 429  
      * @param cluCluRelationId identifier of the CLU to CLU relation
 430  
      * @return information on the relation between two CLUs
 431  
      * @throws DoesNotExistException cluCluRelation not found
 432  
      * @throws InvalidParameterException invalid cluCluRelationId
 433  
      * @throws MissingParameterException missing cluCluRelationId
 434  
      * @throws OperationFailedException unable to complete request
 435  
          */
 436  
     public CluCluRelationInfo getCluCluRelation(@WebParam(name="cluCluRelationId")String cluCluRelationId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 437  
 
 438  
     /** 
 439  
      * Retrieves the list of relationship information for the specified CLU
 440  
      * @param cluId identifier of the parent or From CLU
 441  
      * @return list of CLU to CLU relation information
 442  
      * @throws DoesNotExistException clu not found
 443  
      * @throws InvalidParameterException invalid cluId
 444  
      * @throws MissingParameterException missing cluId
 445  
      * @throws OperationFailedException unable to complete request
 446  
          */
 447  
     public List<CluCluRelationInfo> getCluCluRelationsByClu(@WebParam(name="cluId")String cluId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 448  
 
 449  
     /** 
 450  
      * Retrieves a list of publication objects for a particular clu
 451  
      * @param cluId clu identifier
 452  
      * @return list of publication objects used by the specified clu
 453  
      * @throws DoesNotExistException clu not found
 454  
      * @throws InvalidParameterException invalid cluId
 455  
      * @throws MissingParameterException cluId not specified
 456  
      * @throws OperationFailedException unable to complete request
 457  
          */
 458  
     public List<CluPublicationInfo> getCluPublicationsByCluId(@WebParam(name="cluId")String cluId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 459  
 
 460  
     /** 
 461  
      * Retrieves a list of publication objects of a particular Type
 462  
      * @param luPublicationTypeKey luPublicationType identifier
 463  
      * @return list of CLU Publication objects using the specified type
 464  
      * @throws DoesNotExistException luPublicationType not found
 465  
      * @throws InvalidParameterException invalid luPublicationTypeKey
 466  
      * @throws MissingParameterException luPublicationTypeKey not specified
 467  
      * @throws OperationFailedException unable to complete request
 468  
          */
 469  
     public List<CluPublicationInfo> getCluPublicationsByType(@WebParam(name="luPublicationTypeKey")String luPublicationTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 470  
 
 471  
     /** 
 472  
      * Retrieves an LU publication object by its identifier
 473  
      * @param cluPublicationId CLU publication identifier
 474  
      * @return CLU Publication information
 475  
      * @throws DoesNotExistException CLU Publication not found
 476  
      * @throws InvalidParameterException invalid cluPublicationId
 477  
      * @throws MissingParameterException cluPublicationId not specified
 478  
      * @throws OperationFailedException unable to complete request
 479  
          */
 480  
     public CluPublicationInfo getCluPublication(@WebParam(name="cluPublicationId")String cluPublicationId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 481  
 
 482  
     /** 
 483  
      * Retrieves information about a Clu Result
 484  
      * @param cluResultId identifier of the Clu Result
 485  
      * @return information about a Clu Result
 486  
      * @throws DoesNotExistException cluResult not found
 487  
      * @throws InvalidParameterException invalid cluResultId
 488  
      * @throws MissingParameterException missing cluResultId
 489  
      * @throws OperationFailedException unable to complete request
 490  
          */
 491  
     public CluResultInfo getCluResult(@WebParam(name="cluResultId")String cluResultId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 492  
 
 493  
     /** 
 494  
      * Retrieves the cluResult for a particular clu
 495  
      * @param cluId clu identifier
 496  
      * @return result information for a clu
 497  
      * @throws DoesNotExistException clu not found
 498  
      * @throws InvalidParameterException invalid cluId
 499  
      * @throws MissingParameterException cluId not specified
 500  
      * @throws OperationFailedException unable to complete request
 501  
          */
 502  
     public List<CluResultInfo> getCluResultByClu(@WebParam(name="cluId")String cluId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 503  
 
 504  
     /** 
 505  
      * Retrieves the list of clu ids with the results of the specified usage type. This would for example allow requests for all clus which have a final grade.
 506  
      * @param resultUsageTypeKey identifier of the result usage type
 507  
      * @return list of clu ids
 508  
      * @throws DoesNotExistException resultUsageType not found
 509  
      * @throws InvalidParameterException invalid resultUsageTypeKey
 510  
      * @throws MissingParameterException missing resultUsageTypeKey
 511  
      * @throws OperationFailedException unable to complete request
 512  
          */
 513  
     public List<String> getCluIdsByResultUsageType(@WebParam(name="resultUsageTypeKey")String resultUsageTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 514  
 
 515  
     /** 
 516  
      * Retrieves the list of clu ids which use a particular result component
 517  
      * @param resultComponentId identifier of the result component
 518  
      * @return list of clu ids
 519  
      * @throws DoesNotExistException resultComponent not found
 520  
      * @throws InvalidParameterException invalid resultComponentId
 521  
      * @throws MissingParameterException missing resultComponentId
 522  
      * @throws OperationFailedException unable to complete request
 523  
          */
 524  
     public List<String> getCluIdsByResultComponent(@WebParam(name="resultComponentId")String resultComponentId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 525  
 
 526  
     /** 
 527  
      * Retrieve information on a CLU LO Relation.
 528  
      * @param cluLoRelationId Identifier of the CLU LO Relation
 529  
      * @return The retrieved CLU LO Relation information
 530  
      * @throws DoesNotExistException cluLoRelation not found
 531  
      * @throws InvalidParameterException invalid cluLoRelationId
 532  
      * @throws MissingParameterException missing cluLoRelationId
 533  
      * @throws OperationFailedException unable to complete request
 534  
      * @throws PermissionDeniedException authorization failure
 535  
          */
 536  
     public CluLoRelationInfo getCluLoRelation(@WebParam(name="cluLoRelationId")String cluLoRelationId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 537  
 
 538  
     /** 
 539  
      * Retrieves the list of canonical learning unit to learning objective relationships for a given CLU.
 540  
      * @param cluId Identifier for the CLU
 541  
      * @return List of canonical learning unit to learning objective relationships
 542  
      * @throws DoesNotExistException clu not found
 543  
      * @throws InvalidParameterException invalid cluId
 544  
      * @throws MissingParameterException missing cluId
 545  
      * @throws OperationFailedException unable to complete request
 546  
          */
 547  
     public List<CluLoRelationInfo> getCluLoRelationsByClu(@WebParam(name="cluId")String cluId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 548  
 
 549  
     /** 
 550  
      * Retrieves the list of CLU identifiers associated with a given learning objective identifier.
 551  
      * @param loId Identifier for the learning objective
 552  
      * @return List of CLU LO Relations
 553  
      * @throws DoesNotExistException lo not found
 554  
      * @throws InvalidParameterException invalid loId
 555  
      * @throws MissingParameterException missing loId
 556  
      * @throws OperationFailedException unable to complete request
 557  
          */
 558  
     public List<CluLoRelationInfo> getCluLoRelationsByLo(@WebParam(name="loId")String loId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 559  
 
 560  
     /** 
 561  
      * Retrieves the list of Resource requirements for the specified CLU
 562  
      * @param cluId Unique identifier for the CLU
 563  
      * @return List of resource requirements
 564  
      * @throws DoesNotExistException clu not found
 565  
      * @throws InvalidParameterException cluId invalid
 566  
      * @throws MissingParameterException cluId missing
 567  
      * @throws OperationFailedException unable to complete request
 568  
          */
 569  
     public List<String> getResourceRequirementsForCluId(@WebParam(name="cluId")String cluId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 570  
 
 571  
     /** 
 572  
      * Retrieve information on a CLU set. This information should be about the set itself, and in the case of a dynamic CLU set, should include the criteria used to generate the set.
 573  
      * @param cluSetId Identifier of the CLU set
 574  
      * @return The retrieved CLU set information
 575  
      * @throws DoesNotExistException cluSet not found
 576  
      * @throws InvalidParameterException invalid cluSetId
 577  
      * @throws MissingParameterException missing cluSetId
 578  
      * @throws OperationFailedException unable to complete request
 579  
      * @throws PermissionDeniedException authorization failure
 580  
          */
 581  
     public CluSetInfo getCluSetInfo(@WebParam(name="cluSetId")String cluSetId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 582  
 
 583  
 
 584  
     /** 
 585  
      * Retrieve information on a CLU set and its sub clu set fully expanded.
 586  
      * @param cluSetId Identifier of the CLU set
 587  
      * @return The retrieved CLU set tree view information
 588  
      * @throws DoesNotExistException cluSet not found
 589  
      * @throws InvalidParameterException invalid cluSetId
 590  
      * @throws MissingParameterException missing cluSetId
 591  
      * @throws OperationFailedException unable to complete request
 592  
      * @throws PermissionDeniedException authorization failure
 593  
          */
 594  
     public CluSetTreeViewInfo getCluSetTreeView(@WebParam(name="cluSetId")String cluSetId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 595  
 
 596  
     
 597  
     /** 
 598  
      * Retrieve information on CLU sets from a list of cluSet Ids.
 599  
      * @param cluSetIdList List of identifiers of CLU sets
 600  
      * @return The retrieved list of CLU set information
 601  
      * @throws DoesNotExistException One or more cluSets not found
 602  
      * @throws InvalidParameterException One or more cluSetIds invalid
 603  
      * @throws MissingParameterException missing cluSetIdList
 604  
      * @throws OperationFailedException unable to complete request
 605  
      * @throws PermissionDeniedException authorization failure
 606  
          */
 607  
     public List<CluSetInfo> getCluSetInfoByIdList(@WebParam(name="cluSetIdList")List<String> cluSetIdList) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 608  
     
 609  
     /** 
 610  
      * Retrieve the list of CLU Set Ids within a CLU Set
 611  
      * @param cluSetId Identifier of the CLU set
 612  
      * @return The retrieved list of CLU Set Ids within the specified CLU set
 613  
      * @throws DoesNotExistException cluSet not found
 614  
      * @throws InvalidParameterException invalid cluSetId
 615  
      * @throws MissingParameterException missing cluSetId
 616  
      * @throws OperationFailedException unable to complete request
 617  
      * @throws PermissionDeniedException authorization failure
 618  
          */
 619  
     public List<String> getCluSetIdsFromCluSet(@WebParam(name="cluSetId")String cluSetId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 620  
 
 621  
     /** 
 622  
      * Check if the given CluSet is dynamic
 623  
      * @param cluSetId Identifier of the CLU set
 624  
      * @return The retrieved list of CLU Set Ids within the specified CLU set
 625  
      * @throws DoesNotExistException cluSet not found
 626  
      * @throws InvalidParameterException invalid cluSetId
 627  
      * @throws MissingParameterException missing cluSetId
 628  
      * @throws OperationFailedException unable to complete request
 629  
      * @throws PermissionDeniedException authorization failure
 630  
          */
 631  
     public Boolean isCluSetDynamic(@WebParam(name="cluSetId")String cluSetId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 632  
     
 633  
     
 634  
     /** 
 635  
      * Retrieves the list of CLUs in a CLU set. This only retrieves the direct members.
 636  
      * @param cluSetId Identifier of the CLU set
 637  
      * @return The retrieved list of information on the CLUs within the CLU set (flattened and de-duped)
 638  
      * @throws DoesNotExistException cluSet not found
 639  
      * @throws InvalidParameterException invalid cluSetId
 640  
      * @throws MissingParameterException missing cluSetId
 641  
      * @throws OperationFailedException unable to complete request
 642  
      * @throws PermissionDeniedException authorization failure
 643  
          */
 644  
     public List<CluInfo> getClusFromCluSet(@WebParam(name="cluSetId")String cluSetId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 645  
 
 646  
     /** 
 647  
      * Retrieves the list of CLU Identifiers within a CLU Set. This only retrieves the direct members.
 648  
      * @param cluSetId Identifier of the CLU set
 649  
      * @return The retrieved list of CLU Ids within the specified CLU set (flattened and de-duped)
 650  
      * @throws DoesNotExistException cluSet not found
 651  
      * @throws InvalidParameterException invalid cluSetId
 652  
      * @throws MissingParameterException missing cluSetId
 653  
      * @throws OperationFailedException unable to complete request
 654  
      * @throws PermissionDeniedException authorization failure
 655  
          */
 656  
     public List<String> getCluIdsFromCluSet(@WebParam(name="cluSetId")String cluSetId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 657  
 
 658  
     /** 
 659  
      * Retrieves the full list of CLUs in this CLU set or any cluset that is included within that.
 660  
      * @param cluSetId Identifier of the CLU set
 661  
      * @return The retrieved list of information on the CLUs
 662  
      * @throws DoesNotExistException cluSet not found
 663  
      * @throws InvalidParameterException invalid cluSetId
 664  
      * @throws MissingParameterException missing cluSetId
 665  
      * @throws OperationFailedException unable to complete request
 666  
      * @throws PermissionDeniedException authorization failure
 667  
          */
 668  
     public List<CluInfo> getAllClusInCluSet(@WebParam(name="cluSetId")String cluSetId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 669  
 
 670  
     /** 
 671  
      * Retrieves the list of CLU Identifiers within a CLU Set or any cluset that is included within that.
 672  
      * @param cluSetId Identifier of the CLU set
 673  
      * @return The retrieved list of CLU Ids within the specified CLU set
 674  
      * @throws DoesNotExistException cluSet not found
 675  
      * @throws InvalidParameterException invalid cluSetId
 676  
      * @throws MissingParameterException missing cluSetId
 677  
      * @throws OperationFailedException unable to complete request
 678  
      * @throws PermissionDeniedException authorization failure
 679  
          */
 680  
     public List<String> getAllCluIdsInCluSet(@WebParam(name="cluSetId")String cluSetId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 681  
 
 682  
     /** 
 683  
      * Checks if a CLU is a member of a CLU set or any contained CLU set
 684  
      * @param cluId Identifier of the CLU to check
 685  
      * @param cluSetId Identifier of the CLU set
 686  
      * @return True if the CLU is a member of the CLU Set
 687  
      * @throws DoesNotExistException clu, cluSet not found
 688  
      * @throws InvalidParameterException invalid cluId, cluSetId
 689  
      * @throws MissingParameterException missing cluId, cluSetId
 690  
      * @throws OperationFailedException unable to complete request
 691  
      * @throws PermissionDeniedException authorization failure
 692  
          */
 693  
     public Boolean isCluInCluSet(@WebParam(name="cluId")String cluId, @WebParam(name="cluSetId")String cluSetId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 694  
 
 695  
     /** 
 696  
      * Retrieves information about a LUI
 697  
      * @param luiId identifier of the LUI
 698  
      * @return information about a LUI
 699  
      * @throws DoesNotExistException lui not found
 700  
      * @throws InvalidParameterException invalid luiId
 701  
      * @throws MissingParameterException missing luiId
 702  
      * @throws OperationFailedException unable to complete request
 703  
          */
 704  
     public LuiInfo getLui(@WebParam(name="luiId")String luiId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 705  
 
 706  
     /** 
 707  
      * Retrieves information about LUIs from a list of Ids
 708  
      * @param luiIdList List of LUI identifiers
 709  
      * @return information about a list of LUIs
 710  
      * @throws DoesNotExistException One or more luis not found
 711  
      * @throws InvalidParameterException One or more invalid luiIds
 712  
      * @throws MissingParameterException missing luiIdList
 713  
      * @throws OperationFailedException unable to complete request
 714  
          */
 715  
     public List<LuiInfo> getLuisByIdList(@WebParam(name="luiIdList")List<String> luiIdList) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 716  
 
 717  
     /** 
 718  
      * Retrieves the list of LUIs for the specified CLU and period
 719  
      * @param cluId identifier of the CLU
 720  
      * @param atpKey identifier for the academic time period
 721  
      * @return list of LUI information
 722  
      * @throws DoesNotExistException clu, atp not found
 723  
      * @throws InvalidParameterException invalid cluId, atpKey
 724  
      * @throws MissingParameterException missing cluId, atpKey
 725  
      * @throws OperationFailedException unable to complete request
 726  
          */
 727  
     public List<LuiInfo> getLuisInAtpByCluId(@WebParam(name="cluId")String cluId, @WebParam(name="atpKey")String atpKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 728  
 
 729  
     /** 
 730  
      * Retrieves the list of LUI ids for the specified CLU
 731  
      * @param cluId identifier of the CLU
 732  
      * @return list of LUI identifiers
 733  
      * @throws DoesNotExistException clu not found
 734  
      * @throws InvalidParameterException invalid cluId
 735  
      * @throws MissingParameterException missing cluId
 736  
      * @throws OperationFailedException unable to complete request
 737  
          */
 738  
     public List<String> getLuiIdsByCluId(@WebParam(name="cluId")String cluId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 739  
 
 740  
     /** 
 741  
      * Retrieves the list of LUI ids for the specified CLU and Time period
 742  
      * @param cluId identifier of the CLU
 743  
      * @param atpKey identifier for the academic time period
 744  
      * @return list of LUI identifiers
 745  
      * @throws DoesNotExistException clu, atp not found
 746  
      * @throws InvalidParameterException invalid cluId, atpKey
 747  
      * @throws MissingParameterException missing cluId, atpKey
 748  
      * @throws OperationFailedException unable to complete request
 749  
          */
 750  
     public List<String> getLuiIdsInAtpByCluId(@WebParam(name="cluId")String cluId, @WebParam(name="atpKey")String atpKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 751  
 
 752  
     /** 
 753  
      * Retrieves the list of allowed relation types between the two specified LUIs
 754  
      * @param luiId identifier of the first LUI
 755  
      * @param relatedLuiId identifier of the second LUI
 756  
      * @return list of LU to LU relation types
 757  
      * @throws DoesNotExistException lui, relatedLui not found
 758  
      * @throws InvalidParameterException invalid luiId, relatedLuiId
 759  
      * @throws MissingParameterException missing luiId, relatedLuiId
 760  
      * @throws OperationFailedException unable to complete request
 761  
          */
 762  
     public List<String> getAllowedLuLuRelationTypesByLuiId(@WebParam(name="luiId")String luiId, @WebParam(name="relatedLuiId")String relatedLuiId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 763  
 
 764  
     /** 
 765  
      * Retrieves the list of LUI information for the LUIs related to the specified LUI Id with a certain LU to LU relation type (getRelatedLuisByLuiId from the other direction)
 766  
      * @param relatedLuiId identifier of the LUI
 767  
      * @param luLuRelationType the LU to LU relation type
 768  
      * @return list of LUI information
 769  
      * @throws DoesNotExistException relatedLui, luLuRelationType not found
 770  
      * @throws InvalidParameterException invalid relatedLuiId, luLuRelationType
 771  
      * @throws MissingParameterException missing relatedLuiId, luLuRelationType
 772  
      * @throws OperationFailedException unable to complete request
 773  
          */
 774  
     public List<LuiInfo> getLuisByRelation(@WebParam(name="relatedLuiId")String relatedLuiId, @WebParam(name="luLuRelationType")String luLuRelationType) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 775  
 
 776  
     /** 
 777  
      * Retrieves the list of LUI Ids for the specified related LUI Id and LU to LU relation type (getRelatedLuiIdsByLuiId from the other direction)
 778  
      * @param relatedLuiId identifier of the LUI
 779  
      * @param luLuRelationType the LU to LU relation type
 780  
      * @return list of LUI identifiers
 781  
      * @throws DoesNotExistException relatedLui, luLuRelationType not found
 782  
      * @throws InvalidParameterException invalid relatedLuiId, luLuRelationType
 783  
      * @throws MissingParameterException missing relatedLuiId, luLuRelationType
 784  
      * @throws OperationFailedException unable to complete request
 785  
          */
 786  
     public List<String> getLuiIdsByRelation(@WebParam(name="relatedLuiId")String relatedLuiId, @WebParam(name="luLuRelationType")String luLuRelationType) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 787  
 
 788  
     /** 
 789  
      * Retrieves the list of related LUI information for the specified LUI Id and LU to LU relation type (getLuisByRelation from the other direction)
 790  
      * @param luiId identifier of the LUI
 791  
      * @param luLuRelationType the LU to LU relation type
 792  
      * @return list of LUI information
 793  
      * @throws DoesNotExistException lui, luLuRelationType not found
 794  
      * @throws InvalidParameterException invalid luiId, luLuRelationType
 795  
      * @throws MissingParameterException missing luiId, luLuRelationType
 796  
      * @throws OperationFailedException unable to complete request
 797  
          */
 798  
     public List<LuiInfo> getRelatedLuisByLuiId(@WebParam(name="luiId")String luiId, @WebParam(name="luLuRelationType")String luLuRelationType) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 799  
 
 800  
     /** 
 801  
      * Retrieves the list of related LUI Ids for the specified LUI Id and LU to LU relation type. (getLuiIdsByRelation from the other direction)
 802  
      * @param luiId identifier of the LUI
 803  
      * @param luLuRelationType the LU to LU relation type
 804  
      * @return list of LUI identifiers
 805  
      * @throws DoesNotExistException luiId, luLuRelationType not found
 806  
      * @throws InvalidParameterException invalid luiId, luLuRelationType
 807  
      * @throws MissingParameterException missing luiId, luLuRelationType
 808  
      * @throws OperationFailedException unable to complete request
 809  
          */
 810  
     public List<String> getRelatedLuiIdsByLuiId(@WebParam(name="luiId")String luiId, @WebParam(name="luLuRelationType")String luLuRelationType) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 811  
 
 812  
     /** 
 813  
      * Retrieves the relationship information between LUIs given a specific relation instance
 814  
      * @param luiLuiRelationId identifier of LUI to LUI relation
 815  
      * @return information on the relation between two LUIs
 816  
      * @throws DoesNotExistException luiLuiRelation not found
 817  
      * @throws InvalidParameterException invalid luiLuiRelationId
 818  
      * @throws MissingParameterException missing luiLuiRelationId
 819  
      * @throws OperationFailedException unable to complete request
 820  
          */
 821  
     public LuiLuiRelationInfo getLuiLuiRelation(@WebParam(name="luiLuiRelationId")String luiLuiRelationId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 822  
 
 823  
     /** 
 824  
      * Retrieves the list of relationship information for the specified LUI
 825  
      * @param luiId identifier of the LUI
 826  
      * @return list of LUI to LUI relation information
 827  
      * @throws DoesNotExistException lui not found
 828  
      * @throws InvalidParameterException invalid luiId
 829  
      * @throws MissingParameterException missing luiId
 830  
      * @throws OperationFailedException unable to complete request
 831  
          */
 832  
     public List<LuiLuiRelationInfo> getLuiLuiRelationsByLui(@WebParam(name="luiId")String luiId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 833  
 
 834  
     /** 
 835  
      * Validates a CLU. Depending on the value of validationType, this validation could be limited to tests on just the current object and its directly contained sub-objects or expanded to perform all tests related to this object. If an identifier is present for the CLU (and/or one of its contained sub-objects) and a record is found for that identifier, the validation checks if the CLU can be shifted to the new values. If an identifier is not present or a record cannot be found for the identifier, it is assumed that the record does not exist and as such, the checks performed will be much shallower, typically mimicking those performed by setting the validationType to the current object.
 836  
      * @param validationType identifier of the extent of validation
 837  
      * @param cluInfo CLU information to be tested.
 838  
      * @return results from performing the validation
 839  
      * @throws DoesNotExistException validationTypeKey not found
 840  
      * @throws InvalidParameterException invalid validationTypeKey, cluInfo
 841  
      * @throws MissingParameterException missing validationTypeKey, cluInfo
 842  
      * @throws OperationFailedException unable to complete request
 843  
          */
 844  
     public List<ValidationResultInfo> validateClu(@WebParam(name="validationType")String validationType, @WebParam(name="cluInfo")CluInfo cluInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 845  
 
 846  
     /** 
 847  
      * Creates a new CLU
 848  
      * @param luTypeKey identifier of the LU Type for the CLU being created
 849  
      * @param cluInfo information about the CLU being created
 850  
      * @return the created CLU information
 851  
      * @throws AlreadyExistsException CLU already exists
 852  
      * @throws DataValidationErrorException One or more values invalid for this operation
 853  
      * @throws DoesNotExistException luTypeKey not found
 854  
      * @throws InvalidParameterException invalid luTypeKey, cluInfo
 855  
      * @throws MissingParameterException missing luTypeKey, cluInfo
 856  
      * @throws OperationFailedException unable to complete request
 857  
      * @throws PermissionDeniedException authorization failure
 858  
          */
 859  
     public CluInfo createClu(@WebParam(name="luTypeKey")String luTypeKey, @WebParam(name="cluInfo")CluInfo cluInfo) throws AlreadyExistsException, DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 860  
 
 861  
     /** 
 862  
      * Updates an existing CLU
 863  
      * @param cluId identifier for the CLU to be updated
 864  
      * @param cluInfo updated information about the CLU
 865  
      * @return the updated CLU information
 866  
      * @throws DataValidationErrorException One or more values invalid for this operation
 867  
      * @throws DoesNotExistException cluId not found
 868  
      * @throws InvalidParameterException invalid cluId, cluInfo
 869  
      * @throws MissingParameterException missing cluId, cluInfo
 870  
      * @throws OperationFailedException unable to complete request
 871  
      * @throws PermissionDeniedException authorization failure
 872  
      * @throws VersionMismatchException The action was attempted on an out of date version
 873  
          */
 874  
     public CluInfo updateClu(@WebParam(name="cluId")String cluId, @WebParam(name="cluInfo")CluInfo cluInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException;
 875  
 
 876  
     /** 
 877  
      * Deletes an existing CLU
 878  
      * @param cluId identifier for the CLU to be deleted
 879  
      * @return status of the operation
 880  
      * @throws DoesNotExistException cluId not found
 881  
      * @throws InvalidParameterException invalid cluId
 882  
      * @throws MissingParameterException missing cluId
 883  
      * @throws DependentObjectsExistException delete would leave orphaned objects or violate integrity constraints
 884  
      * @throws OperationFailedException unable to complete request
 885  
      * @throws PermissionDeniedException authorization failure
 886  
          */
 887  
     public StatusInfo deleteClu(@WebParam(name="cluId")String cluId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, DependentObjectsExistException, OperationFailedException, PermissionDeniedException;
 888  
 
 889  
 
 890  
     /** 
 891  
      * Creates a new CLU version based on the current clu
 892  
      * @param cluId identifier for the CLU to be versioned
 893  
      * @param versionComment comment for the current version
 894  
      * @return the new versioned CLU information
 895  
      * @throws DataValidationErrorException One or more values invalid for this operation
 896  
      * @throws DoesNotExistException cluId not found
 897  
      * @throws InvalidParameterException invalid cluId
 898  
      * @throws MissingParameterException missing cluId
 899  
      * @throws OperationFailedException unable to complete request
 900  
      * @throws PermissionDeniedException authorization failure
 901  
      * @throws VersionMismatchException The action was attempted on an out of date version
 902  
      */
 903  
     public CluInfo createNewCluVersion(@WebParam(name="cluId")String cluId, @WebParam(name="versionComment")String versionComment) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException;
 904  
 
 905  
     
 906  
     /** 
 907  
      * Sets a specific version of the Clu as current. The sequence number must be greater than the existing current Clu version.
 908  
      * This will truncate the current version's end date to the currentVersionStart param.
 909  
      * If a Clu exists which is set to become current in the future, that clu's currentVersionStart and CurrentVersionEnd will be nullified.
 910  
      * The currentVersionStart must be in the future to prevent changing historic data. 
 911  
      * @param cluVersionId Version Specific Id of the Clu
 912  
      * @param currentVersionStart Date when this clu becomes current. Must be in the future and be after the most current clu's start date. 
 913  
      * @return status of the operation
 914  
      * @throws DoesNotExistException cluVersionId not found
 915  
      * @throws InvalidParameterException invalid cluVersionId, previousState, newState
 916  
      * @throws MissingParameterException missing cluVersionId, previousState, newState
 917  
      * @throws IllegalVersionSequencingException a Clu with higher sequence number from the one provided is marked current
 918  
      * @throws OperationFailedException unable to complete request
 919  
      * @throws PermissionDeniedException authorization failure
 920  
      */
 921  
     public StatusInfo setCurrentCluVersion(@WebParam(name="cluVersionId")String cluVersionId, @WebParam(name="currentVersionStart")Date currentVersionStart) throws DoesNotExistException, InvalidParameterException, MissingParameterException, IllegalVersionSequencingException, OperationFailedException, PermissionDeniedException;
 922  
 
 923  
     /** 
 924  
      * Updates the state of the specified CLU
 925  
      * @param cluId identifier for the CLU to be updated
 926  
      * @param luState new state for the CLU. Value is expected to be constrained to those in the luState enumeration.
 927  
      * @return the updated CLU information
 928  
      * @throws DataValidationErrorException new state not valid for existing state of CLU
 929  
      * @throws DoesNotExistException cluId, luState not found
 930  
      * @throws InvalidParameterException invalid cluId, luState
 931  
      * @throws MissingParameterException missing cluId, luState
 932  
      * @throws OperationFailedException unable to complete request
 933  
      * @throws PermissionDeniedException authorization failure
 934  
          */
 935  
     public CluInfo updateCluState(@WebParam(name="cluId")String cluId, @WebParam(name="luState")String luState) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 936  
 
 937  
     /** 
 938  
      * Validates a cluCluRelation. Depending on the value of validationType, this validation could be limited to tests on just the current object and its directly contained sub-objects or expanded to perform all tests related to this object. If an identifier is present for the cluCluRelation (and/or one of its contained sub-objects) and a record is found for that identifier, the validation checks if the relationship can be shifted to the new values. If an identifier is not present or a record cannot be found for the identifier, it is assumed that the record does not exist and as such, the checks performed will be much shallower, typically mimicking those performed by setting the validationType to the current object.
 939  
      * @param validationType identifier of the extent of validation
 940  
      * @param cluCluRelationInfo cluCluRelation information to be tested.
 941  
      * @return results from performing the validation
 942  
      * @throws DoesNotExistException validationTypeKey not found
 943  
      * @throws InvalidParameterException invalid validationTypeKey, cluCluRelationInfo
 944  
      * @throws MissingParameterException missing validationTypeKey, cluCluRelationInfo
 945  
      * @throws OperationFailedException unable to complete request
 946  
          */
 947  
     public List<ValidationResultInfo> validateCluCluRelation(@WebParam(name="validationType")String validationType, @WebParam(name="cluCluRelationInfo")CluCluRelationInfo cluCluRelationInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 948  
 
 949  
     /** 
 950  
      * Create a directional relationship between two CLUs
 951  
      * @param cluId identifier of the first CLU in the relationship - The From or Parent of the relation
 952  
      * @param relatedCluId identifier of the second CLU in the relationship to be related to - the To or Child of the Relation
 953  
      * @param luLuRelationTypeKey the LU to LU relationship type of the relationship
 954  
      * @param cluCluRelationInfo information about the relationship between the two CLUs
 955  
      * @return the created CLU to CLU relation information
 956  
      * @throws AlreadyExistsException relationship already exists
 957  
      * @throws CircularRelationshipException cluId equals relatedCluId
 958  
      * @throws DataValidationErrorException One or more values invalid for this operation
 959  
      * @throws DoesNotExistException cluId, relatedCluId, luLuRelationType not found
 960  
      * @throws InvalidParameterException invalid cluId, relatedCluId, luluRelationType, cluCluRelationInfo
 961  
      * @throws MissingParameterException missing cluId, relatedCluId, luluRelationType, cluCluRelationInfo
 962  
      * @throws OperationFailedException unable to complete request
 963  
      * @throws PermissionDeniedException authorization failure
 964  
          */
 965  
     public CluCluRelationInfo createCluCluRelation(@WebParam(name="cluId")String cluId, @WebParam(name="relatedCluId")String relatedCluId, @WebParam(name="luLuRelationTypeKey")String luLuRelationTypeKey, @WebParam(name="cluCluRelationInfo")CluCluRelationInfo cluCluRelationInfo) throws AlreadyExistsException, CircularRelationshipException, DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 966  
 
 967  
     /** 
 968  
      * Updates a relationship between two CLUs
 969  
      * @param cluCluRelationId identifier of the CLU to CLU relation to be updated
 970  
      * @param cluCluRelationInfo changed information about the CLU to CLU relationship
 971  
      * @return the updated CLU to CLU relation information
 972  
      * @throws DataValidationErrorException One or more values invalid for this operation
 973  
      * @throws DoesNotExistException cluCluRelation not found
 974  
      * @throws InvalidParameterException invalid cluCluRelationId, cluCluRelationInfo
 975  
      * @throws MissingParameterException missing cluCluRelationId, cluCluRelationInfo
 976  
      * @throws OperationFailedException unable to complete request
 977  
      * @throws PermissionDeniedException authorization failure
 978  
      * @throws VersionMismatchException The action was attempted on an out of date version.
 979  
          */
 980  
     public CluCluRelationInfo updateCluCluRelation(@WebParam(name="cluCluRelationId")String cluCluRelationId, @WebParam(name="cluCluRelationInfo")CluCluRelationInfo cluCluRelationInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException;
 981  
 
 982  
     /** 
 983  
      * Deletes a relationship between two CLUs
 984  
      * @param cluCluRelationId identifier of CLU to CLU relationship to delete
 985  
      * @return status of the operation (success or failure)
 986  
      * @throws DoesNotExistException cluCluRelation not found
 987  
      * @throws InvalidParameterException invalid cluCluRelationId
 988  
      * @throws MissingParameterException missing cluCluRelationId
 989  
      * @throws OperationFailedException unable to complete request
 990  
      * @throws PermissionDeniedException authorization failure
 991  
          */
 992  
     public StatusInfo deleteCluCluRelation(@WebParam(name="cluCluRelationId")String cluCluRelationId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 993  
 
 994  
     /** 
 995  
      * Validates information about publication for a clu. Depending on the value of validationType, this validation could be limited to tests on just the current object and its directly contained sub-objects or expanded to perform all tests related to this object. If an identifier is present for the clu publication object (and/or one of its contained sub-objects) and a record is found for that identifier, the validation checks if the clu publication object can be shifted to the new values. If an identifier is not present or a record cannot be found for the identifier, it is assumed that the record does not exist and as such, the checks performed will be much shallower, typically mimicking those performed by setting the validationType to the current object.
 996  
      * @param validationType identifier of the extent of validation
 997  
      * @param cluPublicationInfo CLU publication information to be tested.
 998  
      * @return results from performing the validation
 999  
      * @throws DoesNotExistException validationTypeKey not found
 1000  
      * @throws InvalidParameterException invalid validationTypeKey, cluPublicationInfo
 1001  
      * @throws MissingParameterException missing validationTypeKey, cluPublicationInfo
 1002  
      * @throws OperationFailedException unable to complete request
 1003  
          */
 1004  
     public List<ValidationResultInfo> validateCluPublication(@WebParam(name="validationType")String validationType, @WebParam(name="cluPublicationInfo")CluPublicationInfo cluPublicationInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 1005  
 
 1006  
     /** 
 1007  
      * Create a clu publication object, which contains information about publication for a clu.
 1008  
      * @param cluId identifier of a clu
 1009  
      * @param luPublicationType type of lu publication
 1010  
      * @param cluPublicationInfo information about publication for a clu
 1011  
      * @return information about the created clu publication object
 1012  
      * @throws AlreadyExistsException clu publication object already exists
 1013  
      * @throws DataValidationErrorException One or more values invalid for this operation
 1014  
      * @throws InvalidParameterException invalid cluId, luPublicationType, cluPublicationInfo
 1015  
      * @throws MissingParameterException missing cluId, luPublicationType, cluPublicationInfo
 1016  
      * @throws OperationFailedException unable to complete request
 1017  
      * @throws PermissionDeniedException authorization failure
 1018  
          */
 1019  
     public CluPublicationInfo createCluPublication(@WebParam(name="cluId")String cluId, @WebParam(name="luPublicationType")String luPublicationType, @WebParam(name="cluPublicationInfo")CluPublicationInfo cluPublicationInfo) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1020  
 
 1021  
     /** 
 1022  
      * Updates an existing clu publication object
 1023  
      * @param cluPublicationId identifier for the clu publication object to be updated
 1024  
      * @param cluPublicationInfo updated information about the clu publication object
 1025  
      * @return the updated clu publication information
 1026  
      * @throws DataValidationErrorException One or more values invalid for this operation
 1027  
      * @throws DoesNotExistException cluPublication not found
 1028  
      * @throws InvalidParameterException invalid cluPublicationId, cluPublicationInfo
 1029  
      * @throws MissingParameterException missing cluPublicationId, cluPublicationInfo
 1030  
      * @throws OperationFailedException unable to complete request
 1031  
      * @throws PermissionDeniedException authorization failure
 1032  
      * @throws VersionMismatchException The action was attempted on an out of date version.
 1033  
          */
 1034  
     public CluPublicationInfo updateCluPublication(@WebParam(name="cluPublicationId")String cluPublicationId, @WebParam(name="cluPublicationInfo")CluPublicationInfo cluPublicationInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException;
 1035  
 
 1036  
     /** 
 1037  
      * Deletes an existing clu publication object
 1038  
      * @param cluPublicationId identifier for the clu publication object to be deleted
 1039  
      * @return status of the operation
 1040  
      * @throws DoesNotExistException cluPublication not found
 1041  
      * @throws InvalidParameterException invalid cluPublicationId
 1042  
      * @throws MissingParameterException missing cluPublicationId
 1043  
      * @throws DependentObjectsExistException delete would leave orphaned objects or violate integrity constraints
 1044  
      * @throws OperationFailedException unable to complete request
 1045  
      * @throws PermissionDeniedException authorization failure
 1046  
          */
 1047  
     public StatusInfo deleteCluPublication(@WebParam(name="cluPublicationId")String cluPublicationId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, DependentObjectsExistException, OperationFailedException, PermissionDeniedException;
 1048  
 
 1049  
     /** 
 1050  
      * Validates information about results for a clu. Depending on the value of validationType, this validation could be limited to tests on just the current object and its directly contained sub-objects or expanded to perform all tests related to this object. If an identifier is present for the clu result object (and/or one of its contained sub-objects) and a record is found for that identifier, the validation checks if the clu result object can be shifted to the new values. If an identifier is not present or a record cannot be found for the identifier, it is assumed that the record does not exist and as such, the checks performed will be much shallower, typically mimicking those performed by setting the validationType to the current object.
 1051  
      * @param validationType identifier of the extent of validation
 1052  
      * @param cluResultInfo CLU result information to be tested.
 1053  
      * @return results from performing the validation
 1054  
      * @throws DoesNotExistException validationTypeKey not found
 1055  
      * @throws InvalidParameterException invalid validationTypeKey, cluResultInfo
 1056  
      * @throws MissingParameterException missing validationTypeKey, cluResultInfo
 1057  
      * @throws OperationFailedException unable to complete request
 1058  
          */
 1059  
     public List<ValidationResultInfo> validateCluResult(@WebParam(name="validationType")String validationType, @WebParam(name="cluResultInfo")CluResultInfo cluResultInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 1060  
 
 1061  
     /** 
 1062  
      * Create a clu result object, which contains information about potential results for a clu.
 1063  
      * @param cluId identifier of a clu
 1064  
      * @param cluResultType type of clu result
 1065  
      * @param cluResultInfo information about potential results for a clu
 1066  
      * @return information about the created clu result
 1067  
      * @throws AlreadyExistsException clu result already exists
 1068  
      * @throws DataValidationErrorException One or more values invalid for this operation
 1069  
      * @throws InvalidParameterException invalid cluId, cluResultType, cluResultInfo
 1070  
      * @throws MissingParameterException missing cluId, cluResultType, cluResultInfo
 1071  
      * @throws OperationFailedException unable to complete request
 1072  
      * @throws PermissionDeniedException authorization failure
 1073  
      * @throws DoesNotExistException resultUsageTypeKey not found
 1074  
          */
 1075  
     public CluResultInfo createCluResult(@WebParam(name="cluId")String cluId, @WebParam(name="cluResultType")String cluResultType, @WebParam(name="cluResultInfo")CluResultInfo cluResultInfo) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, DoesNotExistException;
 1076  
 
 1077  
     /** 
 1078  
      * Updates an existing clu result
 1079  
      * @param cluResultId identifier for the clu result to be updated
 1080  
      * @param cluResultInfo updated information about the clu result
 1081  
      * @return the updated clu result information
 1082  
      * @throws DataValidationErrorException One or more values invalid for this operation
 1083  
      * @throws DoesNotExistException cluResult not found
 1084  
      * @throws InvalidParameterException invalid cluResultId, cluResultInfo
 1085  
      * @throws MissingParameterException missing cluResultId, cluResultInfo
 1086  
      * @throws OperationFailedException unable to complete request
 1087  
      * @throws PermissionDeniedException authorization failure
 1088  
      * @throws VersionMismatchException The action was attempted on an out of date version.
 1089  
          */
 1090  
     public CluResultInfo updateCluResult(@WebParam(name="cluResultId")String cluResultId, @WebParam(name="cluResultInfo")CluResultInfo cluResultInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException;
 1091  
 
 1092  
     /** 
 1093  
      * Deletes an existing clu result
 1094  
      * @param cluResultId identifier for the clu result to be deleted
 1095  
      * @return status of the operation
 1096  
      * @throws DoesNotExistException cluResult not found
 1097  
      * @throws InvalidParameterException invalid cluResultId
 1098  
      * @throws MissingParameterException missing cluResultId
 1099  
      * @throws DependentObjectsExistException delete would leave orphaned objects or violate integrity constraints
 1100  
      * @throws OperationFailedException unable to complete request
 1101  
      * @throws PermissionDeniedException authorization failure
 1102  
          */
 1103  
     public StatusInfo deleteCluResult(@WebParam(name="cluResultId")String cluResultId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, DependentObjectsExistException, OperationFailedException, PermissionDeniedException;
 1104  
 
 1105  
     /** 
 1106  
      * Validates a cluLoRelation. Depending on the value of validationType, this validation could be limited to tests on just the current object and its directly contained sub-objects or expanded to perform all tests related to this object. If an identifier is present for the cluLoRelation (and/or one of its contained sub-objects) and a record is found for that identifier, the validation checks if the relationship can be shifted to the new values. If an identifier is not present or a record cannot be found for the identifier, it is assumed that the record does not exist and as such, the checks performed will be much shallower, typically mimicking those performed by setting the validationType to the current object.
 1107  
      * @param validationType identifier of the extent of validation
 1108  
      * @param cluLoRelationInfo cluLoRelation information to be tested.
 1109  
      * @return results from performing the validation
 1110  
      * @throws DoesNotExistException validationTypeKey not found
 1111  
      * @throws InvalidParameterException invalid validationTypeKey, cluLoRelationInfo
 1112  
      * @throws MissingParameterException missing validationTypeKey, cluLoRelationInfo
 1113  
      * @throws OperationFailedException unable to complete request
 1114  
          */
 1115  
     public List<ValidationResultInfo> validateCluLoRelation(@WebParam(name="validationType")String validationType, @WebParam(name="cluLoRelationInfo")CluLoRelationInfo cluLoRelationInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 1116  
 
 1117  
     /** 
 1118  
      * Creates a relationship between a learning objective and a CLU.
 1119  
      * @param cluId CLU identifier
 1120  
      * @param loId learning objective identifier
 1121  
      * @param cluLoRelationType type of clu learning objective relationship
 1122  
      * @param cluLoRelationInfo clu learning objective relationship information
 1123  
      * @return the newly created clu learning objective relationship
 1124  
      * @throws AlreadyExistsException connection between clu and learning objective already exists
 1125  
      * @throws DoesNotExistException cluId, loId, cluLoRelationType not found
 1126  
      * @throws InvalidParameterException one or more parameters invalid
 1127  
      * @throws MissingParameterException one or more parameters not specified
 1128  
      * @throws OperationFailedException unable to complete request
 1129  
      * @throws PermissionDeniedException authorization failure
 1130  
      * @throws DataValidationErrorException data validation error
 1131  
          */
 1132  
     public CluLoRelationInfo createCluLoRelation(@WebParam(name="cluId")String cluId, @WebParam(name="loId")String loId, @WebParam(name="cluLoRelationType")String cluLoRelationType, @WebParam(name="cluLoRelationInfo")CluLoRelationInfo cluLoRelationInfo) throws AlreadyExistsException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, DataValidationErrorException;
 1133  
 
 1134  
     /** 
 1135  
      * Updates a relationship between a clu and learning objective
 1136  
      * @param cluLoRelationId identifier of the clu learning objective relationship to be updated
 1137  
      * @param cluLoRelationInfo information about the clu learning objective relationship to be updated
 1138  
      * @return the updated clu learning objective relationship information
 1139  
      * @throws DataValidationErrorException One or more values invalid for this operation
 1140  
      * @throws DoesNotExistException cluLoRelation not found
 1141  
      * @throws InvalidParameterException one or more parameters invalid
 1142  
      * @throws MissingParameterException one or more parameters missing
 1143  
      * @throws OperationFailedException unable to complete request
 1144  
      * @throws PermissionDeniedException authorization failure
 1145  
      * @throws VersionMismatchException The action was attempted on an out of date version.
 1146  
          */
 1147  
     public CluLoRelationInfo updateCluLoRelation(@WebParam(name="cluLoRelationId")String cluLoRelationId, @WebParam(name="cluLoRelationInfo")CluLoRelationInfo cluLoRelationInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException;
 1148  
 
 1149  
     /** 
 1150  
      * Removes a relationship between a learning objective and a Clu.
 1151  
      * @param cluLoRelationId CLU learning objective Relationship identifier
 1152  
      * @return Status
 1153  
      * @throws DoesNotExistException cluLoRelation not found
 1154  
      * @throws InvalidParameterException invalid cluLoRelationId
 1155  
      * @throws MissingParameterException cluLoRelationId not specified
 1156  
      * @throws OperationFailedException unable to complete request
 1157  
      * @throws PermissionDeniedException authorization failure
 1158  
          */
 1159  
     public StatusInfo deleteCluLoRelation(@WebParam(name="cluLoRelationId")String cluLoRelationId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1160  
 
 1161  
     /** 
 1162  
      * Add a Resource requirement to a CLU
 1163  
      * @param resourceTypeKey identifier of the resource requirement type to be added to the CLU
 1164  
      * @param cluId identifier of the CLU
 1165  
      * @return status of the operation (success or failure)
 1166  
      * @throws AlreadyExistsException resourceTypeKey is already associated with the cluId
 1167  
      * @throws DoesNotExistException resourceTypeKey or cluId not found
 1168  
      * @throws InvalidParameterException resourceTypeKey or cluId invalid
 1169  
      * @throws MissingParameterException resourceTypeKey or cluId missing
 1170  
      * @throws OperationFailedException unable to complete request
 1171  
      * @throws PermissionDeniedException authorization failure
 1172  
          */
 1173  
     public StatusInfo addCluResourceRequirement(@WebParam(name="resourceTypeKey")String resourceTypeKey, @WebParam(name="cluId")String cluId) throws AlreadyExistsException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1174  
 
 1175  
     /** 
 1176  
      * Remove a Resource requirement from a CLU
 1177  
      * @param resourceTypeKey identifier of the resource type to be removed from the CLU
 1178  
      * @param cluId identifier of the CLU
 1179  
      * @return status of the operation (success or failure)
 1180  
      * @throws DoesNotExistException resourceTypeKey or cluId or relationship not found
 1181  
      * @throws InvalidParameterException resourceTypeKey or cluId invalid
 1182  
      * @throws MissingParameterException resourceTypeKey or cluId missing
 1183  
      * @throws OperationFailedException unable to complete request
 1184  
      * @throws PermissionDeniedException authorization failure
 1185  
          */
 1186  
     public StatusInfo removeCluResourceRequirement(@WebParam(name="resourceTypeKey")String resourceTypeKey, @WebParam(name="cluId")String cluId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1187  
 
 1188  
     /** 
 1189  
      * Validates information about a clu set. Depending on the value of validationType, this validation could be limited to tests on just the current object and its directly contained sub-objects or expanded to perform all tests related to this object. If an identifier is present for the clu set (and/or one of its contained sub-objects) and a record is found for that identifier, the validation checks if the clu set can be shifted to the new values. If an identifier is not present or a record cannot be found for the identifier, it is assumed that the record does not exist and as such, the checks performed will be much shallower, typically mimicking those performed by setting the validationType to the current object.
 1190  
      * @param validationType identifier of the extent of validation
 1191  
      * @param cluSetInfo CLU set information to be tested.
 1192  
      * @return results from performing the validation
 1193  
      * @throws DoesNotExistException validationTypeKey not found
 1194  
      * @throws InvalidParameterException invalid validationTypeKey, cluSetInfo
 1195  
      * @throws MissingParameterException missing validationTypeKey, cluSetInfo
 1196  
      * @throws OperationFailedException unable to complete request
 1197  
          */
 1198  
     public List<ValidationResultInfo> validateCluSet(@WebParam(name="validationType")String validationType, @WebParam(name="cluSetInfo")CluSetInfo cluSetInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 1199  
 
 1200  
     /** 
 1201  
      * Creates a CLU set.
 1202  
      * @param cluSetType type of the CLU set to be created
 1203  
      * @param cluSetInfo information required to create a CLU set
 1204  
      * @return the created CLU set information
 1205  
      * @throws AlreadyExistsException the cluSet already exists
 1206  
      * @throws DataValidationErrorException One or more values invalid for this operation
 1207  
      * @throws InvalidParameterException invalid cluSetName, cluSetInfo
 1208  
      * @throws MissingParameterException missing cluSetName, cluSetInfo
 1209  
      * @throws OperationFailedException unable to complete request
 1210  
      * @throws PermissionDeniedException authorization failure
 1211  
      * @throws UnsupportedActionException CLU set need to be static or dynamic but not both
 1212  
          */
 1213  
     public CluSetInfo createCluSet(@WebParam(name="cluSetType")String cluSetType, @WebParam(name="cluSetInfo")CluSetInfo cluSetInfo) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, UnsupportedActionException;
 1214  
 
 1215  
     /** 
 1216  
      * Update the information for a CLU set
 1217  
      * @param cluSetId identifier of the CLU set to be updated
 1218  
      * @param cluSetInfo updated information about the CLU set
 1219  
      * @return the updated CLU set information
 1220  
      * @throws DataValidationErrorException One or more values invalid for this operation
 1221  
      * @throws DoesNotExistException cluSet not found
 1222  
      * @throws InvalidParameterException invalid cluSetId, cluSetInfo
 1223  
      * @throws MissingParameterException missing cluSetId, cluSetInfo
 1224  
      * @throws OperationFailedException unable to complete request
 1225  
      * @throws PermissionDeniedException authorization failure
 1226  
      * @throws VersionMismatchException The action was attempted on an out of date version.
 1227  
      * @throws UnsupportedActionException CLU set need to be static or dynamic but not both
 1228  
      * @throws CircularRelationshipException addedCluSetId cannot be added to the cluSetId
 1229  
          */
 1230  
     public CluSetInfo updateCluSet(@WebParam(name="cluSetId")String cluSetId, @WebParam(name="cluSetInfo")CluSetInfo cluSetInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException, UnsupportedActionException, CircularRelationshipException;
 1231  
 
 1232  
     /** 
 1233  
      * Delete a CLU set
 1234  
      * @param cluSetId identifier of the CLU set to be deleted
 1235  
      * @return status of the operation (success or failure)
 1236  
      * @throws DoesNotExistException cluSet not found
 1237  
      * @throws InvalidParameterException invalid cluSetId
 1238  
      * @throws MissingParameterException missing cluSetId
 1239  
      * @throws OperationFailedException unable to complete request
 1240  
      * @throws PermissionDeniedException authorization failure
 1241  
          */
 1242  
     public StatusInfo deleteCluSet(@WebParam(name="cluSetId")String cluSetId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1243  
 
 1244  
     /** 
 1245  
      * Adds one CLU set to another
 1246  
      * @param cluSetId identifier of the host CLU set
 1247  
      * @param addedCluSetId identifier of the CLU set to be added
 1248  
      * @return status of the operation (success or failure)
 1249  
      * @throws CircularRelationshipException addedCluSetId cannot be added to the cluSetId
 1250  
      * @throws DoesNotExistException cluSet, addedCluSet not found
 1251  
      * @throws InvalidParameterException invalid cluSetId, addedCluSetId
 1252  
      * @throws MissingParameterException missing cluSetId, addedCluSetId
 1253  
      * @throws OperationFailedException unable to complete request
 1254  
      * @throws PermissionDeniedException authorization failure
 1255  
      * @throws UnsupportedActionException CLU set is dynamically determined
 1256  
          */
 1257  
     public StatusInfo addCluSetToCluSet(@WebParam(name="cluSetId")String cluSetId, @WebParam(name="addedCluSetId")String addedCluSetId) throws CircularRelationshipException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, UnsupportedActionException;
 1258  
 
 1259  
     /** 
 1260  
      *         Adds a list of CLU sets to another CluSet. If any individual one would fail, then an error is returned and none are added.
 1261  
      * @param cluSetId identifier of the host CLU set
 1262  
      * @param addedCluSetIdList list of identifiers of the CLU sets to be added
 1263  
      * @return status of the operation (success or failure)
 1264  
      * @throws CircularRelationshipException addedCluSetId cannot be added to the cluSetId
 1265  
      * @throws DoesNotExistException cluSet, addedCluSet not found
 1266  
      * @throws InvalidParameterException invalid cluSetId, addedCluSetId
 1267  
      * @throws MissingParameterException missing cluSetId, addedCluSetId
 1268  
      * @throws OperationFailedException unable to complete request
 1269  
      * @throws PermissionDeniedException authorization failure
 1270  
      * @throws UnsupportedActionException CLU set is dynamically determined
 1271  
          */
 1272  
     public StatusInfo addCluSetsToCluSet(@WebParam(name="cluSetId")String cluSetId, @WebParam(name="addedCluSetIdList")List<String> addedCluSetIdList) throws CircularRelationshipException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, UnsupportedActionException;
 1273  
 
 1274  
     /** 
 1275  
      * Removes one CLU set from another
 1276  
      * @param cluSetId identifier of the host CLU set
 1277  
      * @param removedCluSetId identifier of the CLU set to be removed
 1278  
      * @return status of the operation (success or failure)
 1279  
      * @throws DoesNotExistException cluSet, removedCluSet not found
 1280  
      * @throws InvalidParameterException invalid cluSetId, removedCluSetId
 1281  
      * @throws MissingParameterException missing cluSetId, removedCluSetId
 1282  
      * @throws OperationFailedException unable to complete request
 1283  
      * @throws PermissionDeniedException authorization failure
 1284  
      * @throws UnsupportedActionException CLU set is dynamically determined
 1285  
          */
 1286  
     public StatusInfo removeCluSetFromCluSet(@WebParam(name="cluSetId")String cluSetId, @WebParam(name="removedCluSetId")String removedCluSetId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, UnsupportedActionException;
 1287  
 
 1288  
     /** 
 1289  
      * Add a CLU to a CLU set
 1290  
      * @param cluId identifier of CLU to add to the CLU set
 1291  
      * @param cluSetId identifier of the CLU set
 1292  
      * @return status of the operation (success or failure)
 1293  
      * @throws DoesNotExistException clu, cluSet not found
 1294  
      * @throws InvalidParameterException invalid cluId, cluSetId
 1295  
      * @throws MissingParameterException missing cluId, cluSetId
 1296  
      * @throws OperationFailedException unable to complete request
 1297  
      * @throws PermissionDeniedException authorization failure
 1298  
      * @throws UnsupportedActionException CLU set is dynamically determined
 1299  
          */
 1300  
     public StatusInfo addCluToCluSet(@WebParam(name="cluId")String cluId, @WebParam(name="cluSetId")String cluSetId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, UnsupportedActionException;
 1301  
 
 1302  
     /** 
 1303  
      * Adds a list of CLUs to a CLU set. If any individual one would fail, then an error is returned and none are added.
 1304  
      * @param cluSetIds list of identifiers of CLUs to add to the CLU set
 1305  
      * @param cluSetId identifier of the CLU set to be added
 1306  
      * @return status of the operation (success or failure)
 1307  
      * @throws DoesNotExistException clu, cluSet not found
 1308  
      * @throws InvalidParameterException invalid cluId, cluSetId
 1309  
      * @throws MissingParameterException missing cluId, cluSetId
 1310  
      * @throws OperationFailedException unable to complete request
 1311  
      * @throws PermissionDeniedException authorization failure
 1312  
      * @throws UnsupportedActionException CLU set is dynamically determined
 1313  
          */
 1314  
     public StatusInfo addClusToCluSet(@WebParam(name="cluIdList")List<String> cluIdList, @WebParam(name="cluSetId")String cluSetId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, UnsupportedActionException;
 1315  
 
 1316  
     /** 
 1317  
      * Remove a CLU from a CLU set
 1318  
      * @param cluId identifier of CLU to remove from the CLU set
 1319  
      * @param cluSetId identifier of the CLU set
 1320  
      * @return status of the operation (success or failure)
 1321  
      * @throws DoesNotExistException clu, cluSet not found
 1322  
      * @throws InvalidParameterException invalid cluId, cluSetId
 1323  
      * @throws MissingParameterException missing cluId, cluSetId
 1324  
      * @throws OperationFailedException unable to complete request
 1325  
      * @throws PermissionDeniedException authorization failure
 1326  
      * @throws UnsupportedActionException CLU set is dynamically determined
 1327  
          */
 1328  
     public StatusInfo removeCluFromCluSet(@WebParam(name="cluId")String cluId, @WebParam(name="cluSetId")String cluSetId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, UnsupportedActionException;
 1329  
 
 1330  
     /** 
 1331  
      * Validates a LUI. Depending on the value of validationType, this validation could be limited to tests on just the current object and its directly contained sub-objects or expanded to perform all tests related to this object. If an identifier is present for the LUI (and/or one of its contained sub-objects) and a record is found for that identifier, the validation checks if the LUI can be shifted to the new values. If an identifier is not present or a record cannot be found for the identifier, it is assumed that the record does not exist and as such, the checks performed will be much shallower, typically mimicking those performed by setting the validationType to the current object.
 1332  
      * @param validationType identifier of the extent of validation
 1333  
      * @param luiInfo LUI information to be tested.
 1334  
      * @return results from performing the validation
 1335  
      * @throws DoesNotExistException validationTypeKey not found
 1336  
      * @throws InvalidParameterException invalid validationTypeKey, luiInfo
 1337  
      * @throws MissingParameterException missing validationTypeKey, luiInfo
 1338  
      * @throws OperationFailedException unable to complete request
 1339  
          */
 1340  
     public List<ValidationResultInfo> validateLui(@WebParam(name="validationType")String validationType, @WebParam(name="luiInfo")LuiInfo luiInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 1341  
 
 1342  
     /** 
 1343  
      * Creates a new LUI
 1344  
      * @param cluId identifier of the CLU for the LUI being created
 1345  
      * @param atpKey identifier of the academic time period for the LUI being created
 1346  
      * @param luiInfo information about the LUI being created
 1347  
      * @return the created LUI information
 1348  
      * @throws AlreadyExistsException LUI already exists
 1349  
      * @throws DataValidationErrorException One or more values invalid for this operation
 1350  
      * @throws DoesNotExistException clu, atp not found
 1351  
      * @throws InvalidParameterException invalid cluId, atpKey, luiInfo
 1352  
      * @throws MissingParameterException missing cluId, atpKey, luiInfo
 1353  
      * @throws OperationFailedException unable to complete request
 1354  
      * @throws PermissionDeniedException authorization failure
 1355  
          */
 1356  
     public LuiInfo createLui(@WebParam(name="cluId")String cluId, @WebParam(name="atpKey")String atpKey, @WebParam(name="luiInfo")LuiInfo luiInfo) throws AlreadyExistsException, DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1357  
 
 1358  
     /** 
 1359  
      * Updates an existing LUI
 1360  
      * @param luiId identifier for the LUI to be updated
 1361  
      * @param luiInfo updated information about the LUI
 1362  
      * @return the updated LUI information
 1363  
      * @throws DataValidationErrorException One or more values invalid for this operation
 1364  
      * @throws DoesNotExistException lui not found
 1365  
      * @throws InvalidParameterException invalid luiId, luiInfo
 1366  
      * @throws MissingParameterException missing luiId, luiInfo
 1367  
      * @throws OperationFailedException unable to complete request
 1368  
      * @throws PermissionDeniedException authorization failure
 1369  
      * @throws VersionMismatchException The action was attempted on an out of date version.
 1370  
          */
 1371  
     public LuiInfo updateLui(@WebParam(name="luiId")String luiId, @WebParam(name="luiInfo")LuiInfo luiInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException;
 1372  
 
 1373  
     /** 
 1374  
      * Deletes a LUI record
 1375  
      * @param luiId identifier for the LUI to be deleted
 1376  
      * @return status of the operation
 1377  
      * @throws DependentObjectsExistException delete would leave orphaned objects or violate integrity constraints
 1378  
      * @throws DoesNotExistException lui not found
 1379  
      * @throws InvalidParameterException invalid luiId
 1380  
      * @throws MissingParameterException missing luiId
 1381  
      * @throws OperationFailedException unable to complete request
 1382  
      * @throws PermissionDeniedException authorization failure
 1383  
          */
 1384  
     public StatusInfo deleteLui(@WebParam(name="luiId")String luiId) throws DependentObjectsExistException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1385  
 
 1386  
     /** 
 1387  
      * Updates the state of the LUI
 1388  
      * @param luiId identifier for the LUI to be updated
 1389  
      * @param luState New state for LUI. Value is expected to be constrained to those in the luState enumeration.
 1390  
      * @return the updated LUI information
 1391  
      * @throws DataValidationErrorException New state not valid for existing state of LUI
 1392  
      * @throws DoesNotExistException lui, luState not found
 1393  
      * @throws InvalidParameterException invalid luiId, luState
 1394  
      * @throws MissingParameterException missing luiId, luState
 1395  
      * @throws OperationFailedException unable to complete request
 1396  
      * @throws PermissionDeniedException authorization failure
 1397  
          */
 1398  
     public LuiInfo updateLuiState(@WebParam(name="luiId")String luiId, @WebParam(name="luState")String luState) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1399  
 
 1400  
     /** 
 1401  
      * Validates a relationship between LUIs. Depending on the value of validationType, this validation could be limited to tests on just the current object and its directly contained sub-objects or expanded to perform all tests related to this object. If an identifier is present for the relationship (and/or one of its contained sub-objects) and a record is found for that identifier, the validation checks if the relationship can be shifted to the new values. If an identifier is not present or a record cannot be found for the identifier, it is assumed that the record does not exist and as such, the checks performed will be much shallower, typically mimicking those performed by setting the validationType to the current object.
 1402  
      * @param validationType identifier of the extent of validation
 1403  
      * @param luiLuiRelationInfo LUI to LUI relationship information to be tested.
 1404  
      * @return results from performing the validation
 1405  
      * @throws DoesNotExistException validationTypeKey not found
 1406  
      * @throws InvalidParameterException invalid validationTypeKey, luiLuiRelationInfo
 1407  
      * @throws MissingParameterException missing validationTypeKey, luiLuiRelationInfo
 1408  
      * @throws OperationFailedException unable to complete request
 1409  
          */
 1410  
     public List<ValidationResultInfo> validateLuiLuiRelation(@WebParam(name="validationType")String validationType, @WebParam(name="luiLuiRelationInfo")LuiLuiRelationInfo luiLuiRelationInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 1411  
 
 1412  
     /** 
 1413  
      * Create a relationship between two LUIs
 1414  
      * @param luiId identifier of the first LUI in the relationship
 1415  
      * @param relatedLuiId identifier of the second LUI in the relationship to be related to
 1416  
      * @param luLuRelationType the LU to LU relationship type of the relationship
 1417  
      * @param luiLuiRelationInfo information about the relationship between the two LUIs
 1418  
      * @return the created LUI to LUI relation information
 1419  
      * @throws AlreadyExistsException relationship already exists
 1420  
      * @throws CircularRelationshipException luiId equals relatedLuiId
 1421  
      * @throws DataValidationErrorException One or more values invalid for this operation
 1422  
      * @throws DoesNotExistException luiId, relatedLuiId, luLuRelationType not found
 1423  
      * @throws InvalidParameterException invalid luiIds, luluRelationType, luiLuiRelationInfo
 1424  
      * @throws MissingParameterException missing luiIds, luluRelationType, luiLuiRelationInfo
 1425  
      * @throws OperationFailedException unable to complete request
 1426  
      * @throws PermissionDeniedException authorization failure
 1427  
          */
 1428  
     public LuiLuiRelationInfo createLuiLuiRelation(@WebParam(name="luiId")String luiId, @WebParam(name="relatedLuiId")String relatedLuiId, @WebParam(name="luLuRelationType")String luLuRelationType, @WebParam(name="luiLuiRelationInfo")LuiLuiRelationInfo luiLuiRelationInfo) throws AlreadyExistsException, CircularRelationshipException, DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1429  
 
 1430  
     /** 
 1431  
      * Updates a relationship between two LUIs
 1432  
      * @param luiLuiRelationId identifier of the LUI to LUI relation to update
 1433  
      * @param luiLuiRelationInfo changed information about the relationship between the two LUIs
 1434  
      * @return the update LUI to LUI relation information
 1435  
      * @throws DataValidationErrorException One or more values invalid for this operation
 1436  
      * @throws DoesNotExistException luiLuiRelation not found
 1437  
      * @throws InvalidParameterException invalid luiLuiRelationId, luiLuiRelationInfo
 1438  
      * @throws MissingParameterException missing luiLuiRelationId, luiLuiRelationInfo
 1439  
      * @throws OperationFailedException unable to complete request
 1440  
      * @throws PermissionDeniedException authorization failure
 1441  
      * @throws VersionMismatchException The action was attempted on an out of date version.
 1442  
          */
 1443  
     public LuiLuiRelationInfo updateLuiLuiRelation(@WebParam(name="luiLuiRelationId")String luiLuiRelationId, @WebParam(name="luiLuiRelationInfo")LuiLuiRelationInfo luiLuiRelationInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException;
 1444  
 
 1445  
     /** 
 1446  
      * Deletes a relationship between two LUIs
 1447  
      * @param luiLuiRelationId identifier of the LUI to LUI relation to delete
 1448  
      * @return status of the operation (success or failure)
 1449  
      * @throws DoesNotExistException luiLuiRelation not found
 1450  
      * @throws InvalidParameterException invalid luiLuiRelationId
 1451  
      * @throws MissingParameterException missing luiLuiRelationId
 1452  
      * @throws OperationFailedException unable to complete request
 1453  
      * @throws PermissionDeniedException authorization failure
 1454  
          */
 1455  
     public StatusInfo deleteLuiLuiRelation(@WebParam(name="luiLuiRelationId")String luiLuiRelationId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1456  
 
 1457  
 
 1458  
 
 1459  
 }