Coverage Report - org.kuali.student.r2.core.organization.service.OrganizationService
 
Classes in this File Line Coverage Branch Coverage Complexity
OrganizationService
N/A
N/A
1
 
 1  
 /*
 2  
  * Copyright 2010 The Kuali Foundation 
 3  
  *
 4  
  * Licensed under the Educational Community License, Version 2.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.osedu.org/licenses/ECL-2.0
 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
 13  
  * implied. See the License for the specific language governing
 14  
  * permissions and limitations under the License.
 15  
  */
 16  
 
 17  
 package org.kuali.student.r2.core.organization.service;
 18  
 
 19  
 import java.util.List;
 20  
 
 21  
 import javax.jws.WebParam;
 22  
 import javax.jws.WebService;
 23  
 import javax.jws.soap.SOAPBinding;
 24  
 
 25  
 import org.kuali.rice.core.api.criteria.QueryByCriteria;
 26  
 import org.kuali.student.r2.common.dto.ContextInfo;
 27  
 import org.kuali.student.r2.common.dto.StatusInfo;
 28  
 import org.kuali.student.r2.common.dto.ValidationResultInfo;
 29  
 
 30  
 import org.kuali.student.r2.common.exceptions.DataValidationErrorException;
 31  
 import org.kuali.student.r2.common.exceptions.DoesNotExistException;
 32  
 import org.kuali.student.r2.common.exceptions.InvalidParameterException;
 33  
 import org.kuali.student.r2.common.exceptions.MissingParameterException;
 34  
 import org.kuali.student.r2.common.exceptions.OperationFailedException;
 35  
 import org.kuali.student.r2.common.exceptions.PermissionDeniedException;
 36  
 import org.kuali.student.r2.common.exceptions.ReadOnlyException;
 37  
 import org.kuali.student.r2.common.exceptions.VersionMismatchException;
 38  
 
 39  
 import org.kuali.student.r2.core.organization.dto.OrgHierarchyInfo;
 40  
 import org.kuali.student.r2.core.organization.dto.OrgInfo;
 41  
 import org.kuali.student.r2.core.organization.dto.OrgOrgRelationInfo;
 42  
 import org.kuali.student.r2.core.organization.dto.OrgPersonRelationInfo;
 43  
 import org.kuali.student.r2.core.organization.dto.OrgPositionRestrictionInfo;
 44  
 import org.kuali.student.r2.core.organization.dto.OrgTreeInfo;
 45  
 import org.kuali.student.r2.core.type.dto.TypeInfo;
 46  
 
 47  
 /**
 48  
  * <h3><a name="KSDOC-ServiceDescriptions-Description"></a>Description</h3>
 49  
  * 
 50  
  * <p>The Organization service manages organizational units that have
 51  
  * some relationship to the institution and manages the relationships
 52  
  * between people and those organization. Internal organizations
 53  
  * include officially recognized organizations (such as schools and
 54  
  * departments) and unofficial organizations (such as clubs or student
 55  
  * groups). Organizations may also be external to the institution,
 56  
  * such as companies, other institutions, government,
 57  
  * associations.</p>
 58  
  * 
 59  
  * <h3><a name="KSDOC-ServiceDescriptions-Assumptions"></a>Assumptions</h3>
 60  
  * 
 61  
  * <p>The design of this service considers the following assumptions:</p>
 62  
  * <ul>
 63  
  *         <li>Most organizations have "parent" organization(s) within a
 64  
  *         given context. For example, the School of Arts and Sciences
 65  
  *         exists within the institution, so the School or Arts and
 66  
  *         Sciences is a child of the institution.</li>
 67  
  *         <li>There may be multiple relationships that need to be
 68  
  *         captured for a given organization since the parent
 69  
  *         organization may be different depending on the context. For
 70  
  *         example, a department may report to a particular organization
 71  
  *         for administrative purposes, but report to another
 72  
  *         organization for financial purposes.</li>
 73  
  *         <li>Organization-to-organization relationships can be grouped
 74  
  *         into hierarchies based upon the type of relationship.</li>
 75  
  *         <li>Organizations may place additional constraints on the
 76  
  *         types of relationships a person may have with the
 77  
  *         organization.</li>
 78  
  * </ul>
 79  
  * 
 80  
  * 
 81  
  * <h3><a name="KSDOC-ServiceDescriptions-KeyConcepts"></a>Key Concepts</h3>
 82  
  * 
 83  
  * <ul>
 84  
  *         <li>Organizations are different from authorization groups in
 85  
  *         that organizations deal directly with people while
 86  
  *         authorization groups deal directly with
 87  
  *         principals. Organizations may contain individuals who have no
 88  
  *         way to authenticate themselves (and thus have no unique
 89  
  *         permissions) and authorization groups may have principals
 90  
  *         which are linked to non-human entities (such as batch jobs,
 91  
  *         other services, and so forth).</li>
 92  
  *         <li>Organizations and authorization groups may be related in
 93  
  *         that a member of an organization may have a principal
 94  
  *         associated with an authorization group, but this is not
 95  
  *         required.
 96  
  * </ul>
 97  
  *
 98  
  * @author Kuali Student Team
 99  
  */
 100  
 
 101  
 @WebService(name = "OrganizationService", targetNamespace = "http://student.kuali.org/wsdl/organization")
 102  
 @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
 103  
 public interface OrganizationService {
 104  
 
 105  
     //
 106  
     // Lookup Methods for Org Hierarchy Id Entity Pattern.
 107  
     //
 108  
 
 109  
     /** 
 110  
      * Retrieves a single OrgHierarchy by OrgHierarchy Id.
 111  
      *
 112  
      * @param orgHierarchyId the identifier for the OrgHierarchy to be
 113  
      *        retrieved
 114  
      * @param contextInfo information containing the principalId and
 115  
      *        locale information about the caller of service operation
 116  
      * @return the OrgHierarchy requested
 117  
      * @throws DoesNotExistException orgHierarchyId not found
 118  
      * @throws InvalidParameterException contextInfo is not valid
 119  
      * @throws MissingParameterException orgHierarchyId or contextInfo
 120  
      *         is missing or null
 121  
      * @throws OperationFailedException unable to complete request
 122  
      * @throws PermissionDeniedException an authorization failure occurred
 123  
      */
 124  
     public OrgHierarchyInfo getOrgHierarchy(@WebParam(name = "orgHierarchyId") String orgHierarchyId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 125  
 
 126  
     /**
 127  
      * Retrieves a list of OrgHierarchies from a list of OrgHierarchy
 128  
      * Ids. The returned list may be in any order and if duplicate Ids
 129  
      * are supplied, a unique set may or may not be returned.
 130  
      * 
 131  
      * @param orgHierarchyIds a list of OrgHierarchy Ids
 132  
      * @param contextInfo information containing the principalId and
 133  
      *        locale information about the caller of service operation
 134  
      * @return a list of OrgHierarchies
 135  
      * @throws DoesNotExistException an orgHierarchyId in the list not found
 136  
      * @throws InvalidParameterException contextInfo is not valid
 137  
      * @throws MissingParameterException orgHierarchyIds, an id in
 138  
      *         orgHierarchyIds, or contextInfo is missing or null
 139  
      * @throws OperationFailedException unable to complete request
 140  
      * @throws PermissionDeniedException an authorization failure occurred
 141  
      */
 142  
     public List<OrgHierarchyInfo> getOrgHierarchiesByIds(@WebParam(name = "orgHierarchyIds") List<String> orgHierarchyIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 143  
 
 144  
     /**
 145  
      * Retrieves a list of OrgHierarchy Ids by OrgHierarchy Type.
 146  
      * 
 147  
      * @param orgHierarchyTypeKey an identifier for the OrgHierarchy
 148  
      *        type
 149  
      * @param contextInfo information containing the principalId and
 150  
      *        locale information about the caller of service operation
 151  
      * @return a list of OrgHierarchy Ids matching orgHierarchyTypeKey
 152  
      *         or an empty list if none found
 153  
      * @throws InvalidParameterException contextInfo is invalid
 154  
      * @throws MissingParameterException orgHierarchyTypeKey or
 155  
      *         contextInfo is missing or null
 156  
      * @throws OperationFailedException unable to complete request
 157  
      * @throws PermissionDeniedException an authorization failure occurred
 158  
      */
 159  
     public List<String> getOrgHierarchyIdsByType(@WebParam(name = "orgHierarchyTypeKey") String orgHierarchyTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 160  
 
 161  
     //
 162  
     // Existing bulk method.
 163  
     //
 164  
 
 165  
     /** 
 166  
      * Retrieves the list of all organization hierarchies known by
 167  
      * this service.
 168  
      *
 169  
      * @param contextInfo information containing the principalId and
 170  
      *        locale information about the caller of service operation
 171  
      * @return a list of organization hierarchies
 172  
      * @throws InvalidParameterException contextInfo is not valid
 173  
      * @throws MissingParameterException contextInfo is missing or
 174  
      *         null
 175  
      * @throws OperationFailedException unable to complete request
 176  
      * @throws PermissionDeniedException an authorization failure occurred
 177  
      */
 178  
     public List<OrgHierarchyInfo> getOrgHierarchies(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 179  
 
 180  
     /** 
 181  
      * Retrieves the list of types of organizations known by this service.
 182  
      *
 183  
      * @param contextInfo information containing the principalId and
 184  
      *        locale information about the caller of service operation
 185  
      * @return a list of organization types
 186  
      * @throws InvalidParameterException contextInfo is not valid
 187  
      * @throws MissingParameterException contextInfo is missing or
 188  
      *         null
 189  
      * @throws OperationFailedException unable to complete request
 190  
      * @throws PermissionDeniedException an authorization failure occurred
 191  
      */
 192  
     public List<TypeInfo> getOrgTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 193  
 
 194  
     //
 195  
     // Lookup Methods for Org Id Entity Pattern.
 196  
     //
 197  
 
 198  
     /** 
 199  
      * Retrieves a a single Org by Org Id.
 200  
      *
 201  
      * @param orgId the identifier for the Org to be retrieved
 202  
      * @param contextInfo information containing the principalId and
 203  
      *        locale information about the caller of service operation
 204  
      * @return the Org requested
 205  
      * @throws DoesNotExistException orgId is not found
 206  
      * @throws InvalidParameterException contextInfo is not valid
 207  
      * @throws MissingParameterException orgId or contextInfo is
 208  
      *         missing or null
 209  
      * @throws OperationFailedException unable to complete request
 210  
      * @throws PermissionDeniedException an authorization failure occurred
 211  
      */
 212  
     public OrgInfo getOrg(@WebParam(name = "orgId") String orgId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 213  
 
 214  
     /** 
 215  
      * Retrieves a list of Orgs from a list of Org Ids. The returned
 216  
      * list may be in any order and if duplicate Ids are supplied, a
 217  
      * unique set may or may not be returned.  identifiers.
 218  
      *
 219  
      * @param orgIds a list of Org Ids
 220  
      * @param contextInfo information containing the principalId and
 221  
      *        locale information about the caller of service operation
 222  
      * @return a list of Orgs
 223  
      * @throws DoesNotExistException an orgId in the list not found
 224  
      * @throws InvalidParameterException contextInfo is not valid
 225  
      * @throws MissingParameterException orgIds, an orgId in orgIds,
 226  
      *         or contextInfo is missing or null
 227  
      * @throws OperationFailedException unable to complete request
 228  
      * @throws PermissionDeniedException an authorization failure occurred
 229  
      */
 230  
     public List<OrgInfo> getOrgsByIds(@WebParam(name = "orgIds") List<String> orgIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 231  
 
 232  
     /**
 233  
      * Retrieves a list of Org Ids by Org Type.
 234  
      * 
 235  
      * @param orgTypeKey an identifier for the Org type
 236  
      * @param contextInfo information containing the principalId and
 237  
      *        locale information about the caller of service operation
 238  
      * @return a list of Org Ids matching orgTypeKey or an empty list
 239  
      *         if none found
 240  
      * @throws InvalidParameterException contextInfo is invalid
 241  
      * @throws MissingParameterException orgTypeKey or contextInfo is
 242  
      *         missing or null
 243  
      * @throws OperationFailedException unable to complete request
 244  
      * @throws PermissionDeniedException an authorization failure occurred
 245  
      */
 246  
     public List<String> getOrgIdsByType(@WebParam(name = "orgTypeKey") String orgTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 247  
 
 248  
     //
 249  
     // Search methods for Org Id Entity Pattern.
 250  
     //
 251  
 
 252  
     /**
 253  
      * Searches for Org Ids that meet the given search criteria.
 254  
      * 
 255  
      * @param criteria the search criteria
 256  
      * @param contextInfo information containing the principalId and
 257  
      *        locale information about the caller of service operation
 258  
      * @return list of Org identifiers matching the criteria
 259  
      * @throws InvalidParameterException criteria or contextInfo is not valid
 260  
      * @throws MissingParameterException criteria or contextInfo is
 261  
      *         missing or null
 262  
      * @throws OperationFailedException unable to complete request
 263  
      * @throws PermissionDeniedException an authorization failure occurred
 264  
      */
 265  
     public List<String> searchForOrgIds(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 266  
 
 267  
     /**
 268  
      * Searches for Orgs that meet the given search criteria.
 269  
      * 
 270  
      * @param criteria the search criteria
 271  
      * @param contextInfo information containing the principalId and
 272  
      *        locale information about the caller of service operation
 273  
      * @return list of Orgs matching the criteria
 274  
      * @throws InvalidParameterException criteria or contextInfo is not valid
 275  
      * @throws MissingParameterException criteria or contextInfo is
 276  
      *         missing or null
 277  
      * @throws OperationFailedException unable to complete request
 278  
      * @throws PermissionDeniedException an authorization failure occurred
 279  
      */
 280  
     public List<OrgInfo> searchForOrgs(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 281  
 
 282  
     //
 283  
     // CRUD methods for Org Id Entity Pattern.
 284  
     //
 285  
 
 286  
     /**
 287  
      * Validates an Organization. Depending on the value of
 288  
      * validationType, this validation could be limited to tests on
 289  
      * just the current object and its directly contained sub-objects
 290  
      * or expanded to perform all tests related to this Org. If an
 291  
      * identifier is present for the Org (and/or one of its contained
 292  
      * sub-objects) and a record is found for that identifier, the
 293  
      * validation checks if the Org can be shifted to the new
 294  
      * values. If a an identifier is not present or a record does not
 295  
      * exist, the validation checks if the Org with the given data can
 296  
      * be created.
 297  
      * 
 298  
      * @param validationTypeKey the identifier for the validation Type
 299  
      * @param orgTypeKey the identifier for the Org Type to be validated
 300  
      * @param orgInfo the identifier for the Org to be validated
 301  
      * @param contextInfo information containing the principalId and
 302  
      *        locale information about the caller of service operation
 303  
      * @return a list of validation results or an empty list if validation
 304  
      *         succeeded
 305  
      * @throws DoesNotExistException validationTypeKey or orgTypeKey
 306  
      *         is not found
 307  
      * @throws InvalidParameterException orgInfo or contextInfo is not valid
 308  
      * @throws MissingParameterException validationTypeKey, orgTypeKey
 309  
      *         orgInfo, or contextInfo is missing or null
 310  
      * @throws OperationFailedException unable to complete request
 311  
      * @throws PermissionDeniedException an authorization failure occurred
 312  
      */
 313  
     public List<ValidationResultInfo> validateOrg(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "orgTypeKey") String orgTypeKey, @WebParam(name = "orgInfo") OrgInfo orgInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 314  
 
 315  
     /**
 316  
      * Creates a new Org. The Org Id, Type and Meta information may
 317  
      * not be set in the supplied data object.
 318  
      * 
 319  
      * @param orgTypeKey a unique identifier for the Type of the new
 320  
      *        Org
 321  
      * @param orgInfo the data with which to create the Org
 322  
      * @param contextInfo information containing the principalId and
 323  
      *        locale information about the caller of service operation
 324  
      * @return the new Org
 325  
      * @throws DataValidationErrorException supplied data is invalid
 326  
      * @throws DoesNotExistException orgTypeKey does not exist or is
 327  
      *         not supported
 328  
      * @throws InvalidParameterException orgInfo or contextInfo is not valid
 329  
      * @throws MissingParameterException orgTypeKey, orgInfo, or
 330  
      *         contextInfo is missing or null
 331  
      * @throws OperationFailedException unable to complete request
 332  
      * @throws PermissionDeniedException an authorization failure occurred
 333  
      * @throws ReadOnlyException an attempt at supplying information
 334  
      *         designated as read only
 335  
      */
 336  
     public OrgInfo createOrg(@WebParam(name = "orgTypeKey") String orgTypeKey, @WebParam(name = "orgInfo") OrgInfo orgInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 337  
 
 338  
     /**
 339  
      * Updates an existing Org. The Org id, Type, and
 340  
      * Meta information may not be changed.
 341  
      * 
 342  
      * @param orgId the identifier for the Org to be updated
 343  
      * @param orgInfo the new data for the Org
 344  
      * @param contextInfo information containing the principalId and locale
 345  
      *        information about the caller of service operation
 346  
      * @return the updated Org
 347  
      * @throws DataValidationErrorException supplied data is invalid
 348  
      * @throws DoesNotExistException orgId is not found
 349  
      * @throws InvalidParameterException orgInfo or contextInfo is not valid
 350  
      * @throws MissingParameterException orgId, orgInfo, or
 351  
      *         contextInfo is missing or null
 352  
      * @throws OperationFailedException unable to complete request
 353  
      * @throws PermissionDeniedException an authorization failure occurred
 354  
      * @throws ReadOnlyException an attempt at supplying information
 355  
      *         designated as read only
 356  
      * @throws VersionMismatchException an optimistic locking failure
 357  
      *         or the action was attempted on an out of date version
 358  
      */
 359  
     public OrgInfo updateOrg(@WebParam(name = "orgId") String orgId, @WebParam(name = "orgInfo") OrgInfo orgInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
 360  
 
 361  
     /**
 362  
      * Deletes an existing Org.
 363  
      * 
 364  
      * @param orgId the identifier for the Org to be deleted
 365  
      * @param contextInfo information containing the principalId and
 366  
      *        locale information about the caller of service operation
 367  
      * @return the status of the operation. This must always be true.
 368  
      * @throws DoesNotExistException orgId is not found
 369  
      * @throws InvalidParameterException contextInfo is not valid
 370  
      * @throws MissingParameterException orgId or contextInfo is
 371  
      *         missing or null
 372  
      * @throws OperationFailedException unable to complete request
 373  
      * @throws PermissionDeniedException an authorization failure occurred
 374  
      */
 375  
     public StatusInfo deleteOrg(@WebParam(name = "orgId") String orgId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 376  
 
 377  
     //
 378  
     // Existing setup methods for OrgOrgRelations
 379  
     //                                
 380  
 
 381  
     /** 
 382  
      * Retrieves the list of all types of relationships between
 383  
      * organizations known to the service.
 384  
      *
 385  
      * @param contextInfo information containing the principalId and
 386  
      *        locale information about the caller of service operation
 387  
      * @return list of organization to organization relationship types
 388  
      * @throws InvalidParameterException contextInfo is not valid
 389  
      * @throws MissingParameterException contextInfo is missing or
 390  
      *         null
 391  
      * @throws OperationFailedException unable to complete request
 392  
      * @throws PermissionDeniedException an authorization failure occurred
 393  
      */
 394  
     public List<TypeInfo> getOrgOrgRelationTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 395  
 
 396  
     /** 
 397  
      * Retrieves the Types of relationships between organizations that
 398  
      * are allowed for a particular type of organization.
 399  
      *
 400  
      * @param orgTypeKey an identifier for an Org Type
 401  
      * @param contextInfo information containing the principalId and
 402  
      *        locale information about the caller of service operation
 403  
      * @return a list of relationship types between organizations for
 404  
      *         the specified organization type or an empty list if
 405  
      *         none found
 406  
      * @throws InvalidParameterException contextInfo is not valid
 407  
      * @throws MissingParameterException orgTypeKey or contextInfo is
 408  
      *         missing or null
 409  
      * @throws OperationFailedException unable to complete request
 410  
      * @throws PermissionDeniedException an authorization failure occurred
 411  
      */
 412  
     public List<TypeInfo> getOrgOrgRelationTypesForOrgType(@WebParam(name = "orgTypeKey") String orgTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 413  
 
 414  
     /** 
 415  
      * Retrieves the Types of relationships between organizations that
 416  
      * are allowed for a particular organization hierarchy.
 417  
      *
 418  
      * @param orgHierarchyId an identifier for an OrgHierarchy
 419  
      * @param contextInfo information containing the principalId and
 420  
      *        locale information about the caller of service operation
 421  
      * @return a list of relationship types between organizations
 422  
      * @throws DoesNotExistException orgHierarchyId is is not found
 423  
      * @throws InvalidParameterException contextInfo is not valid
 424  
      * @throws MissingParameterException orgHierarchyId or contextInfo
 425  
      *         is missing or null
 426  
      * @throws OperationFailedException unable to complete request
 427  
      * @throws PermissionDeniedException an authorization failure occurred
 428  
      */
 429  
     public List<TypeInfo> getOrgOrgRelationTypesForOrgHierarchy(@WebParam(name = "orgHierarchyId") String orgHierarchyId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 430  
 
 431  
     //
 432  
     // Test method for OrgOrgRelation.
 433  
     //
 434  
 
 435  
     /** 
 436  
      * Tests if a org has a current relationship with a specified organization.
 437  
      *
 438  
      * @param orgId identifier of the organization
 439  
      * @param comparisonOrgId identifier of the organization to be compared to
 440  
      * @param orgOrgRelationTypeKey type of relationship between the organizations
 441  
      * @param contextInfo information containing the principalId and
 442  
      *        locale information about the caller of service operation
 443  
      * @return true if a relationship between the two Ids exists, false
 444  
      *         if no relation exists or is not found
 445  
      * @throws InvalidParameterException contextInfo is not valid
 446  
      * @throws MissingParameterException orgId, comparisonOrgId,
 447  
      *         orgOrgRelationType, or contextInfo is missing or null
 448  
      * @throws OperationFailedException unable to complete request
 449  
      * @throws PermissionDeniedException an authorization failure occurred
 450  
      */
 451  
     public Boolean hasOrgOrgRelation(@WebParam(name = "orgId") String orgId, @WebParam(name = "comparisonOrgId") String comparisonOrgId, @WebParam(name = "orgOrgRelationTypeKey") String orgOrgRelationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 452  
 
 453  
     //
 454  
     // Lookup Methods for OrgOrgRelation Symmetric Relationship
 455  
     // Pattern.
 456  
     //
 457  
 
 458  
     /** 
 459  
      * Retrieves a single OrgOrgRelation by OrgOrgRelation Id.
 460  
      *
 461  
      * @param orgOrgRelationId the identifier for OrgOrgRelation to be
 462  
      *        retrieved
 463  
      * @param contextInfo information containing the principalId and
 464  
      *        locale information about the caller of service operation
 465  
      * @return the OrgOrgRelation requested
 466  
      * @throws DoesNotExistException orgOrgRelationId is not found
 467  
      * @throws InvalidParameterException contextInfo is not valid
 468  
      * @throws MissingParameterException orgOrgRelationId or contextInfo
 469  
      *         is missing or null
 470  
      * @throws OperationFailedException unable to complete request
 471  
      * @throws PermissionDeniedException an authorization failure occurred
 472  
      */
 473  
     public OrgOrgRelationInfo getOrgOrgRelation(@WebParam(name = "orgOrgRelationId") String orgOrgRelationId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 474  
 
 475  
     /**
 476  
      * Retrieves a list of OrgOrgRelations from a list of
 477  
      * OrgOrgRelation Ids.  The returned list may be in any order and
 478  
      * if duplicate Ids are supplied, a unique set may or may not be
 479  
      * returned.
 480  
      * 
 481  
      * @param orgOrgRelationIds a list of OrgOrgRelation identifiers
 482  
      * @param contextInfo information containing the principalId and
 483  
      *        locale information about the caller of service operation
 484  
      * @return a list of OrgOrgRelations
 485  
      * @throws DoesNotExistException an orgOrgRelationId in the list not found
 486  
      * @throws InvalidParameterException contextInfo is not valid
 487  
      * @throws MissingParameterException orgOrgRelationIds, an
 488  
      *         orgOrgRelationId in the orgOrgRelationIds, or
 489  
      *         contextInfo is missing or null
 490  
      * @throws OperationFailedException unable to complete request
 491  
      * @throws PermissionDeniedException an authorization failure occurred
 492  
      */
 493  
     public List<OrgOrgRelationInfo> getOrgOrgRelationsByIds(@WebParam(name = "orgOrgRelationIds") List<String> orgOrgRelationIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 494  
 
 495  
     /**
 496  
      * Retrieves a list of OrgOrgRelation Ids by OrgOrgRelation Type.
 497  
      * 
 498  
      * @param orgOrgRelationTypeKey an identifier for an OrgOrgRelation Type
 499  
      * @param contextInfo information containing the principalId and
 500  
      *        locale information about the caller of service operation
 501  
      * @return a list of OrgOrgRelation identifiers matching
 502  
      *         orgOrgRelationTypeKey or an empty list if none found
 503  
      * @throws InvalidParameterException contextInfo is not valid
 504  
      * @throws MissingParameterException orgOrgRelationTypeKey or
 505  
      *         contextInfo is missing or null
 506  
      * @throws OperationFailedException unable to complete request
 507  
      * @throws PermissionDeniedException an authorization failure occurred
 508  
      */
 509  
     public List<String> getOrgOrgRelationIdsByType(@WebParam(name = "orgOrgRelationTypeKey") String orgOrgRelationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 510  
 
 511  
     /**
 512  
      * Retrieves all OrgOrgRelations to the given Org independent of
 513  
      * which side of the relationship the Org resides.
 514  
      * 
 515  
      * @param orgId the identifier for the Org
 516  
      * @param contextInfo information containing the principalId and
 517  
      *        locale information about the caller of service operation
 518  
      * @return a list of OrgOrgrelations to the given Org or an empty list if
 519  
      *         none found
 520  
      * @throws InvalidParameterException contextInfo is not valid
 521  
      * @throws MissingParameterException orgId or contextInfo is
 522  
      *         missing or null
 523  
      * @throws OperationFailedException unable to complete request
 524  
      * @throws PermissionDeniedException an authorization failure occurred
 525  
      */
 526  
     public List<OrgOrgRelationInfo> getOrgOrgRelationsByOrg(@WebParam(name = "orgId") String orgId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 527  
 
 528  
     /**
 529  
      * Retrieves all OrgOrgRelations between the given Orgs.
 530  
      * 
 531  
      * @param orgId the identifier for the Org
 532  
      * @param contextInfo information containing the principalId and
 533  
      *        locale information about the caller of service operation
 534  
      * @return a list of OrgOrgrelations between the given Orgs or an empty list
 535  
      *         if none found
 536  
      * @throws InvalidParameterException contextInfo is not valid
 537  
      * @throws MissingParameterException orgId, orgPeerId, or
 538  
      *         contextInfo is missing or null
 539  
      * @throws OperationFailedException unable to complete request
 540  
      * @throws PermissionDeniedException an authorization failure occurred
 541  
      */
 542  
     public List<OrgOrgRelationInfo> getOrgOrgRelationsByOrgs(@WebParam(name = "orgId") String orgId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 543  
 
 544  
     /**
 545  
      * Retrieves a list of OrgOrgRelations of the specified
 546  
      * OrgOrgRelationType for an Org. (these parameters are
 547  
      * backwards).
 548  
      * 
 549  
      * @param orgId the identifier for an Org
 550  
      * @param orgOrgRelationTypeKey the identifier for an
 551  
      *        OrgOrgRelation Type
 552  
      * @param contextInfo information containing the principalId and locale
 553  
      *        information about the caller of service operation
 554  
      * @return a list of OrgOrgRelations of the specified OrgOrgRelationType for
 555  
      *         the given Org or an empty list if none found
 556  
      * @throws InvalidParameterException contextInfo is notvalid
 557  
      * @throws MissingParameterException orgOrgRelationTypeKey, orgId, or
 558  
      *         contextInfo is missing or null
 559  
      * @throws OperationFailedException unable to complete request
 560  
      * @throws PermissionDeniedException an authorization failure occurred
 561  
      */
 562  
     public List<OrgOrgRelationInfo> getOrgOrgRelationsByTypeAndOrg(@WebParam(name = "orgId") String orgId, @WebParam(name = "orgOrgRelationTypeKey") String orgOrgRelationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 563  
 
 564  
     //
 565  
     // Search methods for OrgOrgRelation Symmetrical Relationship Pattern.
 566  
     //
 567  
 
 568  
     /**
 569  
      * Searches for OrgOrgRelations that meet the given search criteria.
 570  
      * 
 571  
      * @param criteria the search criteria
 572  
      * @param contextInfo information containing the principalId and locale
 573  
      *        information about the caller of service operation
 574  
      * @return a list of OrgOrgRelation identifiers matching the criteria
 575  
      * @throws InvalidParameterException criteria or contextInfo is not valid
 576  
      * @throws MissingParameterException criteria or contextInfo is missing or
 577  
      *         null
 578  
      * @throws OperationFailedException unable to complete request
 579  
      * @throws PermissionDeniedException an authorization failure occurred
 580  
      */
 581  
     public List<String> searchForOrgOrgRelationIds(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 582  
 
 583  
     /**
 584  
      * Searches for OrgOrgRelations that meet the given search
 585  
      * criteria.
 586  
      * 
 587  
      * @param criteria the search criteria
 588  
      * @param contextInfo information containing the principalId and locale
 589  
      *        information about the caller of service operation
 590  
      * @return a list of OrgOrgRelations matching the criteria
 591  
      * @throws InvalidParameterException contextInfo is invalid
 592  
      * @throws MissingParameterException criteria or contextInfo is missing or
 593  
      *         null
 594  
      * @throws OperationFailedException unable to complete request
 595  
      * @throws PermissionDeniedException an authorization failure occurred
 596  
      */
 597  
     public List<OrgOrgRelationInfo> searchForOrgOrgRelations(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 598  
 
 599  
     //
 600  
     // CRUD methods for OrgOrgRelation Symmetrical Relationship Pattern.
 601  
     //
 602  
 
 603  
     /**
 604  
      * Validates an OrgOrgRelation. Depending on the value of
 605  
      * validationType, this validation could be limited to tests on
 606  
      * just the current OrgOrgRelation and its directly contained
 607  
      * sub-objects or expanded to perform all tests related to this
 608  
      * OrgOrgRelation. If an identifier is present for the
 609  
      * OrgOrgRelation (and/or one of its contained sub-objects) and a
 610  
      * record is found for that identifier, the validation checks if
 611  
      * the OrgOrgRelation can be shifted to the new values. If an
 612  
      * identifier is not present or a record cannot be found for the
 613  
      * identifier, the validation checks if the object with the given
 614  
      * data can be created.
 615  
      * 
 616  
      * @param validationTypeKey the identifier for the validation Type
 617  
      * @param orgId the identifier for an Org
 618  
      * @param orgPeerId a the identifier for the Org peer
 619  
      * @param orgOrgRelationTypeKey the identifier for the OrgOrgRelation Type
 620  
      * @param orgOrgRelationInfo the OrgOrgRelation to be validated
 621  
      * @param contextInfo information containing the principalId and locale
 622  
      *        information about the caller of service operation
 623  
      * @return a list of validation results or an empty list if validation
 624  
      *         succeeded
 625  
      * @throws DoesNotExistException validationTypeKey, orgId,
 626  
      *         orgPeerId, or orgOrgRelationTypeKey is not found
 627  
      * @throws InvalidParameterException orgOrgRelationInfo or
 628  
      *         contextInfo is not valid
 629  
      * @throws MissingParameterException validationTypeKey, orgId,
 630  
      *         orgPeerId, orgOrgRelationTypeKey, orgOrgRelationInfo,
 631  
      *         or contextInfo is missing or null
 632  
      * @throws OperationFailedException unable to complete request
 633  
      * @throws PermissionDeniedException authorization failure
 634  
      */
 635  
     public List<ValidationResultInfo> validateOrgOrgRelation(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "orgId") String orgId, @WebParam(name = "orgPeerId") String orgPeerId, @WebParam(name = "orgOrgrelationTypeKey") String orgOrgRelationTypeKey, @WebParam(name = "orgOrgRelationInfo") OrgOrgRelationInfo orgOrgRelationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 636  
 
 637  
     /**
 638  
      * Creates a new OrgOrgRelation. The OrgOrgRelation Id, Type, Org
 639  
      * Ids, and Meta information may not be set in the supplied data.
 640  
      * 
 641  
      * @param orgId a peer of the relationship
 642  
      * @param orgPeerId a peer of the relationship
 643  
      * @param orgOrgRelationTypeKey the identifier for the Type of OrgOrgRelation
 644  
      * @param orgOrgRelationInfo the relationship to be created
 645  
      * @param contextInfo information containing the principalId and locale
 646  
      *        information about the caller of service operation
 647  
      * @return the new OrgOrgRelation
 648  
      * @throws DataValidationErrorException supplied data is invalid
 649  
      * @throws DoesNotExistException orgId, orgPeerId, or
 650  
      *         orgOrgRelationTypeKey is not found
 651  
      * @throws InvalidParameterException orgOrgRelationInfo or contextInfo is
 652  
      *         not valid
 653  
      * @throws MissingParameterException orgId, orgPeerId,
 654  
      *         orgOrgRelationTypeKey, orgOrgRelationInfo, or
 655  
      *         contextInfo is missing or null
 656  
      * @throws OperationFailedException unable to complete request
 657  
      * @throws PermissionDeniedException an authorization failure occurred
 658  
      * @throws ReadOnlyException an attempt at supplying information
 659  
      *         designated as read only
 660  
      */
 661  
     public OrgOrgRelationInfo createOrgOrgRelation(@WebParam(name = "orgId") String orgId, @WebParam(name = "orgPeerId") String orgPeerId, @WebParam(name = "orgOrgRelationTypeKey") String orgOrgRelationTypeKey, @WebParam(name = "orgOrgRelationInfo") OrgOrgRelationInfo orgOrgRelationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 662  
 
 663  
     /**
 664  
      * Updates an Org Milestone Relationship. The OrgOrgRelation Id,
 665  
      * Type, Org Ids, and Meta information may not be changed.
 666  
      * 
 667  
      * @param orgOrgRelationId the identifier for the OrgOrgRelation updated
 668  
      * @param orgOrgRelationInfo the new data for the OrgOrgRelation
 669  
      * @param contextInfo information containing the principalId and locale
 670  
      *        information about the caller of service operation
 671  
      * @return the updated OrgOrgRelation
 672  
      * @throws DataValidationErrorException supplied data is invalid
 673  
      * @throws DoesNotExistException orgOrgRelationId is not found
 674  
      * @throws InvalidParameterException orgOrgRelationInfo or
 675  
      *         contextInfo is not valid
 676  
      * @throws MissingParameterException orgOrgRelationId,
 677  
      *         orgOrgRelationInfo, or contextInfo is missing or null
 678  
      * @throws OperationFailedException unable to complete request
 679  
      * @throws PermissionDeniedException an authorization failure occurred
 680  
      * @throws ReadOnlyException an attempt at supplying information
 681  
      *         designated as read-only
 682  
      * @throws VersionMismatchException optimistic locking failure or the action
 683  
      *         was attempted on an out of date version
 684  
      */
 685  
     public OrgOrgRelationInfo updateOrgOrgRelation(@WebParam(name = "orgOrgRelationId") String orgOrgRelationId, @WebParam(name = "orgOrgRelationInfo") OrgOrgRelationInfo orgOrgRelationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
 686  
 
 687  
     /**
 688  
      * Deletes an existing OrgOrgRelation.
 689  
      * 
 690  
      * @param orgOrgRelationId the identifier for the OrgOrgRelation
 691  
      *        to be deleted
 692  
      * @param contextInfo information containing the principalId and
 693  
      *        locale information about the caller of service operation
 694  
      * @return status of the delete operation. This must always be true.
 695  
      * @throws DoesNotExistException orgOrgrelationId is not found
 696  
      * @throws InvalidParameterException contextInfo is not valid
 697  
      * @throws MissingParameterException orgOrgRelationId or
 698  
      *         contextInfo is missing or null
 699  
      * @throws OperationFailedException unable to complete request
 700  
      * @throws PermissionDeniedException an authorization failure occurred
 701  
      */
 702  
     public StatusInfo deleteOrgOrgRelation(@WebParam(name = "orgOrgRelationId") String orgOrgRelationId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 703  
 
 704  
     //
 705  
     // Existing setup methods for OrgPersonRelations
 706  
     //                                
 707  
 
 708  
     /** 
 709  
      * Retrieves all Types of OrgPersonRelations between an
 710  
      * organization and a person known by this service.
 711  
      *
 712  
      * @param contextInfo information containing the principalId and
 713  
      *        locale information about the caller of service operation
 714  
      * @return a list of all OrgPersonRelation Types
 715  
      * @throws InvalidParameterException contextInfo is not valid
 716  
      * @throws MissingParameterException contextInfo is missing or
 717  
      *         null
 718  
      * @throws OperationFailedException unable to complete request
 719  
      * @throws PermissionDeniedException an authorization failure occurred
 720  
      */
 721  
     public List<TypeInfo> getOrgPersonRelationTypes(@WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 722  
 
 723  
     /** 
 724  
      * Retrieves the OrgPersonRelationship Types between an
 725  
      * organization and a person that are allowed for a particular Org
 726  
      * Type.
 727  
      *
 728  
      * @param orgTypeKey an identifier for an Org Type
 729  
      * @param contextInfo information containing the principalId and
 730  
      *        locale information about the caller of service operation
 731  
      * @return a list of organization person relationship types that
 732  
      *         are valid for the supplied organization type or an
 733  
      *         empty list of none found
 734  
      * @throws InvalidParameterException contextInfo is not valid
 735  
      * @throws MissingParameterException orgTypeKey or contextInfo is
 736  
      *         missing or null
 737  
      * @throws OperationFailedException unable to complete request
 738  
      * @throws PermissionDeniedException an authorization failure occurred
 739  
      */
 740  
     public List<TypeInfo> getOrgPersonRelationTypesForOrgType(@WebParam(name = "orgTypeKey") String orgTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 741  
 
 742  
     //
 743  
     // Test method for OrgPersonRelation.
 744  
     //
 745  
 
 746  
     /** 
 747  
      * Tests if a person has a current relationship with a specified
 748  
      * organization
 749  
      *
 750  
      * @param orgId identifier of the organization
 751  
      * @param personId identifier of the person
 752  
      * @param orgPersonRelationTypeKey type of relationship between the 
 753  
      *        person and organization
 754  
      * @param contextInfo information containing the principalId and
 755  
      *        locale information about the caller of service operation
 756  
      * @return true if a relationship between the two Ids exists, false if
 757  
      *         no relation exists or is not found
 758  
      * @throws InvalidParameterException contextInfo is not valid
 759  
      * @throws MissingParameterException orgId, personId,
 760  
      *         orgPersonRelationTypeKey, or contextInfo is missing or
 761  
      *         null
 762  
      * @throws OperationFailedException unable to complete request
 763  
      * @throws PermissionDeniedException an authorization failure occurred
 764  
      */
 765  
     public Boolean hasOrgPersonRelation(@WebParam(name="orgId") String orgId, @WebParam(name="personId") String personId, @WebParam(name="orgPersonRelationTypeKey") String orgPersonRelationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 766  
 
 767  
     //
 768  
     // Lookup methods for OrgPersonRelation Asymmetrical Relationship
 769  
     // Pattern.
 770  
     //
 771  
 
 772  
     /**
 773  
      * Retrieves a single OrgPersonRelation by OrgPersonRelation Id.
 774  
      * 
 775  
      * @param orgPersonRelationId the identifier for the OrgPersonRelation
 776  
      *        to be retrieved
 777  
      * @param contextInfo information containing the principalId and
 778  
      *        locale information about the caller of service operation
 779  
      * @return the OrgPersonRelation requested
 780  
      * @throws DoesNotExistException orgPersonRelationId is not found
 781  
      * @throws InvalidParameterException contextInfo is not valid
 782  
      * @throws MissingParameterException orgPersonRelationId or
 783  
      *         contextInfo is missing or null
 784  
      * @throws OperationFailedException unable to complete request
 785  
      * @throws PermissionDeniedException an authorization failure occurred
 786  
      */
 787  
     public OrgPersonRelationInfo getOrgPersonRelation(@WebParam(name = "orgPersonRelationId") String orgPersonRelationId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 788  
 
 789  
     /**
 790  
      * Retrieves a list of OrgPersonRelations from a list of
 791  
      * OrgPersonRelation Ids.  The returned list may be in any order and
 792  
      * if duplicate Ids are supplied, a unique set may or may not be
 793  
      * returned.
 794  
      * 
 795  
      * @param orgPersonRelationIds a list of OrgPersonRelation identifiers
 796  
      * @param contextInfo information containing the principalId and
 797  
      *        locale information about the caller of service operation
 798  
      * @return a list of OrgPersonRelations
 799  
      * @throws DoesNotExistException an orgPersonRelationId in the list not found
 800  
      * @throws InvalidParameterException contextInfo is not valid
 801  
      * @throws MissingParameterException orgPersonRelationIds, an
 802  
      *         orgPersonRelationId in the orgPersonRelationIds, or
 803  
      *         contextInfo is missing or null
 804  
      * @throws OperationFailedException unable to complete request
 805  
      * @throws PermissionDeniedException an authorization failure occurred
 806  
      */
 807  
     public List<OrgPersonRelationInfo> getOrgPersonRelationsByIds(@WebParam(name = "orgPersonRelationIds") List<String> orgPersonRelationIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 808  
 
 809  
     /**
 810  
      * Retrieves a list of OrgPersonRelation Ids by OrgPersonRelation Type.
 811  
      * 
 812  
      * @param orgPersonRelationTypeKey an identifier for an OrgPersonRelation Type
 813  
      * @param contextInfo information containing the principalId and
 814  
      *        locale information about the caller of service operation
 815  
      * @return a list of OrgPersonRelation identifiers matching
 816  
      *         orgPersonRelationTypeKey or an empty list if none found
 817  
      * @throws InvalidParameterException contextInfo is not valid
 818  
      * @throws MissingParameterException orgPersonRelationTypeKey or
 819  
      *         contextInfo is missing or null
 820  
      * @throws OperationFailedException unable to complete request
 821  
      * @throws PermissionDeniedException an authorization failure occurred
 822  
      */
 823  
     public List<String> getOrgPersonRelationIdsByType(@WebParam(name = "orgPersonRelationTypeKey") String orgPersonRelationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 824  
 
 825  
     /**
 826  
      * Retrieves all OrgPersonRelations to the given Org.
 827  
      * 
 828  
      * @param orgId the identifier for the Org
 829  
      * @param contextInfo information containing the principalId and
 830  
      *        locale information about the caller of service operation
 831  
      * @return a list of OrgPersonRelations to the given Org or an
 832  
      *         empty list if none found
 833  
      * @throws InvalidParameterException contextInfo is not valid
 834  
      * @throws MissingParameterException orgId or contextInfo is
 835  
      *         missing or null
 836  
      * @throws OperationFailedException unable to complete request
 837  
      * @throws PermissionDeniedException an authorization failure occurred
 838  
      */
 839  
     public List<OrgPersonRelationInfo> getOrgPersonRelationsByOrg(@WebParam(name = "orgId") String orgId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 840  
 
 841  
     /**
 842  
      * Retrieves a list of OrgPersonRelations of the specified
 843  
      * OrgPersonRelationType for an Org.
 844  
      * 
 845  
      * @param orgPersonRelationTypeKey the identifier for an
 846  
      *        OrgPersonRelationType
 847  
      * @param orgId the identifier for an Org
 848  
      * @param contextInfo information containing the principalId and locale
 849  
      *        information about the caller of service operation
 850  
      * @return a list of OrgPersonRelations of the specified OrgPersonRelationType for
 851  
      *         the given Org or an empty list if none found
 852  
      * @throws InvalidParameterException contextInfo is not valid
 853  
      * @throws MissingParameterException orgPersonRelationTypeKey,
 854  
      *         orgId, or contextInfo is missing or null
 855  
      * @throws OperationFailedException unable to complete request
 856  
      * @throws PermissionDeniedException an authorization failure occurred
 857  
      */
 858  
     public List<OrgPersonRelationInfo> getOrgPersonRelationsByTypeAndOrg(@WebParam(name = "orgPersonRelationTypeKey") String orgPersonRelationTypeKey, @WebParam(name = "orgId") String orgId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 859  
 
 860  
     /**
 861  
      * Retrieves all OrgPersonRelations to the given Person.
 862  
      * 
 863  
      * @param personId the identifier for the Person
 864  
      * @param contextInfo information containing the principalId and
 865  
      *        locale information about the caller of service operation
 866  
      * @return a list of OrgPersonRelations to the given Person or an
 867  
      *         empty list if none found
 868  
      * @throws InvalidParameterException contextInfo is not valid
 869  
      * @throws MissingParameterException personId or contextInfo is
 870  
      *         missing or null
 871  
      * @throws OperationFailedException unable to complete request
 872  
      * @throws PermissionDeniedException an authorization failure occurred
 873  
      */
 874  
     public List<OrgPersonRelationInfo> getOrgPersonRelationsByPerson(@WebParam(name = "personId") String personId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 875  
 
 876  
     /**
 877  
      * Retrieves a list of OrgPersonRelations of the specified
 878  
      * OrgPersonRelationType for a Person.
 879  
      * 
 880  
      * @param orgPersonRelationTypeKey the identifier for an
 881  
      *        OrgPersonRelationType
 882  
      * @param personId the identifier for a Person
 883  
      * @param contextInfo information containing the principalId and locale
 884  
      *        information about the caller of service operation
 885  
      * @return a list of OrgPersonRelations of the specified OrgPersonRelationType for
 886  
      *         the given Person or an empty list if none found
 887  
      * @throws InvalidParameterException contextInfo is notvalid
 888  
      * @throws MissingParameterException orgPersonRelationTypeKey,
 889  
      *         personId, or contextInfo is missing or null
 890  
      * @throws OperationFailedException unable to complete request
 891  
      * @throws PermissionDeniedException an authorization failure occurred
 892  
      */
 893  
     public List<OrgPersonRelationInfo> getOrgPersonRelationsByTypeAndPerson(@WebParam(name = "orgPersonRelationTypeKey") String orgPersonRelationTypeKey, @WebParam(name = "personId") String personId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 894  
 
 895  
     /**
 896  
      * Retrieves all OrgPersonRelations between the given Orn and
 897  
      * Person.
 898  
      * 
 899  
      * @param orgId the identifier for the Org
 900  
      * @param personId the identifier for the Person
 901  
      * @param contextInfo information containing the principalId and
 902  
      *        locale information about the caller of service operation
 903  
      * @return a list of OrgPersonRelations to the given Org and
 904  
      *         Person or an empty list if none found
 905  
      * @throws InvalidParameterException contextInfo is not valid
 906  
      * @throws MissingParameterException orgId, personId or
 907  
      *         contextInfo is missing or null
 908  
      * @throws OperationFailedException unable to complete request
 909  
      * @throws PermissionDeniedException an authorization failure occurred
 910  
      */
 911  
     public List<OrgPersonRelationInfo> getOrgPersonRelationsByOrgAndPerson(@WebParam(name = "orgId") String orgId, @WebParam(name = "personId") String personId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 912  
 
 913  
     /**
 914  
      * Retrieves a list of OrgPersonRelations of the specified
 915  
      * OrgPersonRelationType between an Org and a Person.
 916  
      * 
 917  
      * @param orgPersonRelationTypeKey the identifier for an
 918  
      *        OrgPersonRelationType
 919  
      * @param orgId the identifier for the Org
 920  
      * @param personId the identifier for a Person
 921  
      * @param contextInfo information containing the principalId and locale
 922  
      *        information about the caller of service operation
 923  
      * @return a list of OrgPersonRelations of the specified
 924  
      *         OrgPersonRelationType for the given Org and Person or
 925  
      *         an empty list if none found
 926  
      * @throws InvalidParameterException contextInfo is not valid
 927  
      * @throws MissingParameterException orgPersonRelationTypeKey,
 928  
      *         orgId, personId, or contextInfo is missing or null
 929  
      * @throws OperationFailedException unable to complete request
 930  
      * @throws PermissionDeniedException an authorization failure occurred
 931  
      */
 932  
     public List<OrgPersonRelationInfo> getOrgPersonRelationsByTypeAndOrgAndPerson(@WebParam(name = "orgPersonRelationTypeKey") String orgPersonRelationTypeKey, @WebParam(name = "orgId") String orgId, @WebParam(name = "personId") String personId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 933  
 
 934  
     //
 935  
     // Search methods for OrgPersonRelation Asymmetrical Relationship
 936  
     // Pattern.
 937  
     //
 938  
 
 939  
     /**
 940  
      * Searches for OrgPersonRelation Ids that meet the given search
 941  
      * criteria.
 942  
      * 
 943  
      * @param criteria the search criteria
 944  
      * @param contextInfo information containing the principalId and locale
 945  
      *        information about the caller of service operation
 946  
      * @return a list of OrgPersonRelation identifiers matching the criteria
 947  
      * @throws InvalidParameterException criteria or contextInfo is not valid
 948  
      * @throws MissingParameterException criteria or contextInfo is missing or
 949  
      *         null
 950  
      * @throws OperationFailedException unable to complete request
 951  
      * @throws PermissionDeniedException an authorization failure occurred
 952  
      */
 953  
     public List<String> searchForOrgPersonRelationIds(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 954  
 
 955  
     /**
 956  
      * Searches for OrgPersonRelations that meet the given search
 957  
      * criteria.
 958  
      * 
 959  
      * @param criteria the search criteria
 960  
      * @param contextInfo information containing the principalId and locale
 961  
      *        information about the caller of service operation
 962  
      * @return a list of OrgPersonRelations matching the criteria
 963  
      * @throws InvalidParameterException contextInfo is invalid
 964  
      * @throws MissingParameterException criteria or contextInfo is missing or
 965  
      *         null
 966  
      * @throws OperationFailedException unable to complete request
 967  
      * @throws PermissionDeniedException an authorization failure occurred
 968  
      */
 969  
     public List<OrgPersonRelationInfo> searchForOrgPersonRelations(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 970  
 
 971  
     //
 972  
     // CRUD methods for OrgPersonRelation Asymmetrical Relationship
 973  
     // Pattern.
 974  
     //
 975  
 
 976  
     /**
 977  
      * Validates an OrgPersonRelation. Depending on the value of
 978  
      * validationType, this validation could be limited to tests on
 979  
      * just the current OrgPersonRelation and its directly contained
 980  
      * sub-objects or expanded to perform all tests related to this
 981  
      * OrgPersonRelation. If an identifier is present for the
 982  
      * OrgPersonRelation (and/or one of its contained sub-objects) and
 983  
      * a record is found for that identifier, the validation checks if
 984  
      * the OrgPersonRelation can be shifted to the new values. If an
 985  
      * identifier is not present or a record cannot be found for the
 986  
      * identifier, the validation checks if the object with the given
 987  
      * data can be created.
 988  
      * 
 989  
      * @param validationTypeKey the identifier for the validation Type
 990  
      * @param orgId the identifier for an Org
 991  
      * @param personId a the identifier for the Org peer
 992  
      * @param orgPersonRelationTypeKey the identifier for the OrgPersonRelation Type
 993  
      * @param orgPersonRelationInfo the OrgPersonRelation to be validated
 994  
      * @param contextInfo information containing the principalId and locale
 995  
      *        information about the caller of service operation
 996  
      * @return a list of validation results or an empty list if validation
 997  
      *         succeeded
 998  
      * @throws DoesNotExistException validationTypeKey, orgId,
 999  
      *         personId, or orgPersonRelationTypeKey is not found
 1000  
      * @throws InvalidParameterException orgPersonRelationInfo or
 1001  
      *         contextInfo is not valid
 1002  
      * @throws MissingParameterException validationTypeKey, orgId,
 1003  
      *         personId, orgPersonRelationTypeKey, orgPersonRelationInfo,
 1004  
      *         or contextInfo is missing or null
 1005  
      * @throws OperationFailedException unable to complete request
 1006  
      * @throws PermissionDeniedException authorization failure
 1007  
      */
 1008  
     public List<ValidationResultInfo> validateOrgPersonRelation(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "orgId") String orgId, @WebParam(name = "personId") String personId, @WebParam(name = "orgPersonrelationTypeKey") String orgPersonRelationTypeKey, @WebParam(name = "orgPersonRelationInfo") OrgPersonRelationInfo orgPersonRelationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1009  
 
 1010  
     /**
 1011  
      * Creates a new OrgPersonRelation. The OrgPersonRelation Id, Type, Org
 1012  
      * Ids, and Meta information may not be set in the supplied data.
 1013  
      * 
 1014  
      * @param orgId a peer of the relationship
 1015  
      * @param personId a peer of the relationship
 1016  
      * @param orgPersonRelationTypeKey the identifier for the Type of
 1017  
      *        OrgPersonRelation
 1018  
      * @param orgPersonRelationInfo the relationship to be created
 1019  
      * @param contextInfo information containing the principalId and locale
 1020  
      *        information about the caller of service operation
 1021  
      * @return the new OrgPersonRelation
 1022  
      * @throws DataValidationErrorException supplied data is invalid
 1023  
      * @throws DoesNotExistException orgId, personId, or
 1024  
      *         orgPersonRelationTypeKey is not found
 1025  
      * @throws InvalidParameterException orgPersonRelationInfo or contextInfo is
 1026  
      *         not valid
 1027  
      * @throws MissingParameterException orgId, personId,
 1028  
      *         orgPersonRelationTypeKey, orgPersonRelationInfo, or
 1029  
      *         contextInfo is missing or null
 1030  
      * @throws OperationFailedException unable to complete request
 1031  
      * @throws PermissionDeniedException an authorization failure occurred
 1032  
      * @throws ReadOnlyException an attempt at supplying information
 1033  
      *         designated as read only
 1034  
      */
 1035  
     public OrgPersonRelationInfo createOrgPersonRelation(@WebParam(name = "orgId") String orgId, @WebParam(name = "personId") String personId, @WebParam(name = "orgPersonRelationTypeKey") String orgPersonRelationTypeKey, @WebParam(name = "orgPersonRelationInfo") OrgPersonRelationInfo orgPersonRelationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 1036  
 
 1037  
     /**
 1038  
      * Updates an Org Milestone Relationship. The OrgPersonRelation Id,
 1039  
      * Type, Org Ids, and Meta information may not be changed.
 1040  
      * 
 1041  
      * @param orgPersonRelationId the identifier for the
 1042  
      *        OrgPersonRelation updated
 1043  
      * @param orgPersonRelationInfo the new data for the OrgPersonRelation
 1044  
      * @param contextInfo information containing the principalId and
 1045  
      *        locale information about the caller of service operation
 1046  
      * @return the updated OrgPersonRelation
 1047  
      * @throws DataValidationErrorException supplied data is invalid
 1048  
      * @throws DoesNotExistException orgPersonRelationId is not found
 1049  
      * @throws InvalidParameterException orgPersonRelationInfo or
 1050  
      *         contextInfo is not valid
 1051  
      * @throws MissingParameterException orgPersonRelationId,
 1052  
      *         orgPersonRelationInfo, or contextInfo is missing or null
 1053  
      * @throws OperationFailedException unable to complete request
 1054  
      * @throws PermissionDeniedException an authorization failure occurred
 1055  
      * @throws ReadOnlyException an attempt at supplying information
 1056  
      *         designated as read-only
 1057  
      * @throws VersionMismatchException optimistic locking failure or
 1058  
      *         the action was attempted on an out of date version
 1059  
      */
 1060  
     public OrgPersonRelationInfo updateOrgPersonRelation(@WebParam(name = "orgPersonRelationId") String orgPersonRelationId, @WebParam(name = "orgPersonRelationInfo") OrgPersonRelationInfo orgPersonRelationInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
 1061  
 
 1062  
     /**
 1063  
      * Deletes an existing OrgPersonRelation.
 1064  
      * 
 1065  
      * @param orgPersonRelationId the identifier for the
 1066  
      *        OrgPersonRelation to be deleted
 1067  
      * @param contextInfo information containing the principalId and
 1068  
      *        locale information about the caller of service operation
 1069  
      * @return status of the delete operation. This must always be true.
 1070  
      * @throws DoesNotExistException orgPersonrelationId is not found
 1071  
      * @throws InvalidParameterException contextInfo is not valid
 1072  
      * @throws MissingParameterException orgPersonRelationId or
 1073  
      *         contextInfo is missing or null
 1074  
      * @throws OperationFailedException unable to complete request
 1075  
      * @throws PermissionDeniedException an authorization failure occurred
 1076  
      */
 1077  
     public StatusInfo deleteOrgPersonRelation(@WebParam(name = "orgPersonRelationId") String orgPersonRelationId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1078  
 
 1079  
     //
 1080  
     // Lookup Methods for OrgPositionRestriction Dependent Id Entity
 1081  
     // Pattern.
 1082  
     //
 1083  
 
 1084  
     /**
 1085  
      * Retrieves a single OrgPositionRestriction by
 1086  
      * OrgPositionRestriction id.
 1087  
      * 
 1088  
      * @param orgPositionRestrictionId the identifier of the
 1089  
      *        OrgPositionRestriction to be retrieved
 1090  
      * @param contextInfo information containing the principalId and
 1091  
      *        locale information about the caller of service operation
 1092  
      * @return the OrgPositionRestriction requested
 1093  
      * @throws DoesNotExistException orgPositionRestrictionId is not found
 1094  
      * @throws InvalidParameterException contextInfo not valid
 1095  
      * @throws MissingParameterException orgPositionRestrictionId or
 1096  
      *         contextInfo is missing or null
 1097  
      * @throws OperationFailedException unable to complete request
 1098  
      * @throws PermissionDeniedException an authorization failure occurred
 1099  
      */
 1100  
     public OrgPositionRestrictionInfo getOrgPositionRestriction(@WebParam(name = "orgPositionRestrictionId") String orgPositionRestrictionId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1101  
 
 1102  
     /**
 1103  
      * Retrieves a list of OrgPositionRestrictions from a list of
 1104  
      * OrgPositionRestriction Ids. The returned list may be in any
 1105  
      * order and if duplicate Ids are supplied, a unique set may or
 1106  
      * may not be returned.
 1107  
      * 
 1108  
      * @param orgPositionRestrictionIds a list of OrgPositionRestriction Ids
 1109  
      * @param contextInfo information containing the principalId and
 1110  
      *        locale information about the caller of service operation
 1111  
      * @return a list of OrgPositionRestrictions
 1112  
      * @throws DoesNotExistException an orgPositionRestrictionId in
 1113  
      *         the list not found
 1114  
      * @throws InvalidParameterException contextInfo is not valid
 1115  
      * @throws MissingParameterException orgPositionRestrictionIds, an
 1116  
      *         id in orgPositionRestrictionIds, or contextInfo is
 1117  
      *         missing or null
 1118  
      * @throws OperationFailedException unable to complete request
 1119  
      * @throws PermissionDeniedException an authorization failure occurred
 1120  
      */
 1121  
     public List<OrgPositionRestrictionInfo> getOrgPositionRestrictionsByIds(@WebParam(name = "orgPositionRestrictionIds") List<String> orgPositionRestrictionIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1122  
 
 1123  
     /**
 1124  
      * Retrieves a list of OrgPositionRestrictions by
 1125  
      * OrgPositionRestriction Type.
 1126  
      * 
 1127  
      * @param orgPersonRelationTypeKey an identifier for the OrgPositionRestriction
 1128  
      *        type
 1129  
      * @param contextInfo information containing the principalId and
 1130  
      *        locale information about the caller of service operation
 1131  
      * @return a list of OrgPositionRestriction Ids matching
 1132  
      *         orgPersonRelationTypeKey or an empty list if none found
 1133  
      * @throws InvalidParameterException contextInfo is invalid
 1134  
      * @throws MissingParameterException orgPersonRelationTypeKey or contextInfo is
 1135  
      *         missing or null
 1136  
      * @throws OperationFailedException unable to complete request
 1137  
      * @throws PermissionDeniedException an authorization failure occurred
 1138  
      */
 1139  
     public List<String> getOrgPositionRestrictionIdsByType(@WebParam(name = "orgPersonRelationTypeKey") String orgPersonRelationTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1140  
 
 1141  
     /**
 1142  
      * Retrieves a list of OrgPositionRestrictions by Org.
 1143  
      * 
 1144  
      * @param orgId an identifier for the Org
 1145  
      * @param contextInfo information containing the principalId and
 1146  
      *        locale information about the caller of service operation
 1147  
      * @return a list of OrgPositionRestrictions for the Org 
 1148  
      * @throws DoesNotExistException orgId is not found
 1149  
      * @throws InvalidParameterException contextInfo is invalid
 1150  
      * @throws MissingParameterException orgIdy or contextInfo is
 1151  
      *         missing or null
 1152  
      * @throws OperationFailedException unable to complete request
 1153  
      * @throws PermissionDeniedException an authorization failure occurred
 1154  
      */
 1155  
     public List<String> getOrgPositionRestrictionIdsByOrg(@WebParam(name = "orgId") String orgId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1156  
 
 1157  
     //
 1158  
     // Search methods for OrgPositionRestriction Dependent Id Entity
 1159  
     // Pattern.
 1160  
     //
 1161  
 
 1162  
     /**
 1163  
      * Searches for OrgPositionRestriction Ids that meet the given
 1164  
      * search criteria.
 1165  
      * 
 1166  
      * @param criteria the search criteria
 1167  
      * @param contextInfo information containing the principalId and
 1168  
      *        locale information about the caller of service operation
 1169  
      * @return list of OrgPositionRestriction identifiers matching the
 1170  
      *         criteria
 1171  
      * @throws InvalidParameterException criteria or contextInfo is not valid
 1172  
      * @throws MissingParameterException criteria or contextInfo is
 1173  
      *         missing or null
 1174  
      * @throws OperationFailedException unable to complete request
 1175  
      * @throws PermissionDeniedException an authorization failure occurred
 1176  
      */
 1177  
     public List<String> searchForOrgPositionRestrictionIds(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1178  
 
 1179  
     /**
 1180  
      * Searches for OrgPositionRestrictions that meet the given search
 1181  
      * criteria.
 1182  
      * 
 1183  
      * @param criteria the search criteria
 1184  
      * @param contextInfo information containing the principalId and
 1185  
      *        locale information about the caller of service operation
 1186  
      * @return list of OrgPositionRestrictions matching the criteria
 1187  
      * @throws InvalidParameterException criteria or contextInfo is
 1188  
      *         not valid
 1189  
      * @throws MissingParameterException criteria or contextInfo is
 1190  
      *         missing or null
 1191  
      * @throws OperationFailedException unable to complete request
 1192  
      * @throws PermissionDeniedException an authorization failure occurred
 1193  
      */
 1194  
     public List<OrgPositionRestrictionInfo> searchForOrgPositionRestrictions(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1195  
 
 1196  
     //
 1197  
     // CRUD methods for OrgPositionRestriction Dependent Id Entity
 1198  
     // Pattern.
 1199  
     //
 1200  
 
 1201  
     /**
 1202  
      * Validates an OrgPositionRestriction. Depending on the value of
 1203  
      * validationType, this validation could be limited to tests on
 1204  
      * just the current object and its directly contained sub-objects
 1205  
      * or expanded to perform all tests related to this
 1206  
      * OrgPositionRestriction. If an identifier is present for the
 1207  
      * OrgPositionRestriction (and/or one of its contained
 1208  
      * sub-objects) and a record is found for that identifier, the
 1209  
      * validation checks if the OrgPositionRestriction can be shifted
 1210  
      * to the new values. If a an identifier is not present or a
 1211  
      * record does not exist, the validation checks if the
 1212  
      * OrgPositionRestriction with the given data can be created.
 1213  
      * 
 1214  
      * @param validationTypeKey the identifier for the validation Type
 1215  
      * @param orgId the identifier for the Org
 1216  
      * @param orgPersonRelationTypeKey the identifier for the 
 1217  
      *        OrgPositionRestriction Type to be validated
 1218  
      * @param orgPositionRestrictionInfo the identifier for the
 1219  
      *        OrgPositionRestriction to be validated
 1220  
      * @param contextInfo information containing the principalId and
 1221  
      *        locale information about the caller of service operation
 1222  
      * @return a list of validation results or an empty list if
 1223  
      *         validation succeeded
 1224  
      * @throws DoesNotExistException validationTypeKey, orgId, or
 1225  
      *         orgPersonRelationTypeKey is not found
 1226  
      * @throws InvalidParameterException orgPositionRestrictionInfo or
 1227  
      *         contextInfo is not valid
 1228  
      * @throws MissingParameterException validationTypeKey, orgId,
 1229  
      *         orgPersonRelationTypeKey
 1230  
      *         orgPositionRestrictionInfo, or contextInfo is missing
 1231  
      *         or null
 1232  
      * @throws OperationFailedException unable to complete request
 1233  
      * @throws PermissionDeniedException an authorization failure occurred
 1234  
      */
 1235  
     public List<ValidationResultInfo> validateOrgPositionRestriction(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "orgId") String orgId, @WebParam(name = "orgPersonRelationTypeKey") String orgPersonRelationTypeKey, @WebParam(name = "orgPositionRestrictionInfo") OrgPositionRestrictionInfo orgPositionRestrictionInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1236  
 
 1237  
     /**
 1238  
      * Creates a new OrgPositionRestriction. The
 1239  
      * OrgPositionRestriction Type and Meta information may not be set
 1240  
      * in the supplied data object.
 1241  
      * 
 1242  
      * @param orgPersonRelationTypeKey a unique identifier for
 1243  
      *        the Type of the new OrgPositionRestriction
 1244  
      * @param orgPositionRestrictionInfo the data with which to create
 1245  
      *        the OrgPositionRestriction
 1246  
      * @param contextInfo information containing the principalId and
 1247  
      *        locale information about the caller of service operation
 1248  
      * @return the new OrgPositionRestriction
 1249  
      * @throws DataValidationErrorException supplied data is invalid
 1250  
      * @throws DoesNotExistException orgPersonRelationTypeKey does not exist or is
 1251  
      *         not supported
 1252  
      * @throws InvalidParameterException orgPositionRestrictionInfo or contextInfo is not valid
 1253  
      * @throws MissingParameterException orgId,
 1254  
      *         orgPersonRelationTypeKey,
 1255  
      *         orgPositionRestrictionInfo, or contextInfo is missing
 1256  
      *         or null
 1257  
      * @throws OperationFailedException unable to complete request
 1258  
      * @throws PermissionDeniedException an authorization failure occurred
 1259  
      * @throws ReadOnlyException an attempt at supplying information
 1260  
      *         designated as read only
 1261  
      */
 1262  
     public OrgPositionRestrictionInfo createOrgPositionRestriction(@WebParam(name = "orgId") String orgId, @WebParam(name = "orgPersonRelationTypeKey") String orgPersonRelationTypeKey, @WebParam(name = "orgPositionRestrictionInfo") OrgPositionRestrictionInfo orgPositionRestrictionInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;
 1263  
 
 1264  
     /**
 1265  
      * Updates an existing OrgPositionRestriction. The
 1266  
      * OrgPositionRestriction id, Type, and Meta information may not
 1267  
      * be changed.
 1268  
      * 
 1269  
      * @param orgPositionRestrictionId the identifier for the
 1270  
      *        OrgPositionRestriction to be updated
 1271  
      * @param orgPositionRestrictionInfo the new data for the OrgPositionRestriction
 1272  
      * @param contextInfo information containing the principalId and
 1273  
      *        locale information about the caller of service operation
 1274  
      * @return the updated OrgPositionRestriction
 1275  
      * @throws DataValidationErrorException supplied data is invalid
 1276  
      * @throws DoesNotExistException orgPositionRestrictionId is not found
 1277  
      * @throws InvalidParameterException orgPositionRestrictionInfo or
 1278  
      *         contextInfo is not valid
 1279  
      * @throws MissingParameterException orgPositionRestrictionId,
 1280  
      *         orgPositionRestrictionInfo, or contextInfo is missing
 1281  
      *         or null
 1282  
      * @throws OperationFailedException unable to complete request
 1283  
      * @throws PermissionDeniedException an authorization failure occurred
 1284  
      * @throws ReadOnlyException an attempt at supplying information
 1285  
      *         designated as read only
 1286  
      * @throws VersionMismatchException an optimistic locking failure
 1287  
      *         or the action was attempted on an out of date version
 1288  
      */
 1289  
     public OrgPositionRestrictionInfo updateOrgPositionRestriction(@WebParam(name = "orgPositionRestrictionId") String orgPositionRestrictionId, @WebParam(name = "orgPositionRestrictionInfo") OrgPositionRestrictionInfo orgPositionRestrictionInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException;
 1290  
 
 1291  
     /**
 1292  
      * Deletes an existing OrgPositionRestriction.
 1293  
      * 
 1294  
      * @param orgPositionRestrictionId the identifier for the
 1295  
      *        OrgPositionRestriction to be deleted
 1296  
      * @param contextInfo information containing the principalId and
 1297  
      *        locale information about the caller of service operation
 1298  
      * @return the status of the operation. This must always be true.
 1299  
      * @throws DoesNotExistException orgPositionRestrictionId is not found
 1300  
      * @throws InvalidParameterException contextInfo is not valid
 1301  
      * @throws MissingParameterException orgPositionRestrictionId or
 1302  
      *         contextInfo is missing or null
 1303  
      * @throws OperationFailedException unable to complete request
 1304  
      * @throws PermissionDeniedException an authorization failure occurred
 1305  
      */
 1306  
     public StatusInfo deleteOrgPositionRestriction(@WebParam(name = "orgPositionRestrictionId") String orgPositionRestrictionId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1307  
                                                    
 1308  
     //
 1309  
     // Organization Hierarchy methods.
 1310  
     //
 1311  
 
 1312  
     /** 
 1313  
      * Tests if a specified organization is a descendant of the other
 1314  
      * specified organization in the given organization hierarchy.
 1315  
      *
 1316  
      * @param orgId identifier of the "ancestor" organization
 1317  
      * @param descendantOrgId identifier of the organization to be
 1318  
      *        checked if it is a descendant
 1319  
      * @param orgHierarchyId the identifier of the organization
 1320  
      *        hierarchy to be checked against
 1321  
      * @param contextInfo information containing the principalId and
 1322  
      *        locale information about the caller of service operation
 1323  
      * @return true if the organization is a descendant of the other
 1324  
      *         organization in that hierarchy, false if not a descendant
 1325  
      *         or does not exist
 1326  
      * @throws InvalidParameterException contextInfo is not valid
 1327  
      * @throws MissingParameterException orgId, descendantOrgId,
 1328  
      *         orgHierarchyId, or contextInfo is missing or null
 1329  
      * @throws OperationFailedException unable to complete request
 1330  
      * @throws PermissionDeniedException an authorization failure occurred
 1331  
      */
 1332  
     public Boolean isDescendant(@WebParam(name = "orgId") String orgId, @WebParam(name = "descendantOrgId") String descendantOrgId, @WebParam(name = "orgHierarchyId") String orgHierarchyId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1333  
 
 1334  
     /** 
 1335  
      * Retrieves the list of identifiers for all "descendant"
 1336  
      * organizations of the specified organization in the given
 1337  
      * organization hierarchy, regardless of the distance from the
 1338  
      * specified organization.  Information about the distance from
 1339  
      * the original organization is not returned by this call, so this
 1340  
      * can be seen as a flattened and de-duplicated representation.
 1341  
      * 
 1342  
      * @param orgId identifier of the "ancestor" organization
 1343  
      * @param orgHierarchyId identifier of the organization hierarchy
 1344  
      *        to be checked against
 1345  
      * @param contextInfo information containing the principalId and
 1346  
      *        locale information about the caller of service operation
 1347  
      * @return a list of identifiers for the "descendant" organizations
 1348  
      *         for the specified organization
 1349  
      * @throws DoesNotExistException rootOrgId or orgHierarchyId is
 1350  
      *         not found, or orgId not part of orgHierarchyId
 1351  
      * @throws InvalidParameterException contextInfo is not valid
 1352  
      * @throws MissingParameterException orgId, orgHierarchyId, or
 1353  
      *         contextInfo is missing or null
 1354  
      * @throws OperationFailedException unable to complete request
 1355  
      * @throws PermissionDeniedException an authorization failure occurred
 1356  
      */
 1357  
     public List<String> getAllDescendants(@WebParam(name = "orgId") String orgId, @WebParam(name = "orgHierarchyId") String orgHierarchyId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1358  
 
 1359  
     /** 
 1360  
      * Retrieves the list of identifiers for all "ancestor"
 1361  
      * organizations of the the specified organization in the given
 1362  
      * organization hierarchy, regardless of the distance from the
 1363  
      * specified organization.  Information about the distance from
 1364  
      * the original organization is not returned by this call, so this
 1365  
      * can be seen as a flattened and de-duplicated representation.
 1366  
      * 
 1367  
      * @param orgId identifier of the "descendant" organization
 1368  
      * @param orgHierarchyId identifier of the organization hierarchy to
 1369  
      *        be checked against
 1370  
      * @param contextInfo information containing the principalId and
 1371  
      *        locale information about the caller of service operation
 1372  
      * @return a list of identifiers for the "ancestor" organizations
 1373  
      *         of the specified organization
 1374  
      * @throws DoesNotExistException rootOrgId or orgHierarchyId is
 1375  
      *         not found, or orgId not part of orgHierarchyId
 1376  
      * @throws InvalidParameterException contextInfo is not valid
 1377  
      * @throws MissingParameterException orgId, orgHierarchyId, or
 1378  
      *         contextInfo is missing or null
 1379  
      * @throws OperationFailedException unable to complete request
 1380  
      * @throws PermissionDeniedException an authorization failure occurred
 1381  
      */
 1382  
     public List<String> getAllAncestors(@WebParam(name="orgId") String orgId, @WebParam(name="orgHierarchyId") String orgHierarchyId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1383  
 
 1384  
     /**
 1385  
      * Finds a list of all orgs in the org hierarchy starting at the
 1386  
      * root org and going down maxLevels of the tree
 1387  
      *
 1388  
      * @param rootOrgId 
 1389  
      * @param orgHierarchyId
 1390  
      * @param maxLevels the max number of levels in the tree to
 1391  
      *        return. If set to 0 returns all nodes in the tree
 1392  
      * @param contextInfo information containing the principalId and
 1393  
      *        locale information about the caller of service operation
 1394  
      * @return List of OrgTreeInfo in
 1395  
      * @throws DoesNotExistException rootOrgId or orgHierarchyId is
 1396  
      *         not found, or rootOrgId is not part or orgHierarchyId
 1397  
      * @throws InvalidParameterException contextInfo is not valid
 1398  
      * @throws MissingParameterException rootOrgId, orgHierarchyId, or 
 1399  
      *         contextInfo is missing or null
 1400  
      * @throws OperationFailedException unable to complete request
 1401  
      * @throws PermissionDeniedException an authorization failure occurred
 1402  
      */
 1403  
     public List<OrgTreeInfo> getOrgTree(@WebParam(name = "rootOrgId") String rootOrgId, @WebParam(name = "orgHierarchyId") String orgHierarchyId, @WebParam(name = "maxLevels") int maxLevels, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException;
 1404  
 }