Coverage Report - org.kuali.student.r2.core.room.service.RoomService
 
Classes in this File Line Coverage Branch Coverage Complexity
RoomService
N/A
N/A
1
 
 1  
 /*
 2  
  * Copyright 2011 The Kuali Foundation Licensed under the
 3  
  *  Educational Community License, Version 2.0 (the "License"); you may
 4  
  *  not use this file except in compliance with the License. You may
 5  
  *  obtain a copy of the License at
 6  
  *
 7  
  *   http://www.osedu.org/licenses/ECL-2.0
 8  
  *
 9  
  *  Unless required by applicable law or agreed to in writing,
 10  
  *  software distributed under the License is distributed on an "AS IS"
 11  
  *  BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 12  
  *  or implied. See the License for the specific language governing
 13  
  *  permissions and limitations under the License.
 14  
  */
 15  
 
 16  
 package org.kuali.student.r2.core.room.service;
 17  
 
 18  
 import org.kuali.rice.core.api.criteria.QueryByCriteria;
 19  
 import org.kuali.student.r2.common.dto.ContextInfo;
 20  
 import org.kuali.student.r2.common.dto.StatusInfo;
 21  
 import org.kuali.student.r2.common.dto.ValidationResultInfo;
 22  
 import org.kuali.student.r2.common.exceptions.AlreadyExistsException;
 23  
 import org.kuali.student.r2.common.exceptions.DataValidationErrorException;
 24  
 import org.kuali.student.r2.common.exceptions.DoesNotExistException;
 25  
 import org.kuali.student.r2.common.exceptions.InvalidParameterException;
 26  
 import org.kuali.student.r2.common.exceptions.MissingParameterException;
 27  
 import org.kuali.student.r2.common.exceptions.OperationFailedException;
 28  
 import org.kuali.student.r2.common.exceptions.PermissionDeniedException;
 29  
 import org.kuali.student.r2.common.exceptions.ReadOnlyException;
 30  
 import org.kuali.student.r2.common.exceptions.VersionMismatchException;
 31  
 import org.kuali.student.r2.common.util.constants.RoomServiceConstants;
 32  
 import org.kuali.student.r2.core.room.dto.BuildingInfo;
 33  
 import org.kuali.student.r2.core.room.dto.RoomInfo;
 34  
 import org.kuali.student.r2.core.room.dto.RoomResponsibleOrgInfo;
 35  
 
 36  
 import javax.jws.WebParam;
 37  
 import javax.jws.WebService;
 38  
 import javax.jws.soap.SOAPBinding;
 39  
 import java.util.List;
 40  
 
 41  
 /**
 42  
  *
 43  
  * Room Service Description and Assumptions
 44  
  *
 45  
  * If a room is e62-221, the Building code is "e62" and the Room code is "221".
 46  
  * The Room will always be referenced by the internal Room Id and not the code
 47  
  * when used by other KS services.
 48  
  *
 49  
  * @Version 2.0
 50  
  * @Author Sri komandur@uw.edu
 51  
  */
 52  
 @WebService(name = "RoomService", targetNamespace = RoomServiceConstants.NAMESPACE)
 53  
 @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
 54  
 
 55  
 public interface RoomService {
 56  
 
 57  
     /**
 58  
      * Retrieves a Room
 59  
      *
 60  
      * @param roomId      a unique Id of a Room
 61  
      * @param contextInfo Context information containing the
 62  
      *                    principalId and locale information about the caller of
 63  
      *                    service operation
 64  
      * @return a Room
 65  
      * @throws DoesNotExistException     roomId not found
 66  
      * @throws InvalidParameterException invalid contextInfo
 67  
      * @throws MissingParameterException missing roomId or contextInfo
 68  
      * @throws OperationFailedException  unable to complete request
 69  
      * @throws PermissionDeniedException authorization failure
 70  
      */
 71  
     public RoomInfo getRoom(@WebParam(name = "roomId") String roomId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 72  
 
 73  
     /**
 74  
      * Retrieves a list of Rooms corresponding to the given list
 75  
      * of Room Ids.
 76  
      *
 77  
      * @param roomIds     list of Rooms to be retrieved
 78  
      * @param contextInfo Context information containing the
 79  
      *                    principalId and locale information about the caller of
 80  
      *                    service operation
 81  
      * @return a list of Rooms
 82  
      * @throws DoesNotExistException     a roomId in list not found
 83  
      * @throws InvalidParameterException invalid contextInfo
 84  
      * @throws MissingParameterException missing roomId or contextInfo
 85  
      * @throws OperationFailedException  unable to complete request
 86  
      * @throws PermissionDeniedException authorization failure
 87  
      */
 88  
     public List<RoomInfo> getRoomsByIds(@WebParam(name = "roomIds") List<String> roomIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 89  
 
 90  
     /**
 91  
      * Retrieves a list of Rooms corresponding to the given Building id
 92  
      *
 93  
      * @param buildingId  a unique Id of a Building
 94  
      * @param contextInfo Context information containing the
 95  
      *                    principalId and locale information about the caller of
 96  
      *                    service operation
 97  
      * @return a list of Room Ids
 98  
      * @throws DoesNotExistException     buildingId not found
 99  
      * @throws InvalidParameterException invalid contextInfo
 100  
      * @throws MissingParameterException missing buildingId or contextInfo
 101  
      * @throws OperationFailedException  unable to complete request
 102  
      * @throws PermissionDeniedException authorization failure
 103  
      */
 104  
     public List<String> getRoomIdsByBuilding(@WebParam(name = "buildingId") String buildingId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 105  
 
 106  
     /**
 107  
      * Retrieves a list of Rooms corresponding to the given Building id and Floor
 108  
      *
 109  
      * @param buildingId  a unique Id of a Building
 110  
      * @param floor    floor
 111  
      * @param contextInfo Context information containing the
 112  
      *                    principalId and locale information about the caller of
 113  
      *                    service operation
 114  
      * @return a list of Room Ids
 115  
      * @throws DoesNotExistException     buildingId not found
 116  
      * @throws InvalidParameterException invalid floor, contextInfo
 117  
      * @throws MissingParameterException missing buildingId, floor or contextInfo
 118  
      * @throws OperationFailedException  unable to complete request
 119  
      * @throws PermissionDeniedException authorization failure
 120  
      */
 121  
     public List<String> getRoomIdsByBuildingAndFloor(@WebParam(name = "buildingId") String buildingId, @WebParam(name = "floor") String floor, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 122  
 
 123  
     /**
 124  
      * Retrieves a list of Rooms corresponding to the Room Type key
 125  
      *
 126  
      * @param roomTypeKey a Room Type key
 127  
      * @param contextInfo Context information containing the
 128  
      *                    principalId and locale information about the caller of
 129  
      *                    service operation
 130  
      * @return a list of Room Ids
 131  
      * @throws InvalidParameterException invalid contextInfo
 132  
      * @throws MissingParameterException missing roomTypeKey or
 133  
      *                                   contextInfo
 134  
      * @throws OperationFailedException  unable to complete request
 135  
      * @throws PermissionDeniedException authorization failure
 136  
      */
 137  
     public List<String> getRoomIdsByType(@WebParam(name = "roomTypeKey") String roomTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 138  
 
 139  
     /**
 140  
      * Retrieves a list of Rooms corresponding to the given Building id and Room Type key
 141  
      *
 142  
      * @param buildingId  a unique Id of a Building
 143  
      * @param roomTypeKey a Room Type key
 144  
      * @param contextInfo Context information containing the
 145  
      *                    principalId and locale information about the caller of
 146  
      *                    service operation
 147  
      * @return a list of Room Ids
 148  
      * @throws DoesNotExistException     buildingId not found
 149  
      * @throws InvalidParameterException invalid contextInfo
 150  
      * @throws MissingParameterException missing buildingId, roomTypeKey or contextInfo
 151  
      * @throws OperationFailedException  unable to complete request
 152  
      * @throws PermissionDeniedException authorization failure
 153  
      */
 154  
     public List<String> getRoomIdsByBuildingAndRoomType(@WebParam(name = "buildingId") String buildingId, @WebParam(name = "roomTypeKey") String roomTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 155  
 
 156  
     /**
 157  
      * Retrieves a list of Rooms corresponding to the given Building id and a list of Room Usage Type keys
 158  
      *
 159  
      * @param buildingId        a unique Id of a Building
 160  
      * @param roomUsageTypeKeys a list of Room Usage Type keys
 161  
      * @param contextInfo       Context information containing the
 162  
      *                          principalId and locale information about the caller of
 163  
      *                          service operation
 164  
      * @return a list of Room Ids
 165  
      * @throws DoesNotExistException     buildingId not found
 166  
      * @throws InvalidParameterException invalid contextInfo
 167  
      * @throws MissingParameterException missing buildingId, roomUsageTypeKeys or contextInfo
 168  
      * @throws OperationFailedException  unable to complete request
 169  
      * @throws PermissionDeniedException authorization failure
 170  
      */
 171  
     public List<String> getRoomsByBuildingAndRoomUsageTypes(@WebParam(name = "buildingId") String buildingId, @WebParam(name = "roomUsageTypeKeys") List<String> roomUsageTypeKeys, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 172  
 
 173  
     /**
 174  
      * Retrieves a list of Rooms corresponding to the given Building id and a list of Resource Type keys
 175  
      *
 176  
      * @param buildingId       a unique Id of a Building
 177  
      * @param roomTypeKeys     a list of Room Type keys
 178  
      * @param contextInfo      Context information containing the
 179  
      *                         principalId and locale information about the caller of
 180  
      *                         service operation
 181  
      * @return a list of Room Keys
 182  
      * @throws DoesNotExistException     buildingId not found
 183  
      * @throws InvalidParameterException invalid contextInfo
 184  
      * @throws MissingParameterException missing buildingId, roomTypeKeys or contextInfo
 185  
      * @throws OperationFailedException  unable to complete request
 186  
      * @throws PermissionDeniedException authorization failure
 187  
      */
 188  
     public List<String> getRoomIdsByBuildingAndRoomTypes(@WebParam(name = "buildingId") String buildingId, @WebParam(name = "roomTypeKeys") List<String> roomTypeKeys, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 189  
 
 190  
     /**
 191  
      * Searches for Rooms based on the criteria and
 192  
      * returns a list of Room identifiers which match the search
 193  
      * criteria.
 194  
      *
 195  
      * @param criteria    the search criteria
 196  
      * @param contextInfo Context information containing the
 197  
      *                    principalId and locale information about the caller of
 198  
      *                    service operation
 199  
      * @return list of Room Ids
 200  
      * @throws InvalidParameterException invalid criteria or contextInfo
 201  
      * @throws MissingParameterException missing criteria or contextInfo
 202  
      * @throws OperationFailedException  unable to complete request
 203  
      * @throws PermissionDeniedException authorization failure
 204  
      */
 205  
     public List<String> searchForRoomIds(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 206  
 
 207  
     /**
 208  
      * Searches for Rooms based on the criteria and
 209  
      * returns a list of Rooms which match the search
 210  
      * criteria.
 211  
      *
 212  
      * @param criteria    the search criteria
 213  
      * @param contextInfo Context information containing the
 214  
      *                    principalId and locale information about the caller of
 215  
      *                    service operation
 216  
      * @return list of Rooms
 217  
      * @throws InvalidParameterException invalid criteria or contextInfo
 218  
      * @throws MissingParameterException missing criteria or contextInfo
 219  
      * @throws OperationFailedException  unable to complete request
 220  
      * @throws PermissionDeniedException authorization failure
 221  
      */
 222  
     public List<RoomInfo> searchForRooms(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 223  
 
 224  
 
 225  
     /**
 226  
      * Validates a Room. Depending on the value of validationType,
 227  
      * this validation could be limited to tests on just the current
 228  
      * object and its directly contained sub-objects or expanded to
 229  
      * perform all tests related to this object. If an identifier is
 230  
      * present for the Process and a record is found for that
 231  
      * identifier, the validation checks if the Process can be shifted
 232  
      * to the new values. If a record cannot be found for the
 233  
      * identifier, it is assumed that the record does not exist and as
 234  
      * such, the checks performed will be much shallower, typically
 235  
      * mimicking those performed by setting the validationType to the
 236  
      * current object. This is a slightly different pattern from the
 237  
      * standard validation as the caller provides the identifier in
 238  
      * the create statement instead of the server assigning an
 239  
      * identifier.
 240  
      *
 241  
      * @param validationTypeKey the identifier of the extent of validation
 242  
      * @param buildingId Id of the building the room is in
 243  
      * @param roomTypeKey a Room Type key
 244  
      * @param roomInfo the Room information to be tested
 245  
      * @param contextInfo Context information containing the
 246  
      *        principalId and locale information about the caller of
 247  
      *        service operation
 248  
      * @return Results from performing the validation
 249  
      * @throws DoesNotExistException validationTypeKey, buildingId not found
 250  
      * @throws InvalidParameterException invalid roomInfo or contextInfo
 251  
      * @throws MissingParameterException missing validationTypeKey,
 252  
      *         roomInfo, or contextInfo
 253  
      * @throws OperationFailedException unable to complete request
 254  
      * @throws PermissionDeniedException authorization failure
 255  
      */
 256  
     public List<ValidationResultInfo> validateRoom(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "buildingId") String buildingId, @WebParam(name = "roomTypeKey") String roomTypeKey, @WebParam(name = "roomInfo") RoomInfo roomInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 257  
 
 258  
     /**
 259  
      * Creates a new Room
 260  
      *
 261  
      * @param buildingId Id of the building the room is in
 262  
      * @param roomTypeKey a Room Type key
 263  
      * @param roomInfo    the details of Room to be created
 264  
      * @param contextInfo Context information containing the
 265  
      *                    principalId and locale information about the caller of
 266  
      *                    service operation
 267  
      * @return the Room just created
 268  
      * @throws AlreadyExistsException       the Room being created already exists
 269  
      * @throws DataValidationErrorException one or more values invalid
 270  
      *                                      for this operation
 271  
      * @throws DoesNotExistException        buildingId does not exist
 272  
      * @throws InvalidParameterException    invalid roomInfo or contextInfo
 273  
      * @throws MissingParameterException    missing roomInfo or contextInfo
 274  
      * @throws OperationFailedException     unable to complete request
 275  
      * @throws PermissionDeniedException    authorization failure
 276  
      * @throws ReadOnlyException            an attempt at supplying information
 277  
      *                                      designated as read-only
 278  
      */
 279  
     public RoomInfo createRoom(@WebParam(name = "buildingId") String buildingId, @WebParam(name = "roomTypeKey") String roomTypeKey, @WebParam(name = "roomInfo") RoomInfo roomInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws AlreadyExistsException, DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 280  
 
 281  
     /**
 282  
      * Updates an existing Room
 283  
      *
 284  
      * @param roomId      the Id of Room to be updated
 285  
      * @param roomInfo    the details of updates to Room being updated
 286  
      * @param contextInfo Context information containing the
 287  
      *                    principalId and locale information about the caller of
 288  
      *                    service operation
 289  
      * @return the details of Room just updated
 290  
      * @throws DataValidationErrorException One or more values invalid
 291  
      *                                      for this operation
 292  
      * @throws DoesNotExistException        roomId not found
 293  
      * @throws InvalidParameterException    invalid roomInfo or contextInfo
 294  
      * @throws MissingParameterException    missing roomId,
 295  
      *                                      roomInfo, or contextInfo
 296  
      * @throws OperationFailedException     unable to complete request
 297  
      * @throws PermissionDeniedException    authorization failure
 298  
      * @throws ReadOnlyException            an attempt at supplying information
 299  
      *                                      designated as read-only
 300  
      * @throws VersionMismatchException     The action was attempted on an out
 301  
      *                                      of date version.
 302  
      */
 303  
     public RoomInfo updateRoom(@WebParam(name = "roomId") String roomId, @WebParam(name = "roomInfo") RoomInfo roomInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
 304  
 
 305  
     /**
 306  
      * Deletes an existing Room
 307  
      *
 308  
      * @param roomId      the Id of the Room to be deleted
 309  
      * @param contextInfo Context information containing the
 310  
      *                    principalId and locale information about the caller of
 311  
      *                    service operation
 312  
      * @return status of the operation (success, failed)
 313  
      * @throws DoesNotExistException     roomId not found
 314  
      * @throws InvalidParameterException invalid contextInfo
 315  
      * @throws MissingParameterException missing roomId or contextInfo
 316  
      * @throws OperationFailedException  unable to complete request
 317  
      * @throws PermissionDeniedException authorization failure
 318  
      */
 319  
     public StatusInfo deleteRoom(@WebParam(name = "roomId") String roomId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 320  
 
 321  
     /**
 322  
      * Retrieves a Building
 323  
      *
 324  
      * @param buildingId  a unique Id of a Building
 325  
      * @param contextInfo Context information containing the
 326  
      *                    principalId and locale information about the caller of
 327  
      *                    service operation
 328  
      * @return a Building
 329  
      * @throws DoesNotExistException     buildingId not found
 330  
      * @throws InvalidParameterException invalid contextInfo
 331  
      * @throws MissingParameterException missing buildingId or contextInfo
 332  
      * @throws OperationFailedException  unable to complete request
 333  
      * @throws PermissionDeniedException authorization failure
 334  
      */
 335  
     public BuildingInfo getBuilding(@WebParam(name = "buildingId") String buildingId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 336  
 
 337  
     /**
 338  
      * Retrieves a list of Buildings corresponding to the given list
 339  
      * of Building Ids.
 340  
      *
 341  
      * @param buildingIds list of Buildings to be retrieved
 342  
      * @param contextInfo Context information containing the
 343  
      *                    principalId and locale information about the caller of
 344  
      *                    service operation
 345  
      * @return a list of Buildings
 346  
      * @throws DoesNotExistException     a buildingId in list not found
 347  
      * @throws InvalidParameterException invalid contextInfo
 348  
      * @throws MissingParameterException missing buildingId or contextInfo
 349  
      * @throws OperationFailedException  unable to complete request
 350  
      * @throws PermissionDeniedException authorization failure
 351  
      */
 352  
     public List<BuildingInfo> getBuildingsByIds(@WebParam(name = "buildingIds") List<String> buildingIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 353  
 
 354  
     /**
 355  
      * Retrieves a list of Buildings corresponding to the Campus id
 356  
      *
 357  
      * @param campusKey    a unique Id of a Building
 358  
      * @param contextInfo Context information containing the
 359  
      *                    principalId and locale information about the caller of
 360  
      *                    service operation
 361  
      * @return a list of Building Ids
 362  
      * @throws DoesNotExistException     campusKey not found
 363  
      * @throws InvalidParameterException invalid contextInfo
 364  
      * @throws MissingParameterException missing campusKey or contextInfo
 365  
      * @throws OperationFailedException  unable to complete request
 366  
      * @throws PermissionDeniedException authorization failure
 367  
      */
 368  
     public List<String> getBuildingIdsByCampus(@WebParam(name = "campusKey") String campusKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 369  
     /**
 370  
      * Searches for Buildings based on the criteria and
 371  
      * returns a list of Building Ids which match the search
 372  
      * criteria.
 373  
      *
 374  
      * @param criteria    the search criteria
 375  
      * @param contextInfo Context information containing the
 376  
      *                    principalId and locale information about the caller of
 377  
      *                    service operation
 378  
      * @return list of Building Ids
 379  
      * @throws InvalidParameterException invalid criteria or contextInfo
 380  
      * @throws MissingParameterException missing criteria or contextInfo
 381  
      * @throws OperationFailedException  unable to complete request
 382  
      * @throws PermissionDeniedException authorization failure
 383  
      */
 384  
     public List<String> searchForBuildingIds(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 385  
 
 386  
     /**
 387  
      * Searches for Buildings based on the criteria and
 388  
      * returns a list of Buildings which match the search
 389  
      * criteria.
 390  
      *
 391  
      * @param criteria    the search criteria
 392  
      * @param contextInfo Context information containing the
 393  
      *                    principalId and locale information about the caller of
 394  
      *                    service operation
 395  
      * @return list of Buildings
 396  
      * @throws InvalidParameterException invalid criteria or contextInfo
 397  
      * @throws MissingParameterException missing criteria or contextInfo
 398  
      * @throws OperationFailedException  unable to complete request
 399  
      * @throws PermissionDeniedException authorization failure
 400  
      */
 401  
     public List<BuildingInfo> searchForBuildings(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 402  
 
 403  
     /**
 404  
      * Validates a Building. Depending on the value of validationType,
 405  
      * this validation could be limited to tests on just the current
 406  
      * object and its directly contained sub-objects or expanded to
 407  
      * perform all tests related to this object. If an identifier is
 408  
      * present for the Process and a record is found for that
 409  
      * identifier, the validation checks if the Process can be shifted
 410  
      * to the new values. If a record cannot be found for the
 411  
      * identifier, it is assumed that the record does not exist and as
 412  
      * such, the checks performed will be much shallower, typically
 413  
      * mimicking those performed by setting the validationType to the
 414  
      * current object. This is a slightly different pattern from the
 415  
      * standard validation as the caller provides the identifier in
 416  
      * the create statement instead of the server assigning an
 417  
      * identifier.
 418  
      *
 419  
      * @param buildingTypeKey Building Type key
 420  
      * @param validationTypeKey the identifier of the extent of validation
 421  
      * @param buildingInfo the Building information to be tested
 422  
      * @param contextInfo Context information containing the
 423  
      *        principalId and locale information about the caller of
 424  
      *        service operation
 425  
      * @return Results from performing the validation
 426  
      * @throws DoesNotExistException buildingTypeKey, validationTypeKey not found
 427  
      * @throws InvalidParameterException invalid buildingInfo or contextInfo
 428  
      * @throws MissingParameterException missing validationTypeKey,
 429  
      *         buildingInfo, or contextInfo
 430  
      * @throws OperationFailedException unable to complete request
 431  
      * @throws PermissionDeniedException authorization failure
 432  
      */
 433  
     public List<ValidationResultInfo> validateBuilding(@WebParam(name = "buildingTypeKey") String buildingTypeKey, @WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "buildingInfo") BuildingInfo buildingInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 434  
 
 435  
     /**
 436  
      * Creates a new Building
 437  
      *
 438  
      * @param buildingTypeKey Building Type key
 439  
      * @param buildingInfo the details of Building to be created
 440  
      * @param contextInfo  Context information containing the
 441  
      *                     principalId and locale information about the caller of
 442  
      *                     service operation
 443  
      * @return the Building just created
 444  
      * @throws AlreadyExistsException       the Building being created already exists
 445  
      * @throws DataValidationErrorException one or more values invalid
 446  
      *                                      for this operation
 447  
      * @throws DoesNotExistException        buildingTypeKey does not exist or is not supported
 448  
      * @throws InvalidParameterException    invalid buildingInfo or contextInfo
 449  
      * @throws MissingParameterException    missing buildingInfo or contextInfo
 450  
      * @throws OperationFailedException     unable to complete request
 451  
      * @throws PermissionDeniedException    authorization failure
 452  
      * @throws ReadOnlyException            an attempt at supplying information
 453  
      *                                      designated as read-only
 454  
      */
 455  
     public BuildingInfo createBuilding(@WebParam(name = "buildingTypeKey") String buildingTypeKey, @WebParam(name = "buildingInfo") BuildingInfo buildingInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws AlreadyExistsException, DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 456  
 
 457  
     /**
 458  
      * Updates an existing Building
 459  
      *
 460  
      * @param buildingId   the Id of Building to be updated
 461  
      * @param buildingInfo the details of updates to Building being updated
 462  
      * @param contextInfo  Context information containing the
 463  
      *                     principalId and locale information about the caller of
 464  
      *                     service operation
 465  
      * @return the details of Building just updated
 466  
      * @throws DataValidationErrorException One or more values invalid
 467  
      *                                      for this operation
 468  
      * @throws DoesNotExistException        buildingId not found
 469  
      * @throws InvalidParameterException    invalid buildingInfo, or contextInfo
 470  
      * @throws MissingParameterException    missing buildingId,
 471  
      *                                      buildingInfo, or contextInfo
 472  
      * @throws OperationFailedException     unable to complete request
 473  
      * @throws PermissionDeniedException    authorization failure
 474  
      * @throws ReadOnlyException            an attempt at supplying information
 475  
      *                                      designated as read-only
 476  
      * @throws VersionMismatchException     The action was attempted on an out
 477  
      *                                      of date version.
 478  
      */
 479  
     public BuildingInfo updateBuilding(@WebParam(name = "buildingId") String buildingId, @WebParam(name = "buildingInfo") BuildingInfo buildingInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
 480  
 
 481  
     /**
 482  
      * Deletes an existing Building
 483  
      *
 484  
      * @param buildingId  the Id of the Building to be deleted
 485  
      * @param contextInfo Context information containing the
 486  
      *                    principalId and locale information about the caller of
 487  
      *                    service operation
 488  
      * @return status of the operation (success, failed)
 489  
      * @throws DoesNotExistException     buildingId not found
 490  
      * @throws InvalidParameterException invalid contextInfo
 491  
      * @throws MissingParameterException missing buildingId or contextInfo
 492  
      * @throws OperationFailedException  unable to complete request
 493  
      * @throws PermissionDeniedException authorization failure
 494  
      */
 495  
     public StatusInfo deleteBuilding(@WebParam(name = "buildingId") String buildingId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 496  
 
 497  
     /**
 498  
      * Retrieves a Room Responsible Org
 499  
      *
 500  
      * @param roomResponsibleOrgId a unique Id of a Room Responsible Org
 501  
      * @param contextInfo    Context information containing the
 502  
      *                       principalId and locale information about the caller of
 503  
      *                       service operation
 504  
      * @return a Room Responsible Org
 505  
      * @throws DoesNotExistException     roomResponsibleOrgId not found
 506  
      * @throws InvalidParameterException invalid contextInfo
 507  
      * @throws MissingParameterException missing roomResponsibleOrgId or contextInfo
 508  
      * @throws OperationFailedException  unable to complete request
 509  
      * @throws PermissionDeniedException authorization failure
 510  
      */
 511  
     public RoomResponsibleOrgInfo getRoomResponsibleOrg(@WebParam(name = "roomResponsibleOrgId") String roomResponsibleOrgId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 512  
 
 513  
     /**
 514  
      * Retrieves a list of Room Responsible Orgs corresponding to the given list
 515  
      * of Room Ids.
 516  
      *
 517  
      * @param roomResponsibleOrgIds     list of Room Responsible Ids
 518  
      * @param contextInfo Context information containing the
 519  
      *                    principalId and locale information about the caller of
 520  
      *                    service operation
 521  
      * @return a list of Room Responsible Orgs
 522  
      * @throws DoesNotExistException     a roomResponsibleOrgId in list not found
 523  
      * @throws InvalidParameterException invalid contextInfo
 524  
      * @throws MissingParameterException missing roomResponsibleOrgIds or contextInfo
 525  
      * @throws OperationFailedException  unable to complete request
 526  
      * @throws PermissionDeniedException authorization failure
 527  
      */
 528  
     public List<RoomResponsibleOrgInfo> getRoomResponsibleOrgsByIds(@WebParam(name = "roomResponsibleOrgIds") List<String> roomResponsibleOrgIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 529  
 
 530  
     /**
 531  
      * Retrieves a list of Room Responsible Orgs corresponding to the Room Responsible Org Type key
 532  
      *
 533  
      * @param roomResponsibleOrgTypeKey a Room Responsible Org Type key
 534  
      * @param contextInfo        Context information containing the
 535  
      *                           principalId and locale information about the caller of
 536  
      *                           service operation
 537  
      * @return a list of Room Responsible Org Ids
 538  
      * @throws InvalidParameterException invalid contextInfo
 539  
      * @throws MissingParameterException missing roomResponsibleOrgTypeKey or
 540  
      *                                   contextInfo
 541  
      * @throws OperationFailedException  unable to complete request
 542  
      * @throws PermissionDeniedException authorization failure
 543  
      */
 544  
     public List<String> getRoomResponsibleOrgIdsByType(@WebParam(name = "roomResponsibleOrgTypeKey") String roomResponsibleOrgTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 545  
 
 546  
     /**
 547  
      * Retrieves a list of Room Responsible Org Ids corresponding to the Room id
 548  
      *
 549  
      * @param roomId      a unique Id of a Room
 550  
      * @param contextInfo Context information containing the
 551  
      *                    principalId and locale information about the caller of
 552  
      *                    service operation
 553  
      * @return a list of Room Responsible Org Ids
 554  
      * @throws DoesNotExistException     roomId not found
 555  
      * @throws InvalidParameterException invalid contextInfo
 556  
      * @throws MissingParameterException missing roomId or contextInfo
 557  
      * @throws OperationFailedException  unable to complete request
 558  
      * @throws PermissionDeniedException authorization failure
 559  
      */
 560  
     public List<String> getRoomResponsibleOrgIdsByRoom(@WebParam(name = "roomId") String roomId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 561  
 
 562  
     /**
 563  
      * Retrieves a list of Room Responsible Orgs corresponding to the Building id
 564  
      *
 565  
      * @param buildingId  a unique Id of a Building
 566  
      * @param contextInfo Context information containing the
 567  
      *                    principalId and locale information about the caller of
 568  
      *                    service operation
 569  
      * @return a list of Room Responsible Org Ids
 570  
      * @throws DoesNotExistException     buildingId not found
 571  
      * @throws InvalidParameterException invalid contextInfo
 572  
      * @throws MissingParameterException missing buildingId or contextInfo
 573  
      * @throws OperationFailedException  unable to complete request
 574  
      * @throws PermissionDeniedException authorization failure
 575  
      */
 576  
     public List<String> getRoomResponsibleOrgIdsForBuilding(@WebParam(name = "buildingId") String buildingId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 577  
 
 578  
     /**
 579  
      * Searches for Room Responsible Orgs based on the criteria and
 580  
      * returns a list of Room Responsible Org identifiers which match the search
 581  
      * criteria.
 582  
      *
 583  
      * @param criteria    the search criteria
 584  
      * @param contextInfo Context information containing the
 585  
      *                    principalId and locale information about the caller of
 586  
      *                    service operation
 587  
      * @return list of Room Responsible Ids
 588  
      * @throws InvalidParameterException invalid criteria or contextInfo
 589  
      * @throws MissingParameterException missing criteria or contextInfo
 590  
      * @throws OperationFailedException  unable to complete request
 591  
      * @throws PermissionDeniedException authorization failure
 592  
      */
 593  
     public List<String> searchForRoomResponsibleOrgIds(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 594  
 
 595  
     /**
 596  
      * Searches for Room Responsible Orgs based on the criteria and
 597  
      * returns a list of Room Responsible Orgs which match the search
 598  
      * criteria.
 599  
      *
 600  
      * @param criteria    the search criteria
 601  
      * @param contextInfo Context information containing the
 602  
      *                    principalId and locale information about the caller of
 603  
      *                    service operation
 604  
      * @return list of Room Responsible Orgs
 605  
      * @throws InvalidParameterException invalid criteria or contextInfo
 606  
      * @throws MissingParameterException missing criteria or contextInfo
 607  
      * @throws OperationFailedException  unable to complete request
 608  
      * @throws PermissionDeniedException authorization failure
 609  
      */
 610  
     public List<RoomResponsibleOrgInfo> searchForRoomResponsibleOrgs(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 611  
 
 612  
     /**
 613  
      * Validates a RoomResponsibleOrg. Depending on the value of validationType,
 614  
      * this validation could be limited to tests on just the current
 615  
      * object and its directly contained sub-objects or expanded to
 616  
      * perform all tests related to this object. If an identifier is
 617  
      * present for the Process and a record is found for that
 618  
      * identifier, the validation checks if the Process can be shifted
 619  
      * to the new values. If a record cannot be found for the
 620  
      * identifier, it is assumed that the record does not exist and as
 621  
      * such, the checks performed will be much shallower, typically
 622  
      * mimicking those performed by setting the validationType to the
 623  
      * current object. This is a slightly different pattern from the
 624  
      * standard validation as the caller provides the identifier in
 625  
      * the create statement instead of the server assigning an
 626  
      * identifier.
 627  
      *
 628  
      * @param validationTypeKey the identifier of the extent of validation
 629  
      * @param roomId   room Id
 630  
      * @param orgId    org Id
 631  
      * @param roomResponsibleOrgTypeKey Type of Room Responsible Org
 632  
      * @param roomResponsibleOrgInfo the Room Responsible Org information to be tested
 633  
      * @param contextInfo Context information containing the
 634  
      *        principalId and locale information about the caller of
 635  
      *        service operation
 636  
      * @return Results from performing the validation
 637  
      * @throws DoesNotExistException roomId, orgId not found
 638  
      * @throws InvalidParameterException invalid roomResponsibleOrgInfo or contextInfo
 639  
      * @throws MissingParameterException missing validationTypeKey, roomId, orgId,
 640  
      *         roomResponsibleOrgInfo or contextInfo
 641  
      * @throws OperationFailedException unable to complete request
 642  
      * @throws PermissionDeniedException authorization failure
 643  
      */
 644  
     public List<ValidationResultInfo> validateRoomResponsibleOrg(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "roomId") String roomId, @WebParam(name = "orgId") String orgId, @WebParam(name = "roomResponsibleOrgTypeKey") String roomResponsibleOrgTypeKey, @WebParam(name = "roomResponsibleOrgInfo") RoomResponsibleOrgInfo roomResponsibleOrgInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 645  
 
 646  
     /**
 647  
      * Creates a new Room Responsible Org
 648  
      *
 649  
      * @param roomId room identifier
 650  
      * @param orgId  org identifier
 651  
      * @param roomResponsibleOrgTypeKey Type of Room Responsible Org
 652  
      * @param roomResponsibleOrgInfo the details of Room Responsible Org to be created
 653  
      * @param contextInfo     Context information containing the
 654  
      *                        principalId and locale information about the caller of
 655  
      *                        service operation
 656  
      * @return the Room Responsible Org just created
 657  
      * @throws AlreadyExistsException       the Room Responsible Org being created already exists
 658  
      * @throws DataValidationErrorException one or more values invalid
 659  
      *                                      for this operation
 660  
      * @throws DoesNotExistException        roomId or orgId not found
 661  
      * @throws InvalidParameterException    invalid roomResponsibleOrgInfo or contextInfo
 662  
      * @throws MissingParameterException    missing roomId, orgId, roomResponsibleOrgTypeKey, roomResponsibleOrgInfo or contextInfo
 663  
      * @throws OperationFailedException     unable to complete request
 664  
      * @throws PermissionDeniedException    authorization failure
 665  
      * @throws ReadOnlyException            an attempt at supplying information
 666  
      *                                      designated as read-only
 667  
      */
 668  
     public RoomResponsibleOrgInfo createRoomResponsibleOrg(@WebParam(name = "roomId") String roomId, @WebParam(name = "orgId") String orgId, @WebParam(name = "roomResponsibleOrgTypeKey") String roomResponsibleOrgTypeKey, @WebParam(name = "roomResponsibleOrgInfo") RoomResponsibleOrgInfo roomResponsibleOrgInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 669  
 
 670  
     /**
 671  
      * Updates an existing Room Responsible Org
 672  
      *
 673  
      * @param roomResponsibleOrgId  the Id of Room Responsible Org to be updated
 674  
      * @param roomResponsibleOrgInfo the details of updates to Room Responsible Org being updated
 675  
      * @param contextInfo     Context information containing the
 676  
      *                        principalId and locale information about the caller of
 677  
      *                        service operation
 678  
      * @return the details of Room Responsible Org just updated
 679  
      * @throws DataValidationErrorException One or more values invalid
 680  
      *                                      for this operation
 681  
      * @throws DoesNotExistException        roomResponsibleOrgId not found
 682  
      * @throws InvalidParameterException    invalid roomResponsibleOrgInfo or contextInfo
 683  
      * @throws MissingParameterException    missing roomResponsibleOrgId,
 684  
      *                                      roomResponsibleOrgInfo, or contextInfo
 685  
      * @throws OperationFailedException     unable to complete request
 686  
      * @throws PermissionDeniedException    authorization failure
 687  
      * @throws ReadOnlyException            an attempt at supplying information
 688  
      *                                      designated as read-only
 689  
      * @throws VersionMismatchException     The action was attempted on an out
 690  
      *                                      of date version.
 691  
      */
 692  
     public RoomResponsibleOrgInfo updateRoomResponsibleOrg(@WebParam(name = "roomResponsibleOrgId") String roomResponsibleOrgId, @WebParam(name = "roomResponsibleOrgInfo") RoomResponsibleOrgInfo roomResponsibleOrgInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
 693  
 
 694  
     /**
 695  
      * Deletes an existing Room Responsible Org
 696  
      *
 697  
      * @param roomResponsibleOrgId the Id of the Room Responsible Org to be deleted
 698  
      * @param contextInfo    Context information containing the
 699  
      *                       principalId and locale information about the caller of
 700  
      *                       service operation
 701  
      * @return status of the operation (success, failed)
 702  
      * @throws DoesNotExistException     roomResponsibleOrgId not found
 703  
      * @throws InvalidParameterException invalid contextInfo
 704  
      * @throws MissingParameterException missing roomResponsibleOrgId or contextInfo
 705  
      * @throws OperationFailedException  unable to complete request
 706  
      * @throws PermissionDeniedException authorization failure
 707  
      */
 708  
     public StatusInfo deleteRoomResponsibleOrg(@WebParam(name = "roomResponsibleOrgId") String roomResponsibleOrgId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 709  
 
 710  
 }