Coverage Report - org.kuali.student.enrollment.classI.lpr.service.LuiPersonRelationService
 
Classes in this File Line Coverage Branch Coverage Complexity
LuiPersonRelationService
N/A
N/A
1
 
 1  
 /*
 2  
  * Copyright 2009 The Kuali Foundation
 3  
  *
 4  
  * Licensed under the Educational Community License, Version 1.0 (the
 5  
  * "License"); you may not use this file except in compliance with the
 6  
  * 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  
 package org.kuali.student.enrollment.classI.lpr.service;
 17  
 
 18  
 import java.util.List;
 19  
 
 20  
 import javax.jws.WebParam;
 21  
 import javax.jws.WebService;
 22  
 import javax.jws.soap.SOAPBinding;
 23  
 
 24  
 import org.kuali.student.enrollment.classI.lpr.dto.LuiPersonRelationInfo;
 25  
 import org.kuali.student.r2.common.datadictionary.service.DataDictionaryService;
 26  
 import org.kuali.student.r2.common.dto.ContextInfo;
 27  
 import org.kuali.student.r2.common.dto.CriteriaInfo;
 28  
 import org.kuali.student.r2.common.dto.StatusInfo;
 29  
 import org.kuali.student.r2.common.dto.ValidationResultInfo;
 30  
 import org.kuali.student.r2.common.exceptions.AlreadyExistsException;
 31  
 import org.kuali.student.r2.common.exceptions.DataValidationErrorException;
 32  
 import org.kuali.student.r2.common.exceptions.DisabledIdentifierException;
 33  
 import org.kuali.student.r2.common.exceptions.DoesNotExistException;
 34  
 import org.kuali.student.r2.common.exceptions.InvalidParameterException;
 35  
 import org.kuali.student.r2.common.exceptions.MissingParameterException;
 36  
 import org.kuali.student.r2.common.exceptions.OperationFailedException;
 37  
 import org.kuali.student.r2.common.exceptions.PermissionDeniedException;
 38  
 import org.kuali.student.r2.common.exceptions.ReadOnlyException;
 39  
 import org.kuali.student.r2.common.exceptions.VersionMismatchException;
 40  
 import org.kuali.student.r2.common.service.StateService;
 41  
 import org.kuali.student.r2.common.service.TypeService;
 42  
 import org.kuali.student.r2.common.util.constants.LuiPersonRelationServiceConstants;
 43  
 
 44  
 /**
 45  
  * The Lui Person Relationship (LPR) Service
 46  
  *
 47  
  * Maintains the relationship between a Learning Unit Instance and a Person.
 48  
  * Depending on the type this service maintains relationships such as:<ul>
 49  
  * <li>a student's registration in a course
 50  
  * <li>a student's enrollment in a program (major or minor)
 51  
  * <li>an instructor's assignment to teach a course
 52  
  * <li>a faculty member's assignment as an advisor for a program
 53  
  *  </ul>
 54  
  * 
 55  
  * Version: 1.0 (Dev)
 56  
  *
 57  
  * @Author Kamal
 58  
  * @Since Tue Mar 01 15:53:51 PST 2011
 59  
  * @See <a href="https://wiki.kuali.org/display/KULSTU/LUI+Person+Relation+Service">LuiPersonRelationService</>
 60  
  */
 61  
 @WebService(name = "LuiPersonRelationService", targetNamespace = LuiPersonRelationServiceConstants.NAMESPACE)
 62  
 @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
 63  
 public interface LuiPersonRelationService extends DataDictionaryService, TypeService, StateService {
 64  
 
 65  
     /**
 66  
      * Retrieves the Relation for the specified LUI Person Relation
 67  
      *
 68  
      * @param luiPersonRelationId Identifier for the LUI Person Relation
 69  
      * @param context             Context information containing the principalId and locale information about the caller of service operation
 70  
      * @return LUI Person Relation information
 71  
      * @throws DoesNotExistException     luiPersonRelationId not found
 72  
      * @throws InvalidParameterException invalid luiPersonRelationId
 73  
      * @throws MissingParameterException missing luiPersonRelationId
 74  
      * @throws OperationFailedException  unable to complete request
 75  
      * @throws PermissionDeniedException authorization failure
 76  
      */
 77  
     public LuiPersonRelationInfo fetchLuiPersonRelation(@WebParam(name = "luiPersonRelationId") String luiPersonRelationId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 78  
 
 79  
     /**
 80  
      * Retrieves the Relation for the specified list of LUI Person Relation Ids
 81  
      *
 82  
      * @param luiPersonRelationIdList List of identifiers for LUI Person Relations
 83  
      * @param context                 Context information containing the principalId and locale information about the caller of service operation
 84  
      * @return List of LUI Person Relation information
 85  
      * @throws DoesNotExistException     One or more luiPersonRelationIds not found
 86  
      * @throws InvalidParameterException One or more invalid luiPersonRelationIds
 87  
      * @throws MissingParameterException missing luiPersonRelationIdList
 88  
      * @throws OperationFailedException  unable to complete request
 89  
      * @throws PermissionDeniedException authorization failure
 90  
      */
 91  
     public List<LuiPersonRelationInfo> findLuiPersonRelationsByIdList(@WebParam(name = "luiPersonRelationIdList") List<String> luiPersonRelationIdList, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 92  
 
 93  
     /**
 94  
      * Retrieves the LUI Ids for Person related to LUI
 95  
      *
 96  
      * @param personId              Identifier for the LUI Person Relation
 97  
      * @param luiPersonRelationTypeKey Type of LUI Person Relation
 98  
      * @param relationState         Relation State
 99  
      * @param context               Context information containing the principalId and locale information about the caller of service operation
 100  
      * @return Simple list of LUI Ids
 101  
      * @throws DoesNotExistException       personId, luiPersonRelationTypeKey, relationState, person to LUI relationship not found
 102  
      * @throws DisabledIdentifierException personId found, but has been retired
 103  
      * @throws InvalidParameterException   invalid personId, luiPersonRelationTypeKey, relationState
 104  
      * @throws MissingParameterException   missing personId, luiPersonRelationTypeKey, relationState
 105  
      * @throws OperationFailedException    unable to complete request
 106  
      * @throws PermissionDeniedException   authorization failure
 107  
      */
 108  
     public List<String> findLuiIdsRelatedToPerson(@WebParam(name = "personId") String personId, @WebParam(name = "luiPersonRelationTypeKey") String luiPersonRelationTypeKey, @WebParam(name = "relationState") String relationState, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, DisabledIdentifierException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 109  
 
 110  
     /**
 111  
      * Retrieves Person Ids related to the specified LUI
 112  
      *
 113  
      * @param luiId                 Identifier for the LUI
 114  
      * @param luiPersonRelationTypeKey Type of LUI Person Relation
 115  
      * @param relationState         Relation State
 116  
      * @param context               Context information containing the principalId and locale information about the caller of service operation
 117  
      * @return Simple list of Person Ids
 118  
      * @throws DoesNotExistException     luiId, luiPersonRelationTypeKey, relationState, LUI to person relationship not found
 119  
      * @throws InvalidParameterException invalid luiId, luiPersonRelationTypeKey, relationState
 120  
      * @throws MissingParameterException missing luiId, luiPersonRelationTypeKey, relationState
 121  
      * @throws OperationFailedException  unable to complete request
 122  
      * @throws PermissionDeniedException authorization failure
 123  
      */
 124  
     public List<String> findPersonIdsRelatedToLui(@WebParam(name = "luiId") String luiId, @WebParam(name = "luiPersonRelationTypeKey") String luiPersonRelationTypeKey, @WebParam(name = "relationState") String relationState, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 125  
 
 126  
     /**
 127  
      * Retrieves Person Relation for LUI
 128  
      *
 129  
      * @param personId Identifier for person
 130  
      * @param luiId    Identifier for LUI
 131  
      * @param context  Context information containing the principalId and locale information about the caller of service operation
 132  
      * @return List of LUI Person Relation info
 133  
      * @throws DoesNotExistException       personId, luiId not found
 134  
      * @throws DisabledIdentifierException personId found, but has been retired
 135  
      * @throws InvalidParameterException   invalid personId, luiId
 136  
      * @throws MissingParameterException   missing personId, luiId
 137  
      * @throws OperationFailedException    unable to complete request
 138  
      * @throws PermissionDeniedException   authorization failure
 139  
      */
 140  
     public List<LuiPersonRelationInfo> findLuiPersonRelations(@WebParam(name = "personId") String personId, @WebParam(name = "luiId") String luiId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, DisabledIdentifierException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 141  
 
 142  
     /**
 143  
      * Retrieves LUI Person Relation Ids
 144  
      *
 145  
      * @param personId Identifier for person
 146  
      * @param luiId    Identifier for LUI
 147  
      * @param context  Context information containing the principalId and locale information about the caller of service operation
 148  
      * @return List of LUI Person Relation display info
 149  
      * @throws DoesNotExistException       personId, luiId not found
 150  
      * @throws DisabledIdentifierException personId found, but has been retired
 151  
      * @throws InvalidParameterException   invalid personId, luiId
 152  
      * @throws MissingParameterException   missing personId, luiId
 153  
      * @throws OperationFailedException    unable to complete request
 154  
      * @throws PermissionDeniedException   authorization failure
 155  
      */
 156  
     public List<String> findLuiPersonRelationIds(@WebParam(name = "personId") String personId, @WebParam(name = "luiId") String luiId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, DisabledIdentifierException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 157  
 
 158  
     /**
 159  
      * Retrieves LUI Person Relation for Person
 160  
      *
 161  
      * @param personId Identifier for person
 162  
      * @param context  Context information containing the principalId and locale information about the caller of service operation
 163  
      * @return List of LUI Person Relation info
 164  
      * @throws DoesNotExistException       personId not found
 165  
      * @throws DisabledIdentifierException personId found, but has been retired
 166  
      * @throws InvalidParameterException   invalid personId
 167  
      * @throws MissingParameterException   missing personId
 168  
      * @throws OperationFailedException    unable to complete request
 169  
      * @throws PermissionDeniedException   authorization failure
 170  
      */
 171  
     public List<LuiPersonRelationInfo> findLuiPersonRelationsForPerson(@WebParam(name = "personId") String personId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, DisabledIdentifierException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 172  
 
 173  
     /**
 174  
      * Retrieves LUI Person Relation Ids for Person
 175  
      *
 176  
      * @param personId Identifier for person
 177  
      * @param context  Context information containing the principalId and locale information about the caller of service operation
 178  
      * @return Simple list of person relation identifiers
 179  
      * @throws DoesNotExistException       personId not found
 180  
      * @throws DisabledIdentifierException personId found, but has been retired
 181  
      * @throws InvalidParameterException   invalid personId
 182  
      * @throws MissingParameterException   missing personId
 183  
      * @throws OperationFailedException    unable to complete request
 184  
      * @throws PermissionDeniedException   authorization failure
 185  
      */
 186  
     public List<String> findLuiPersonRelationIdsForPerson(@WebParam(name = "personId") String personId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, DisabledIdentifierException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 187  
 
 188  
     /**
 189  
      * Retrieves LUI Person Relation for a specified LUI
 190  
      *
 191  
      * @param luiId   Identifier for LUI
 192  
      * @param context Context information containing the principalId and locale information about the caller of service operation
 193  
      * @return List of LUI Person Relation info
 194  
      * @throws DoesNotExistException     luiId not found
 195  
      * @throws InvalidParameterException invalid luiId
 196  
      * @throws MissingParameterException missing luiId
 197  
      * @throws OperationFailedException  unable to complete request
 198  
      * @throws PermissionDeniedException authorization failure
 199  
      */
 200  
     public List<LuiPersonRelationInfo> findLuiPersonRelationsForLui(@WebParam(name = "luiId") String luiId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 201  
 
 202  
     /**
 203  
      * Retrieves LUIPersonRelation for LUI
 204  
      *
 205  
      * @param luiId   Identifier for LUI
 206  
      * @param context Context information containing the principalId and locale information about the caller of service operation
 207  
      * @return Simple list of LUI Person Relation identifiers
 208  
      * @throws DoesNotExistException     luiId not found
 209  
      * @throws InvalidParameterException invalid luiId
 210  
      * @throws MissingParameterException missing luiId
 211  
      * @throws OperationFailedException  unable to complete request
 212  
      * @throws PermissionDeniedException authorization failure
 213  
      */
 214  
     public List<String> findLuiPersonRelationIdsForLui(@WebParam(name = "luiId") String luiId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 215  
 
 216  
     /**
 217  
      * Validates the particular relation in a state for a Person and LUI
 218  
      *
 219  
      * @param validationType             Identifier of the extent of validation
 220  
      * @param luiPersonRelationInfo      LuiPersonRelation to be validated
 221  
      * @param context               Context information containing the principalId and locale information about the caller of service operation
 222  
      * @return list of validation results, list should be be zero length if no validation rsults are generated
 223  
      * @throws DoesNotExistException       luiPersonRelationInfo not found
 224  
      * @throws InvalidParameterException   invalid luiPersonRelationInfo relationState
 225  
      * @throws MissingParameterException   missing luiPersonRelationInfo
 226  
      * @throws OperationFailedException    unable to complete request
 227  
      * @throws PermissionDeniedException   authorization failure
 228  
      */
 229  
     public List<ValidationResultInfo> validateLuiPersonRelation(@WebParam(name = "validationType") String validationType,
 230  
             @WebParam(name = "luiPersonRelationInfo") LuiPersonRelationInfo luiPersonRelationInfo,
 231  
             @WebParam(name = "context") ContextInfo context)
 232  
             throws DoesNotExistException,
 233  
             InvalidParameterException,
 234  
             MissingParameterException,
 235  
             OperationFailedException,
 236  
             PermissionDeniedException;
 237  
 
 238  
     /**
 239  
      * Retrieves LUIs for an academic time period where the specified relation type and state would be valid for the specified person
 240  
      *
 241  
      * @param personId              Identifier for person
 242  
      * @param luiPersonRelationTypeKey Type of luiPersonRelationI
 243  
      * @param relationState         Relation State
 244  
      * @param atpId                 Identifier for academic time period
 245  
      * @param context               Context information containing the principalId and locale information about the caller of service operation
 246  
      * @return List of LUIs
 247  
      * @throws DoesNotExistException       personId, luiPersonRelationTypeKey, relationState, atpId not found
 248  
      * @throws DisabledIdentifierException personId found, but has been retired
 249  
      * @throws InvalidParameterException   invalid personId, luiPersonRelationTypeKey, relationState, atpId
 250  
      * @throws MissingParameterException   missing personId, luiPersonRelationTypeKey, relationState, atpId
 251  
      * @throws OperationFailedException    unable to complete request
 252  
      * @throws PermissionDeniedException   authorization failure
 253  
      */
 254  
     public List<String> findAllValidLuisForPerson(@WebParam(name = "personId") String personId, @WebParam(name = "luiPersonRelationTypeKey") String luiPersonRelationTypeKey, @WebParam(name = "relationState") String relationState, @WebParam(name = "atpId") String atpId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, DisabledIdentifierException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 255  
 
 256  
     /**
 257  
      * Retrieves detail of LUI Person Relation Ids
 258  
      *
 259  
      * @param criteria Criteria to be used for retrieval of multiple LUI Person Relation identifiers
 260  
      * @param context                   Context information containing the principalId and locale information about the caller of service operation
 261  
      * @return Simple list of LUI Person Relation identifiers
 262  
      * @throws InvalidParameterException invalid relation criteria
 263  
      * @throws MissingParameterException missing relation criteria
 264  
      * @throws OperationFailedException  unable to complete request
 265  
      * @throws PermissionDeniedException authorization failure
 266  
      */
 267  
     public List<String> searchForLuiPersonRelationIds(@WebParam(name = "criteria") CriteriaInfo criteria, @WebParam(name = "context") ContextInfo context) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 268  
 
 269  
     /**
 270  
      * Creates relation between the specified Person and LUI
 271  
      *
 272  
      * @param personId              Person Identifier
 273  
      * @param luiId                 LUI Identifier
 274  
      * @param luiPersonRelationTypeKey Type of LUI to Person Relation
 275  
      * @param luiPersonRelationInfo Information required to create the LUI Person relation
 276  
      * @param context               Context information containing the principalId and locale information about the caller of service operation
 277  
      * @return Structure containing LUI Person relation identifiers
 278  
      * @throws AlreadyExistsException      relation already exists
 279  
      * @throws DataValidationErrorException if luiPeronsRelationInfo is not valid
 280  
      * @throws ReadOnlyException         attempt to update a read only attribute
 281  
      * @throws DoesNotExistException       personId, luiId, relationState, luiPersonRelationTypeKey does not exist
 282  
      * @throws DisabledIdentifierException personId found, but has been retired
 283  
      * @throws InvalidParameterException   invalid personId, luiId, relationState, luiPersonRelationTypeKey, luiPersonRelationInfo
 284  
      * @throws MissingParameterException   missing personId, luiId, relationState, luiPersonRelationTypeKey, luiPersonRelationInfo
 285  
      * @throws OperationFailedException    unable to complete request
 286  
      * @throws PermissionDeniedException   authorization failure
 287  
      */
 288  
     public String createLuiPersonRelation(@WebParam(name = "personId") String personId, @WebParam(name = "luiId") String luiId, @WebParam(name = "luiPersonRelationTypeKey") String luiPersonRelationTypeKey, @WebParam(name = "luiPersonRelationInfo") LuiPersonRelationInfo luiPersonRelationInfo, @WebParam(name = "context") ContextInfo context)
 289  
             throws DataValidationErrorException,
 290  
             AlreadyExistsException, DoesNotExistException, DisabledIdentifierException, ReadOnlyException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 291  
 
 292  
     /**
 293  
      * Creates bulk relationships for one specified person. This is an all or nothing transaction - any error will invalidate the entire transaction.
 294  
      *
 295  
      * @param personId              Identifier for Person
 296  
      * @param luiIdList             Simple list of LUI identifiers
 297  
      * @param relationState         Relation state
 298  
      * @param luiPersonRelationTypeKey Type of LUI Person relation
 299  
      * @param luiPersonRelationInfo Information required to create the LUI Person relation
 300  
      * @param context               Context information containing the principalId
 301  
      *                              and locale information about the caller of service
 302  
      *                              operation
 303  
      * @return Structure containing LUI Person relation identifiers
 304  
      * @throws AlreadyExistsException      relation already exists
 305  
      * @throws DataValidationErrorException if luiPeronsRelationInfo is not valid
 306  
      * @throws ReadOnlyException         attempt to update a read only attribute
 307  
      * @throws DoesNotExistException       personId, luiId, relationState, luiPersonRelationTypeKey does not exist
 308  
      * @throws DisabledIdentifierException personId found, but has been retired
 309  
      * @throws InvalidParameterException   invalid personId, luiId, relationState, luiPersonRelationTypeKey, luiPersonRelationInfo
 310  
      * @throws MissingParameterException   missing personId, luiId, relationState, luiPersonRelationTypeKey, luiPersonRelationInfo
 311  
      * @throws OperationFailedException    unable to complete request
 312  
      * @throws PermissionDeniedException   authorization failure
 313  
      */
 314  
     public List<String> createBulkRelationshipsForPerson(@WebParam(name = "personId") String personId,
 315  
             @WebParam(name = "luiIdList") List<String> luiIdList,
 316  
             @WebParam(name = "relationState") String relationState,
 317  
             @WebParam(name = "luiPersonRelationTypeKey") String luiPersonRelationTypeKey,
 318  
             @WebParam(name = "luiPersonRelationInfo") LuiPersonRelationInfo luiPersonRelationInfo,
 319  
             @WebParam(name = "context") ContextInfo context)
 320  
             throws DataValidationErrorException,
 321  
             AlreadyExistsException,
 322  
             DoesNotExistException,
 323  
             DisabledIdentifierException,
 324  
             ReadOnlyException,
 325  
             InvalidParameterException,
 326  
             MissingParameterException,
 327  
             OperationFailedException,
 328  
             PermissionDeniedException;
 329  
 
 330  
     /**
 331  
      * Creates bulk relationships for one specified LUI. This is an all or nothing transaction - any error will invalidate the entire transaction.
 332  
      *
 333  
      * @param luiId                 Identifier for Lui
 334  
      * @param personIdList          Simple list of Person identifiers
 335  
      * @param relationState         Relation state
 336  
      * @param luiPersonRelationTypeKey Type of LUI Person relation
 337  
      * @param luiPersonRelationInfo Information required to create the LUI Person relation
 338  
      * @param context               Context information containing the principalId
 339  
      *                              and locale information about the caller of service
 340  
      *                              operation
 341  
      * @return Structure containing LUI Person relation identifiers
 342  
      * @throws AlreadyExistsException      relation already exists
 343  
      * @throws DoesNotExistException       personId, luiId, relationState, luiPersonRelationTypeKey does not exist
 344  
      * @throws DisabledIdentifierException personId found, but has been retired
 345  
      * @throws DataValidationErrorException errors validating luiPersonRelationInfo with all data filled in
 346  
      * @throws InvalidParameterException   invalid personId, luiId, relationState, luiPersonRelationTypeKey, luiPersonRelationInfo
 347  
      * @throws MissingParameterException   missing personId, luiId, relationState, luiPersonRelationTypeKey, luiPersonRelationInfo
 348  
      * @throws OperationFailedException    unable to complete request
 349  
      * @throws ReadOnlyException         attempt to update a read only attribute
 350  
      * @throws PermissionDeniedException   authorization failure
 351  
      */
 352  
     public List<String> createBulkRelationshipsForLui(@WebParam(name = "luiId") String luiId,
 353  
             @WebParam(name = "personIdList") List<String> personIdList,
 354  
             @WebParam(name = "relationState") String relationState,
 355  
             @WebParam(name = "luiPersonRelationTypeKey") String luiPersonRelationTypeKey,
 356  
             @WebParam(name = "luiPersonRelationInfo") LuiPersonRelationInfo luiPersonRelationInfo,
 357  
             @WebParam(name = "context") ContextInfo context)
 358  
             throws AlreadyExistsException,
 359  
             DataValidationErrorException,
 360  
             DoesNotExistException,
 361  
             DisabledIdentifierException,
 362  
             ReadOnlyException,
 363  
             InvalidParameterException,
 364  
             MissingParameterException,
 365  
             OperationFailedException,
 366  
             PermissionDeniedException;
 367  
 
 368  
     /**
 369  
      * Update relation between Person and LUI
 370  
      *
 371  
      * @param luiPersonRelationId   Identifier for the LUI Person Relation
 372  
      * @param luiPersonRelationInfo Changed information about the LUI Person Relation
 373  
      * @param context               Context information containing the principalId
 374  
      *                              and locale information about the caller of service
 375  
      *                              operation
 376  
      * @return Updated information about the LUI Person Relation
 377  
      * @throws DataValidationErrorException if luiPersonRelationInfo is not valid
 378  
      * @throws DoesNotExistException     luiPersonRelationId does not exist
 379  
      * @throws InvalidParameterException invalid luiPersonRelationId, luiPersonRelationInfo
 380  
      * @throws MissingParameterException missing luiPersonRelationId, luiPersonRelationInfo
 381  
      * @throws ReadOnlyException         attempt to update a read only attribute
 382  
      * @throws OperationFailedException  unable to complete request
 383  
      * @throws PermissionDeniedException authorization failure
 384  
      * @throws VersionMismatchException if optimistic lock version ind has changed
 385  
      */
 386  
     public LuiPersonRelationInfo updateLuiPersonRelation(@WebParam(name = "luiPersonRelationId") String luiPersonRelationId,
 387  
             @WebParam(name = "luiPersonRelationInfo") LuiPersonRelationInfo luiPersonRelationInfo,
 388  
             @WebParam(name = "context") ContextInfo context)
 389  
             throws DoesNotExistException,
 390  
             DataValidationErrorException,
 391  
             InvalidParameterException,
 392  
             MissingParameterException,
 393  
             ReadOnlyException,
 394  
             OperationFailedException,
 395  
             PermissionDeniedException,
 396  
             VersionMismatchException;
 397  
 
 398  
     /**
 399  
      * Deletes relation between the specified Person and LUI
 400  
      *
 401  
      * @param luiPersonRelationId Identifier for the LUI Person Relation
 402  
      * @param context             Context information containing the principalId
 403  
      *                            and locale information about the caller of service
 404  
      *                            operation
 405  
      * @return status of the operation (success, failed)
 406  
      * @throws DoesNotExistException     luiPersonRelationId does not exist
 407  
      * @throws InvalidParameterException invalid luiPersonRelationId
 408  
      * @throws MissingParameterException missing luiPersonRelationId
 409  
      * @throws OperationFailedException  unable to complete request
 410  
      * @throws PermissionDeniedException authorization failure
 411  
      */
 412  
     public StatusInfo deleteLuiPersonRelation(@WebParam(name = "luiPersonRelationId") String luiPersonRelationId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 413  
 }