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