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