Coverage Report - org.kuali.student.enrollment.lui.service.LuiService
 
Classes in this File Line Coverage Branch Coverage Complexity
LuiService
N/A
N/A
1
 
 1  
 /**
 2  
  * Copyright 2010 The Kuali Foundation
 3  
  *
 4  
  *  Licensed under the the Educational Community License, Version 1.0
 5  
  * (the "License"); you may not use this file except in compliance
 6  
  * with the License.  You may obtain a copy of the License at
 7  
  *
 8  
  * http://www.opensource.org/licenses/ecl1.php
 9  
  *
 10  
  * Unless required by applicable law or agreed to in writing, software
 11  
  * distributed under the License is distributed on an "AS IS" BASIS,
 12  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 13  
  * See the License for the specific language governing permissions and
 14  
  * limitations under the License.
 15  
  */
 16  
 
 17  
 package org.kuali.student.enrollment.lui.service;
 18  
 
 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.dto.ContextInfo;
 26  
 import org.kuali.student.common.dto.StatusInfo;
 27  
 import org.kuali.student.common.dto.ValidationResultInfo;
 28  
 import org.kuali.student.common.exceptions.AlreadyExistsException;
 29  
 import org.kuali.student.common.exceptions.CircularRelationshipException;
 30  
 import org.kuali.student.common.exceptions.DataValidationErrorException;
 31  
 import org.kuali.student.common.exceptions.DependentObjectsExistException;
 32  
 import org.kuali.student.common.exceptions.DoesNotExistException;
 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.VersionMismatchException;
 38  
 import org.kuali.student.common.service.TypeService;
 39  
 import org.kuali.student.datadictionary.service.DataDictionaryService;
 40  
 import org.kuali.student.enrollment.lui.dto.LuiInfo;
 41  
 import org.kuali.student.enrollment.lui.dto.LuiLuiRelationInfo;
 42  
 
 43  
 
 44  
 /**
 45  
  * Learning Unit Insntance (LUI) Service
 46  
  *
 47  
  * Managages the creation of Instances of the cannonical Learning unit.  An instance is
 48  
  * associated with a particular time period during which is is offered.
 49  
  *
 50  
  * This includes course and section offerings as well as program offerings
 51  
  * 
 52  
  * Version: 1.0 (Dev)
 53  
  *
 54  
  * @Author Tom
 55  
  * @Since Wed Mar 2 15:18:59 EST 2011
 56  
  */
 57  
 
 58  
 @WebService(name = "LuiService", targetNamespace = LuiServiceConstants.LUI_NAMESPACE)
 59  
 @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
 60  
 public interface LuiService extends DataDictionaryService, TypeService {
 61  
 
 62  
 
 63  
     /**
 64  
      * Retrieves information about a LUI.
 65  
      *
 66  
      * @param luiId   identifier of the LUI
 67  
      * @param context Context information containing the principalId
 68  
      *                and locale information about the caller of service
 69  
      *                operation
 70  
      * @return information about a LUI
 71  
      * @throws DoesNotExistException     lui not found
 72  
      * @throws InvalidParameterException invalid luiId
 73  
      * @throws MissingParameterException missing luiId
 74  
      * @throws OperationFailedException  unable to complete request
 75  
      */
 76  
 
 77  
     public LuiInfo getLui(@WebParam(name = "luiId") String luiId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 78  
 
 79  
 
 80  
     /**
 81  
      * Retrieves information about LUIs from a list of Ids.
 82  
      *
 83  
      * @param luiIdList List of LUI identifiers
 84  
      * @param context   Context information containing the principalId
 85  
      *                  and locale information about the caller of service
 86  
      *                  operation
 87  
      * @return information about a list of LUIs
 88  
      * @throws DoesNotExistException     One or more luis not found
 89  
      * @throws InvalidParameterException One or more invalid luiIds
 90  
      * @throws MissingParameterException missing luiIdList
 91  
      * @throws OperationFailedException  unable to complete request
 92  
      */
 93  
 
 94  
     public List<LuiInfo> getLuisByIdList(@WebParam(name = "luiIdList") List<String> luiIdList, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 95  
 
 96  
 
 97  
     /**
 98  
      * Retrieves the list of LUIs for the specified CLU and period.
 99  
      *
 100  
      * @param cluId   identifier of the CLU
 101  
      * @param atpKey  identifier for the academic time period
 102  
      * @param context Context information containing the principalId
 103  
      *                and locale information about the caller of service
 104  
      *                operation
 105  
      * @return list of LUI information
 106  
      * @throws DoesNotExistException     clu, atp not found
 107  
      * @throws InvalidParameterException invalid cluId, atpKey
 108  
      * @throws MissingParameterException missing cluId, atpKey
 109  
      * @throws OperationFailedException  unable to complete request
 110  
      */
 111  
 
 112  
     public List<LuiInfo> getLuisInAtpByCluId(@WebParam(name = "cluId") String cluId, @WebParam(name = "atpKey") String atpKey, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 113  
 
 114  
 
 115  
     /**
 116  
      * Retrieves the list of LUI ids for the specified CLU.
 117  
      *
 118  
      * @param cluId   identifier of the CLU
 119  
      * @param context Context information containing the principalId
 120  
      *                and locale information about the caller of service
 121  
      *                operation
 122  
      * @return list of LUI identifiers
 123  
      * @throws DoesNotExistException     clu not found
 124  
      * @throws InvalidParameterException invalid cluId
 125  
      * @throws MissingParameterException missing cluId
 126  
      * @throws OperationFailedException  unable to complete request
 127  
      */
 128  
 
 129  
     public List<String> getLuiIdsByCluId(@WebParam(name = "cluId") String cluId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 130  
 
 131  
 
 132  
     /**
 133  
      * Retrieves the list of LUI ids for the specified CLU and Time period.
 134  
      *
 135  
      * @param cluId   identifier of the CLU
 136  
      * @param atpKey  identifier for the academic time period
 137  
      * @param context Context information containing the principalId
 138  
      *                and locale information about the caller of service
 139  
      *                operation
 140  
      * @return list of LUI identifiers
 141  
      * @throws DoesNotExistException     clu, atp not found
 142  
      * @throws InvalidParameterException invalid cluId, atpKey
 143  
      * @throws MissingParameterException missing cluId, atpKey
 144  
      * @throws OperationFailedException  unable to complete request
 145  
      */
 146  
 
 147  
     public List<String> getLuiIdsInAtpByCluId(@WebParam(name = "cluId") String cluId, @WebParam(name = "atpKey") String atpKey, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 148  
 
 149  
 
 150  
     /**
 151  
      * Retrieves the list of LUI information for the LUIs related to
 152  
      * the specified LUI Id with a certain LU to LU relation type.
 153  
      * <p/>
 154  
      * (getRelatedLuisByLuiId from the other direction)
 155  
      *
 156  
      * @param relatedLuiId     identifier of the LUI
 157  
      * @param luLuRelationTypeKey the LU to LU relation type
 158  
      * @param context          Context information containing the principalId
 159  
      *                         and locale information about the caller of service
 160  
      *                         operation
 161  
      * @return list of LUI information, empty list if none
 162  
      * @throws InvalidParameterException invalid relatedLuiId, luLuRelationTypeKey
 163  
      * @throws MissingParameterException missing relatedLuiId, luLuRelationTypeKey
 164  
      * @throws OperationFailedException  unable to complete request
 165  
      */
 166  
     public List<LuiInfo> getLuisByRelation(@WebParam(name = "relatedLuiId") String relatedLuiId,
 167  
       @WebParam(name = "luLuRelationTypeKey") String luLuRelationTypeKey,
 168  
       @WebParam(name = "context") ContextInfo context)
 169  
       throws InvalidParameterException, MissingParameterException, OperationFailedException;
 170  
 
 171  
 
 172  
     /**
 173  
      * Retrieves the list of LUI Ids for the specified related LUI Id
 174  
      * and LU to LU relation type (getRelatedLuiIdsByLuiId from the
 175  
      * other direction).
 176  
      *
 177  
      * @param relatedLuiId     identifier of the LUI
 178  
      * @param luLuRelationTypeKey the LU to LU relation type
 179  
      * @param context          Context information containing the principalId
 180  
      *                         and locale information about the caller of service
 181  
      *                         operation
 182  
      * @return list of LUI identifiers, empty list of none found
 183  
      * @throws InvalidParameterException invalid relatedLuiId, luLuRelationTypeKey
 184  
      * @throws MissingParameterException missing relatedLuiId, luLuRelationTypeKey
 185  
      * @throws OperationFailedException  unable to complete request
 186  
      */
 187  
     public List<String> getLuiIdsByRelation(@WebParam(name = "relatedLuiId") String relatedLuiId, 
 188  
       @WebParam(name = "luLuRelationTypeKey") String luLuRelationTypeKey,
 189  
       @WebParam(name = "context") ContextInfo context)
 190  
       throws InvalidParameterException, MissingParameterException, OperationFailedException;
 191  
 
 192  
 
 193  
     /**
 194  
      * Retrieves the list of related LUI information for the specified
 195  
      * LUI Id and LU to LU relation type (getLuisByRelation from the
 196  
      * other direction).
 197  
      *
 198  
      * @param luiId            identifier of the LUI
 199  
      * @param luLuRelationTypeKey the LU to LU relation type
 200  
      * @param context          Context information containing the principalId
 201  
      *                         and locale information about the caller of service
 202  
      *                         operation
 203  
      * @return list of LUI information, empty list if none found
 204  
      * @throws InvalidParameterException invalid luiId, luLuRelationTypeKey
 205  
      * @throws MissingParameterException missing luiId, luLuRelationTypeKey
 206  
      * @throws OperationFailedException  unable to complete request
 207  
      */
 208  
 
 209  
     public List<LuiInfo> getRelatedLuisByLuiId(@WebParam(name = "luiId") String luiId,
 210  
       @WebParam(name = "luLuRelationTypeKey") String luLuRelationTypeKey,
 211  
       @WebParam(name = "context") ContextInfo context)
 212  
       throws InvalidParameterException, MissingParameterException, OperationFailedException;
 213  
 
 214  
 
 215  
     /**
 216  
      * Retrieves the list of related LUI Ids for the specified LUI Id
 217  
      * and LU to LU relation type. (getLuiIdsByRelation from the other
 218  
      * direction).
 219  
      *
 220  
      * @param luiId            identifier of the LUI
 221  
      * @param luLuRelationTypeKey the LU to LU relation type
 222  
      * @param context          Context information containing the principalId
 223  
      *                         and locale information about the caller of service
 224  
      *                         operation
 225  
      * @return list of LUI identifier, empty list if none found
 226  
      * @throws InvalidParameterException invalid luiId, luLuRelationTypeKey
 227  
      * @throws MissingParameterException missing luiId, luLuRelationTypeKey
 228  
      * @throws OperationFailedException  unable to complete request
 229  
      */
 230  
 
 231  
     public List<String> getRelatedLuiIdsByLuiId(@WebParam(name = "luiId") String luiId,
 232  
       @WebParam(name = "luLuRelationTypeKey") String luLuRelationTypeKey,
 233  
       @WebParam(name = "context") ContextInfo context)
 234  
       throws InvalidParameterException, MissingParameterException, OperationFailedException;
 235  
 
 236  
 
 237  
     /**
 238  
      * Retrieves the relationship information between LUIs given a
 239  
      * specific relation instance.
 240  
      *
 241  
      * @param luiLuiRelationId identifier of LUI to LUI relatio
 242  
      * @param context          Context information containing the principalId
 243  
      *                         and locale information about the caller of service
 244  
      *                         operation
 245  
      * @return information on the relation between two LUIs
 246  
      * @throws DoesNotExistException     luiLuiRelation not found
 247  
      * @throws InvalidParameterException invalid luiLuiRelationId
 248  
      * @throws MissingParameterException missing luiLuiRelationId
 249  
      * @throws OperationFailedException  unable to complete request
 250  
      */
 251  
 
 252  
     public LuiLuiRelationInfo getLuiLuiRelation(@WebParam(name = "luiLuiRelationId") String luiLuiRelationId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 253  
 
 254  
 
 255  
     /**
 256  
      * Retrieves the list of relationship information for the
 257  
      * specified LUI.
 258  
      *
 259  
      * @param luiId   identifier of the LUI
 260  
      * @param context Context information containing the principalId
 261  
      *                and locale information about the caller of service
 262  
      *                operation
 263  
      * @return list of LUI to LUI relation information
 264  
      * @throws DoesNotExistException     lui not found
 265  
      * @throws InvalidParameterException invalid luiId
 266  
      * @throws MissingParameterException missing luiId
 267  
      * @throws OperationFailedException  unable to complete request
 268  
      */
 269  
 
 270  
     public List<LuiLuiRelationInfo> getLuiLuiRelationsByLui(@WebParam(name = "luiId") String luiId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 271  
 
 272  
 
 273  
     /**
 274  
      * Validates a LUI. Depending on the value of validationType, this
 275  
      * validation could be limited to tests on just the current object
 276  
      * and its directly contained sub-objects or expanded to perform
 277  
      * all tests related to this object. If an identifier is present
 278  
      * for the LUI (and/or one of its contained sub-objects) and a
 279  
      * record is found for that identifier, the validation checks if
 280  
      * the LUI can be shifted to the new values. If an identifier is
 281  
      * not present or a record cannot be found for the identifier, it
 282  
      * is assumed that the record does not exist and as such, the
 283  
      * checks performed will be much shallower, typically mimicking
 284  
      * those performed by setting the validationType to the current
 285  
      * object.
 286  
      *
 287  
      * @param validationType identifier of the extent of validation
 288  
      * @param luiInfo        LUI information to be tested.
 289  
      * @param context        Context information containing the principalId
 290  
      *                       and locale information about the caller of service
 291  
      *                       operation
 292  
      * @return results from performing the validation
 293  
      * @throws DoesNotExistException     validationTypeKey not found
 294  
      * @throws InvalidParameterException invalid validationTypeKey, luiInfo
 295  
      * @throws MissingParameterException missing validationTypeKey, luiInfo
 296  
      * @throws OperationFailedException  unable to complete request
 297  
      */
 298  
 
 299  
     public List<ValidationResultInfo> validateLui(@WebParam(name = "validationType") String validationType,
 300  
       @WebParam(name = "luiInfo") LuiInfo luiInfo,
 301  
       @WebParam(name = "context") ContextInfo context)
 302  
       throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
 303  
 
 304  
 
 305  
     /**
 306  
      * Creates a new LUI.
 307  
      *
 308  
      * @param cluId   identifier of the CLU for the LUI being created
 309  
      * @param atpKey  identifier of the academic time period for the
 310  
      *                LUI being created
 311  
      * @param luiInfo information about the LUI being created
 312  
      * @param context Context information containing the principalId
 313  
      *                and locale information about the caller of service
 314  
      *                operation
 315  
      * @return the created LUI information
 316  
      * @throws AlreadyExistsException       LUI already exists
 317  
      * @throws DataValidationErrorException One or more values invalid
 318  
      *                                      for this operation
 319  
      * @throws DoesNotExistException        clu, atp not found
 320  
      * @throws InvalidParameterException    invalid cluId, atpKey, luiInfo
 321  
      * @throws MissingParameterException    missing cluId, atpKey, luiInfo
 322  
      * @throws OperationFailedException     unable to complete request
 323  
      * @throws PermissionDeniedException    authorization failure
 324  
      */
 325  
 
 326  
     public LuiInfo createLui(@WebParam(name = "cluId") String cluId,
 327  
       @WebParam(name = "atpKey") String atpKey,
 328  
       @WebParam(name = "luiInfo") LuiInfo luiInfo,
 329  
       @WebParam(name = "context") ContextInfo context)
 330  
       throws AlreadyExistsException,
 331  
       DataValidationErrorException,
 332  
       DoesNotExistException,
 333  
       InvalidParameterException,
 334  
       MissingParameterException,
 335  
       OperationFailedException,
 336  
       PermissionDeniedException;
 337  
 
 338  
 
 339  
     /**
 340  
      * Updates an existing LUI.
 341  
      *
 342  
      * @param luiId   identifier for the LUI to be updated
 343  
      * @param luiInfo updated information about the LUI
 344  
      * @param context Context information containing the principalId
 345  
      *                and locale information about the caller of service
 346  
      *                operation
 347  
      * @return the updated LUI information
 348  
      * @throws DataValidationErrorException One or more values invalid
 349  
      *                                      for this operation
 350  
      * @throws DoesNotExistException        lui not found
 351  
      * @throws InvalidParameterException    invalid luiId, luiInfo
 352  
      * @throws MissingParameterException    missing luiId, luiInfo
 353  
      * @throws OperationFailedException     unable to complete request
 354  
      * @throws PermissionDeniedException    authorization failure
 355  
      * @throws VersionMismatchException     The action was attempted on an
 356  
      *                                      out of date version.
 357  
      */
 358  
 
 359  
     public LuiInfo updateLui(@WebParam(name = "luiId") String luiId, @WebParam(name = "luiInfo") LuiInfo luiInfo, @WebParam(name = "context") ContextInfo context) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException;
 360  
 
 361  
 
 362  
     /**
 363  
      * Deletes a LUI record.
 364  
      *
 365  
      * @param luiId   identifier for the LUI to be deleted
 366  
      * @param context Context information containing the principalId
 367  
      *                and locale information about the caller of service
 368  
      *                operation
 369  
      * @return status of the operation
 370  
      * @throws DependentObjectsExistException delete would leave
 371  
      *                                        orphaned objects or violate integrity constraints
 372  
      * @throws DoesNotExistException          lui not found
 373  
      * @throws InvalidParameterException      invalid luiId
 374  
      * @throws MissingParameterException      missing luiId
 375  
      * @throws OperationFailedException       unable to complete request
 376  
      * @throws PermissionDeniedException      authorization failure
 377  
      */
 378  
 
 379  
     public StatusInfo deleteLui(@WebParam(name = "luiId") String luiId, @WebParam(name = "context") ContextInfo context) throws DependentObjectsExistException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 380  
 
 381  
 
 382  
     /**
 383  
      * Updates the state of the LUI.
 384  
      *
 385  
      * @param luiId   identifier for the LUI to be updated
 386  
      * @param luState New state for LUI. Value is expected to be
 387  
      *                constrained to those in the luState enumeration.
 388  
      * @param context Context information containing the principalId
 389  
      *                and locale information about the caller of service
 390  
      *                operation
 391  
      * @return the updated LUI information
 392  
      * @throws DataValidationErrorException New state not valid for
 393  
      *                                      existing state of LUI
 394  
      * @throws DoesNotExistException        lui, luState not found
 395  
      * @throws InvalidParameterException    invalid luiId, luState
 396  
      * @throws MissingParameterException    missing luiId, luState
 397  
      * @throws OperationFailedException     unable to complete request
 398  
      * @throws PermissionDeniedException    authorization failure
 399  
      */
 400  
 
 401  
     public LuiInfo updateLuiState(@WebParam(name = "luiId") String luiId, @WebParam(name = "luState") String luState, @WebParam(name = "context") ContextInfo context) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 402  
 
 403  
 
 404  
     /**
 405  
      * Validates a relationship between LUIs. Depending on the value
 406  
      * of validationType, this validation could be limited to tests on
 407  
      * just the current object and its directly contained sub-objects
 408  
      * or expanded to perform all tests related to this object. If an
 409  
      * identifier is present for the relationship (and/or one of its
 410  
      * contained sub-objects) and a record is found for that
 411  
      * identifier, the validation checks if the relationship can be
 412  
      * shifted to the new values. If an identifier is not present or a
 413  
      * record cannot be found for the identifier, it is assumed that
 414  
      * the record does not exist and as such, the checks performed
 415  
      * will be much shallower, typically mimicking those performed by
 416  
      * setting the validationType to the current object.
 417  
      *
 418  
      * @param validationType     identifier of the extent of validation
 419  
      * @param luiLuiRelationInfo LUI to LUI relationship information
 420  
      *                           to be tested.
 421  
      * @param context            Context information containing the principalId
 422  
      *                           and locale information about the caller of service
 423  
      *                           operation
 424  
      * @return results from performing the validation
 425  
      * @throws DoesNotExistException     validationTypeKey not found
 426  
      * @throws InvalidParameterException invalid validationTypeKey,
 427  
      *                                   luiLuiRelationInfo
 428  
      * @throws MissingParameterException missing validationTypeKey,
 429  
      *                                   luiLuiRelationInfo
 430  
      * @throws OperationFailedException  unable to complete request
 431  
      */
 432  
 
 433  
     public List<ValidationResultInfo> validateLuiLuiRelation(@WebParam(name = "validationType") String validationType,
 434  
       @WebParam(name = "luiLuiRelationInfo") LuiLuiRelationInfo luiLuiRelationInfo,
 435  
       @WebParam(name = "context") ContextInfo context)
 436  
       throws DoesNotExistException,
 437  
       InvalidParameterException,
 438  
       MissingParameterException,
 439  
       OperationFailedException;
 440  
 
 441  
 
 442  
     /**
 443  
      * Create a relationship between two LUIs.
 444  
      *
 445  
      * @param luiId              identifier of the first LUI in the relationship
 446  
      * @param relatedLuiId       identifier of the second LUI in the
 447  
      *                           relationship to be related to
 448  
      * @param luLuRelationTypeKey   the LU to LU relationship type of the
 449  
      *                           relationship
 450  
      * @param luiLuiRelationInfo information about the relationship
 451  
      *                           between the two LUIs
 452  
      * @param context            Context information containing the principalId
 453  
      *                           and locale information about the caller of service
 454  
      *                           operation
 455  
      * @return the created LUI to LUI relation information
 456  
      * @throws AlreadyExistsException        relationship already exists
 457  
      * @throws CircularRelationshipException luiId equals relatedLuiId
 458  
      * @throws DataValidationErrorException  One or more values invalid
 459  
      *                                       for this operation
 460  
      * @throws DoesNotExistException         luiId, relatedLuiId,
 461  
      *                                       luLuRelationTypeKey not found
 462  
      * @throws InvalidParameterException     invalid luiIds,
 463  
      *                                       luLuRelationTypeKey, luiLuiRelationInfo
 464  
      * @throws MissingParameterException     missing luiIds,
 465  
      *                                       luLuRelationTypeKey, luiLuiRelationInfo
 466  
      * @throws OperationFailedException      unable to complete request
 467  
      * @throws PermissionDeniedException     authorization failure
 468  
      */
 469  
 
 470  
     public LuiLuiRelationInfo createLuiLuiRelation(@WebParam(name = "luiId") String luiId,
 471  
       @WebParam(name = "relatedLuiId") String relatedLuiId,
 472  
       @WebParam(name = "luLuRelationTypeKey") String luLuRelationTypeKey,
 473  
       @WebParam(name = "luiLuiRelationInfo") LuiLuiRelationInfo luiLuiRelationInfo,
 474  
       @WebParam(name = "context") ContextInfo context)
 475  
       throws AlreadyExistsException,
 476  
       CircularRelationshipException,
 477  
       DataValidationErrorException,
 478  
       DoesNotExistException,
 479  
       InvalidParameterException,
 480  
       MissingParameterException,
 481  
       OperationFailedException,
 482  
       PermissionDeniedException;
 483  
 
 484  
 
 485  
     /**
 486  
      * Updates a relationship between two LUIs.
 487  
      *
 488  
      * @param luiLuiRelationId   identifier of the LUI to LUI relation to update
 489  
      * @param luiLuiRelationInfo changed information about the
 490  
      *                           relationship between the two LUIs
 491  
      * @param context            Context information containing the principalId
 492  
      *                           and locale information about the caller of service
 493  
      *                           operation
 494  
      * @return the update LUI to LUI relation information
 495  
      * @throws DataValidationErrorException One or more values invalid
 496  
      *                                      for this operation
 497  
      * @throws DoesNotExistException        luiLuiRelation not found
 498  
      * @throws InvalidParameterException    invalid luiLuiRelationId,
 499  
      *                                      luiLuiRelationInfo
 500  
      * @throws MissingParameterException    missing luiLuiRelationId,
 501  
      *                                      luiLuiRelationInfo
 502  
      * @throws OperationFailedException     unable to complete request
 503  
      * @throws PermissionDeniedException    authorization failure
 504  
      * @throws VersionMismatchException     The action was attempted on an
 505  
      *                                      out of date version.
 506  
      */
 507  
 
 508  
     public LuiLuiRelationInfo updateLuiLuiRelation(@WebParam(name = "luiLuiRelationId") String luiLuiRelationId,
 509  
       @WebParam(name = "luiLuiRelationInfo") LuiLuiRelationInfo luiLuiRelationInfo,
 510  
       @WebParam(name = "context") ContextInfo context)
 511  
       throws DataValidationErrorException,
 512  
       DoesNotExistException,
 513  
       InvalidParameterException,
 514  
       MissingParameterException,
 515  
       OperationFailedException,
 516  
       PermissionDeniedException,
 517  
       VersionMismatchException;
 518  
 
 519  
 
 520  
     /**
 521  
      * Deletes a relationship between two LUIs.
 522  
      *
 523  
      * @param luiLuiRelationId identifier of the LUI to LUI relation
 524  
      *                         to delete
 525  
      * @param context          Context information containing the principalId
 526  
      *                         and locale information about the caller of service
 527  
      *                         operation
 528  
      * @return status of the operation (success or failure)
 529  
      * @throws DoesNotExistException     luiLuiRelation not found
 530  
      * @throws InvalidParameterException invalid luiLuiRelationId
 531  
      * @throws MissingParameterException missing luiLuiRelationId
 532  
      * @throws OperationFailedException  unable to complete request
 533  
      * @throws PermissionDeniedException authorization failure
 534  
      */
 535  
 
 536  
     public StatusInfo deleteLuiLuiRelation(@WebParam(name = "luiLuiRelationId") String luiLuiRelationId,
 537  
       @WebParam(name = "context") ContextInfo context)
 538  
       throws DoesNotExistException,
 539  
       InvalidParameterException,
 540  
       MissingParameterException,
 541  
       OperationFailedException,
 542  
       PermissionDeniedException;
 543  
 }