001 /** 002 * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved. 003 * 004 * This library is free software; you can redistribute it and/or modify it under 005 * the terms of the GNU Lesser General Public License as published by the Free 006 * Software Foundation; either version 2.1 of the License, or (at your option) 007 * any later version. 008 * 009 * This library is distributed in the hope that it will be useful, but WITHOUT 010 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 011 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 012 * details. 013 */ 014 015 package com.liferay.portal.service; 016 017 import com.liferay.portal.kernel.exception.PortalException; 018 import com.liferay.portal.kernel.exception.SystemException; 019 import com.liferay.portal.kernel.transaction.Isolation; 020 import com.liferay.portal.kernel.transaction.Propagation; 021 import com.liferay.portal.kernel.transaction.Transactional; 022 023 /** 024 * The interface for the organization local service. 025 * 026 * <p> 027 * This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM. 028 * </p> 029 * 030 * @author Brian Wing Shun Chan 031 * @see OrganizationLocalServiceUtil 032 * @see com.liferay.portal.service.base.OrganizationLocalServiceBaseImpl 033 * @see com.liferay.portal.service.impl.OrganizationLocalServiceImpl 034 * @generated 035 */ 036 @Transactional(isolation = Isolation.PORTAL, rollbackFor = { 037 PortalException.class, SystemException.class}) 038 public interface OrganizationLocalService extends PersistedModelLocalService { 039 /* 040 * NOTE FOR DEVELOPERS: 041 * 042 * Never modify or reference this interface directly. Always use {@link OrganizationLocalServiceUtil} to access the organization local service. Add custom service methods to {@link com.liferay.portal.service.impl.OrganizationLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface. 043 */ 044 045 /** 046 * Adds the organization to the database. Also notifies the appropriate model listeners. 047 * 048 * @param organization the organization 049 * @return the organization that was added 050 * @throws SystemException if a system exception occurred 051 */ 052 public com.liferay.portal.model.Organization addOrganization( 053 com.liferay.portal.model.Organization organization) 054 throws com.liferay.portal.kernel.exception.SystemException; 055 056 /** 057 * Creates a new organization with the primary key. Does not add the organization to the database. 058 * 059 * @param organizationId the primary key for the new organization 060 * @return the new organization 061 */ 062 public com.liferay.portal.model.Organization createOrganization( 063 long organizationId); 064 065 /** 066 * Deletes the organization with the primary key from the database. Also notifies the appropriate model listeners. 067 * 068 * @param organizationId the primary key of the organization 069 * @throws PortalException if a organization with the primary key could not be found 070 * @throws SystemException if a system exception occurred 071 */ 072 public void deleteOrganization(long organizationId) 073 throws com.liferay.portal.kernel.exception.PortalException, 074 com.liferay.portal.kernel.exception.SystemException; 075 076 /** 077 * Deletes the organization from the database. Also notifies the appropriate model listeners. 078 * 079 * @param organization the organization 080 * @throws PortalException 081 * @throws SystemException if a system exception occurred 082 */ 083 public void deleteOrganization( 084 com.liferay.portal.model.Organization organization) 085 throws com.liferay.portal.kernel.exception.PortalException, 086 com.liferay.portal.kernel.exception.SystemException; 087 088 /** 089 * Performs a dynamic query on the database and returns the matching rows. 090 * 091 * @param dynamicQuery the dynamic query 092 * @return the matching rows 093 * @throws SystemException if a system exception occurred 094 */ 095 @SuppressWarnings("rawtypes") 096 public java.util.List dynamicQuery( 097 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) 098 throws com.liferay.portal.kernel.exception.SystemException; 099 100 /** 101 * Performs a dynamic query on the database and returns a range of the matching rows. 102 * 103 * <p> 104 * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. 105 * </p> 106 * 107 * @param dynamicQuery the dynamic query 108 * @param start the lower bound of the range of model instances 109 * @param end the upper bound of the range of model instances (not inclusive) 110 * @return the range of matching rows 111 * @throws SystemException if a system exception occurred 112 */ 113 @SuppressWarnings("rawtypes") 114 public java.util.List dynamicQuery( 115 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, 116 int end) throws com.liferay.portal.kernel.exception.SystemException; 117 118 /** 119 * Performs a dynamic query on the database and returns an ordered range of the matching rows. 120 * 121 * <p> 122 * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. 123 * </p> 124 * 125 * @param dynamicQuery the dynamic query 126 * @param start the lower bound of the range of model instances 127 * @param end the upper bound of the range of model instances (not inclusive) 128 * @param orderByComparator the comparator to order the results by (optionally <code>null</code>) 129 * @return the ordered range of matching rows 130 * @throws SystemException if a system exception occurred 131 */ 132 @SuppressWarnings("rawtypes") 133 public java.util.List dynamicQuery( 134 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, 135 int end, 136 com.liferay.portal.kernel.util.OrderByComparator orderByComparator) 137 throws com.liferay.portal.kernel.exception.SystemException; 138 139 /** 140 * Returns the number of rows that match the dynamic query. 141 * 142 * @param dynamicQuery the dynamic query 143 * @return the number of rows that match the dynamic query 144 * @throws SystemException if a system exception occurred 145 */ 146 public long dynamicQueryCount( 147 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) 148 throws com.liferay.portal.kernel.exception.SystemException; 149 150 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 151 public com.liferay.portal.model.Organization fetchOrganization( 152 long organizationId) 153 throws com.liferay.portal.kernel.exception.SystemException; 154 155 /** 156 * Returns the organization with the primary key. 157 * 158 * @param organizationId the primary key of the organization 159 * @return the organization 160 * @throws PortalException if a organization with the primary key could not be found 161 * @throws SystemException if a system exception occurred 162 */ 163 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 164 public com.liferay.portal.model.Organization getOrganization( 165 long organizationId) 166 throws com.liferay.portal.kernel.exception.PortalException, 167 com.liferay.portal.kernel.exception.SystemException; 168 169 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 170 public com.liferay.portal.model.PersistedModel getPersistedModel( 171 java.io.Serializable primaryKeyObj) 172 throws com.liferay.portal.kernel.exception.PortalException, 173 com.liferay.portal.kernel.exception.SystemException; 174 175 /** 176 * Returns a range of all the organizations. 177 * 178 * <p> 179 * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. 180 * </p> 181 * 182 * @param start the lower bound of the range of organizations 183 * @param end the upper bound of the range of organizations (not inclusive) 184 * @return the range of organizations 185 * @throws SystemException if a system exception occurred 186 */ 187 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 188 public java.util.List<com.liferay.portal.model.Organization> getOrganizations( 189 int start, int end) 190 throws com.liferay.portal.kernel.exception.SystemException; 191 192 /** 193 * Returns the number of organizations. 194 * 195 * @return the number of organizations 196 * @throws SystemException if a system exception occurred 197 */ 198 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 199 public int getOrganizationsCount() 200 throws com.liferay.portal.kernel.exception.SystemException; 201 202 /** 203 * Updates the organization in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners. 204 * 205 * @param organization the organization 206 * @return the organization that was updated 207 * @throws SystemException if a system exception occurred 208 */ 209 public com.liferay.portal.model.Organization updateOrganization( 210 com.liferay.portal.model.Organization organization) 211 throws com.liferay.portal.kernel.exception.SystemException; 212 213 /** 214 * Updates the organization in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners. 215 * 216 * @param organization the organization 217 * @param merge whether to merge the organization with the current session. See {@link com.liferay.portal.service.persistence.BatchSession#update(com.liferay.portal.kernel.dao.orm.Session, com.liferay.portal.model.BaseModel, boolean)} for an explanation. 218 * @return the organization that was updated 219 * @throws SystemException if a system exception occurred 220 */ 221 public com.liferay.portal.model.Organization updateOrganization( 222 com.liferay.portal.model.Organization organization, boolean merge) 223 throws com.liferay.portal.kernel.exception.SystemException; 224 225 /** 226 * Returns the Spring bean ID for this bean. 227 * 228 * @return the Spring bean ID for this bean 229 */ 230 public java.lang.String getBeanIdentifier(); 231 232 /** 233 * Sets the Spring bean ID for this bean. 234 * 235 * @param beanIdentifier the Spring bean ID for this bean 236 */ 237 public void setBeanIdentifier(java.lang.String beanIdentifier); 238 239 /** 240 * Adds the organizations to the group. 241 * 242 * @param groupId the primary key of the group 243 * @param organizationIds the primary keys of the organizations 244 * @throws PortalException if a group or organization with the primary key 245 could not be found 246 * @throws SystemException if a system exception occurred 247 */ 248 public void addGroupOrganizations(long groupId, long[] organizationIds) 249 throws com.liferay.portal.kernel.exception.PortalException, 250 com.liferay.portal.kernel.exception.SystemException; 251 252 /** 253 * Adds an organization. 254 * 255 * <p> 256 * This method handles the creation and bookkeeping of the organization 257 * including its resources, metadata, and internal data structures. It is 258 * not necessary to make a subsequent call to {@link 259 * #addOrganizationResources(long, Organization)}. 260 * </p> 261 * 262 * @param userId the primary key of the creator/owner of the organization 263 * @param parentOrganizationId the primary key of the organization's parent 264 organization 265 * @param name the organization's name 266 * @param type the organization's type 267 * @param recursable whether the permissions of the organization are to be 268 inherited by its sub-organizations 269 * @param regionId the primary key of the organization's region 270 * @param countryId the primary key of the organization's country 271 * @param statusId the organization's workflow status 272 * @param comments the comments about the organization 273 * @param site whether the organization is to be associated with a main 274 site 275 * @param serviceContext the organization's service context (optionally 276 <code>null</code>). Can set asset category IDs, asset tag names, 277 and expando bridge attributes for the organization. 278 * @return the organization 279 * @throws PortalException if a creator or parent organization with the 280 primary key could not be found or if the organization's 281 information was invalid 282 * @throws SystemException if a system exception occurred 283 */ 284 public com.liferay.portal.model.Organization addOrganization(long userId, 285 long parentOrganizationId, java.lang.String name, 286 java.lang.String type, boolean recursable, long regionId, 287 long countryId, int statusId, java.lang.String comments, boolean site, 288 com.liferay.portal.service.ServiceContext serviceContext) 289 throws com.liferay.portal.kernel.exception.PortalException, 290 com.liferay.portal.kernel.exception.SystemException; 291 292 /** 293 * Adds a resource for each type of permission available on the 294 * organization. 295 * 296 * @param userId the primary key of the creator/owner of the organization 297 * @param organization the organization 298 * @throws PortalException if a portal exception occurred 299 * @throws SystemException if a system exception occurred 300 */ 301 public void addOrganizationResources(long userId, 302 com.liferay.portal.model.Organization organization) 303 throws com.liferay.portal.kernel.exception.PortalException, 304 com.liferay.portal.kernel.exception.SystemException; 305 306 /** 307 * Assigns the password policy to the organizations, removing any other 308 * currently assigned password policies. 309 * 310 * @param passwordPolicyId the primary key of the password policy 311 * @param organizationIds the primary keys of the organizations 312 * @throws SystemException if a system exception occurred 313 */ 314 public void addPasswordPolicyOrganizations(long passwordPolicyId, 315 long[] organizationIds) 316 throws com.liferay.portal.kernel.exception.SystemException; 317 318 /** 319 * Deletes the logo of the organization. 320 * 321 * @param organizationId the primary key of the organization 322 * @throws PortalException if an organization or parent organization with 323 the primary key could not be found or if the organization's logo 324 could not be found 325 * @throws SystemException if a system exception occurred 326 */ 327 public void deleteLogo(long organizationId) 328 throws com.liferay.portal.kernel.exception.PortalException, 329 com.liferay.portal.kernel.exception.SystemException; 330 331 /** 332 * Returns all the organizations belonging to the group. 333 * 334 * @param groupId the primary key of the group 335 * @return the organizations belonging to the group 336 * @throws SystemException if a system exception occurred 337 */ 338 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 339 public java.util.List<com.liferay.portal.model.Organization> getGroupOrganizations( 340 long groupId) 341 throws com.liferay.portal.kernel.exception.SystemException; 342 343 /** 344 * Returns the organization with the name. 345 * 346 * @param companyId the primary key of the organization's company 347 * @param name the organization's name 348 * @return the organization with the name 349 * @throws PortalException if the organization with the name could not be 350 found 351 * @throws SystemException if a system exception occurred 352 */ 353 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 354 public com.liferay.portal.model.Organization getOrganization( 355 long companyId, java.lang.String name) 356 throws com.liferay.portal.kernel.exception.PortalException, 357 com.liferay.portal.kernel.exception.SystemException; 358 359 /** 360 * Returns the primary key of the organization with the name. 361 * 362 * @param companyId the primary key of the organization's company 363 * @param name the organization's name 364 * @return the primary key of the organization with the name, or 365 <code>0</code> if the organization could not be found 366 * @throws SystemException if a system exception occurred 367 */ 368 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 369 public long getOrganizationId(long companyId, java.lang.String name) 370 throws com.liferay.portal.kernel.exception.SystemException; 371 372 /** 373 * Returns all the organizations belonging to the parent organization. 374 * 375 * @param companyId the primary key of the organization's company 376 * @param parentOrganizationId the primary key of the organization's parent 377 organization 378 * @return the organizations belonging to the parent organization 379 * @throws SystemException if a system exception occurred 380 */ 381 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 382 public java.util.List<com.liferay.portal.model.Organization> getOrganizations( 383 long companyId, long parentOrganizationId) 384 throws com.liferay.portal.kernel.exception.SystemException; 385 386 /** 387 * Returns a range of all the organizations belonging to the parent 388 * organization. 389 * 390 * <p> 391 * Useful when paginating results. Returns a maximum of <code>end - 392 * start</code> instances. <code>start</code> and <code>end</code> are not 393 * primary keys, they are indexes in the result set. Thus, <code>0</code> 394 * refers to the first result in the set. Setting both <code>start</code> 395 * and <code>end</code> to {@link 396 * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full 397 * result set. 398 * </p> 399 * 400 * @param companyId the primary key of the organization's company 401 * @param parentOrganizationId the primary key of the organization's parent 402 organization 403 * @param start the lower bound of the range of organizations to return 404 * @param end the upper bound of the range of organizations to return (not 405 inclusive) 406 * @return the range of organizations belonging to the parent organization 407 * @throws SystemException if a system exception occurred 408 * @see com.liferay.portal.service.persistence.OrganizationPersistence#findByC_P( 409 long, long, int, int) 410 */ 411 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 412 public java.util.List<com.liferay.portal.model.Organization> getOrganizations( 413 long companyId, long parentOrganizationId, int start, int end) 414 throws com.liferay.portal.kernel.exception.SystemException; 415 416 /** 417 * Returns the organizations with the primary keys. 418 * 419 * @param organizationIds the primary keys of the organizations 420 * @return the organizations with the primary keys 421 * @throws PortalException if any one of the organizations could not be 422 found 423 * @throws SystemException if a system exception occurred 424 */ 425 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 426 public java.util.List<com.liferay.portal.model.Organization> getOrganizations( 427 long[] organizationIds) 428 throws com.liferay.portal.kernel.exception.PortalException, 429 com.liferay.portal.kernel.exception.SystemException; 430 431 /** 432 * Returns the number of organizations belonging to the parent organization. 433 * 434 * @param companyId the primary key of the organization's company 435 * @param parentOrganizationId the primary key of the organization's parent 436 organization 437 * @return the number of organizations belonging to the parent organization 438 * @throws SystemException if a system exception occurred 439 */ 440 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 441 public int getOrganizationsCount(long companyId, long parentOrganizationId) 442 throws com.liferay.portal.kernel.exception.SystemException; 443 444 /** 445 * Returns the parent organizations in order by closest ancestor. The list 446 * starts with the organization itself. 447 * 448 * @param organizationId the primary key of the organization 449 * @return the parent organizations in order by closest ancestor 450 * @throws PortalException if an organization with the primary key could not 451 be found 452 * @throws SystemException if a system exception occurred 453 */ 454 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 455 public java.util.List<com.liferay.portal.model.Organization> getParentOrganizations( 456 long organizationId) 457 throws com.liferay.portal.kernel.exception.PortalException, 458 com.liferay.portal.kernel.exception.SystemException; 459 460 /** 461 * Returns the sub-organizations of the organizations. 462 * 463 * @param organizations the organizations from which to get 464 sub-organizations 465 * @return the sub-organizations of the organizations 466 * @throws SystemException if a system exception occurred 467 */ 468 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 469 public java.util.List<com.liferay.portal.model.Organization> getSuborganizations( 470 java.util.List<com.liferay.portal.model.Organization> organizations) 471 throws com.liferay.portal.kernel.exception.SystemException; 472 473 /** 474 * Returns the intersection of <code>allOrganizations</code> and 475 * <code>availableOrganizations</code>. 476 * 477 * @param allOrganizations the organizations to check for availability 478 * @param availableOrganizations the available organizations 479 * @return the intersection of <code>allOrganizations</code> and 480 <code>availableOrganizations</code> 481 */ 482 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 483 public java.util.List<com.liferay.portal.model.Organization> getSubsetOrganizations( 484 java.util.List<com.liferay.portal.model.Organization> allOrganizations, 485 java.util.List<com.liferay.portal.model.Organization> availableOrganizations); 486 487 /** 488 * Returns all the organizations associated with the user. 489 * 490 * @param userId the primary key of the user 491 * @return the organizations associated with the user 492 * @throws PortalException if a user with the primary key could not be found 493 * @throws SystemException if a system exception occurred 494 */ 495 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 496 public java.util.List<com.liferay.portal.model.Organization> getUserOrganizations( 497 long userId) 498 throws com.liferay.portal.kernel.exception.PortalException, 499 com.liferay.portal.kernel.exception.SystemException; 500 501 /** 502 * Returns a range of all the organizations associated with the user. 503 * 504 * <p> 505 * Useful when paginating results. Returns a maximum of <code>end - 506 * start</code> instances. <code>start</code> and <code>end</code> are not 507 * primary keys, they are indexes in the result set. Thus, <code>0</code> 508 * refers to the first result in the set. Setting both <code>start</code> 509 * and <code>end</code> to {@link 510 * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full 511 * result set. 512 * </p> 513 * 514 * @param userId the primary key of the user 515 * @param start the lower bound of the range of organizations to return 516 * @param end the upper bound of the range of organizations to return (not 517 inclusive) 518 * @return the range organizations associated with the user 519 * @throws PortalException if a user with the primary key could not be found 520 * @throws SystemException if a system exception occurred 521 */ 522 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 523 public java.util.List<com.liferay.portal.model.Organization> getUserOrganizations( 524 long userId, int start, int end) 525 throws com.liferay.portal.kernel.exception.PortalException, 526 com.liferay.portal.kernel.exception.SystemException; 527 528 /** 529 * Returns the number of organizations associated with the user. 530 * 531 * @param userId the primary key of the user 532 * @return the number of organizations associated with the user 533 * @throws SystemException if a system exception occurred 534 */ 535 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 536 public int getUserOrganizationsCount(long userId) 537 throws com.liferay.portal.kernel.exception.SystemException; 538 539 /** 540 * Returns <code>true</code> if the organization belongs to the group. 541 * 542 * @param groupId the primary key of the group 543 * @param organizationId the primary key of the organization 544 * @return <code>true</code> if the organization belongs to the group; 545 <code>false</code> otherwise 546 * @throws SystemException if a system exception occurred 547 */ 548 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 549 public boolean hasGroupOrganization(long groupId, long organizationId) 550 throws com.liferay.portal.kernel.exception.SystemException; 551 552 /** 553 * Returns <code>true</code> if the password policy has been assigned to the 554 * organization. 555 * 556 * @param passwordPolicyId the primary key of the password policy 557 * @param organizationId the primary key of the organization 558 * @return <code>true</code> if the password policy has been assigned to the 559 organization; <code>false</code> otherwise 560 * @throws SystemException if a system exception occurred 561 */ 562 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 563 public boolean hasPasswordPolicyOrganization(long passwordPolicyId, 564 long organizationId) 565 throws com.liferay.portal.kernel.exception.SystemException; 566 567 /** 568 * Returns <code>true</code> if the user is a member of the organization. 569 * This method is usually called to determine if the user has view access to 570 * a resource belonging to the organization. 571 * 572 * @param userId the primary key of the user 573 * @param organizationId the primary key of the organization 574 * @return <code>true</code> if the user has access to the organization; 575 <code>false</code> otherwise 576 * @throws SystemException if a system exception occurred 577 */ 578 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 579 public boolean hasUserOrganization(long userId, long organizationId) 580 throws com.liferay.portal.kernel.exception.SystemException; 581 582 /** 583 * Returns <code>true</code> if the user is a member of the organization, 584 * optionally focusing on sub-organizations or the specified organization. 585 * This method is usually called to determine if the user has view access to 586 * a resource belonging to the organization. 587 * 588 * <p> 589 * 590 * <ol> 591 * <li> 592 * If <code>inheritSuborganizations=<code>false</code></code>: 593 * the method checks whether the user belongs to the organization specified 594 * by <code>organizationId</code>. The parameter 595 * <code>includeSpecifiedOrganization</code> is ignored. 596 * </li> 597 * <li> 598 * The parameter <code>includeSpecifiedOrganization</code> is 599 * ignored unless <code>inheritSuborganizations</code> is also 600 * <code>true</code>. 601 * </li> 602 * <li> 603 * If <code>inheritSuborganizations=<code>true</code></code> and 604 * <code>includeSpecifiedOrganization=<code>false</code></code>: the method 605 * checks 606 * whether the user belongs to one of the child organizations of the one 607 * specified by <code>organizationId</code>. 608 * </li> 609 * <li> 610 * If <code>inheritSuborganizations=<code>true</code></code> and 611 * <code>includeSpecifiedOrganization=<code>true</code></code>: the method 612 * checks whether 613 * the user belongs to the organization specified by 614 * <code>organizationId</code> or any of 615 * its child organizations. 616 * </li> 617 * </ol> 618 * 619 * <p> 620 * 621 * @param userId the primary key of the organization's user 622 * @param organizationId the primary key of the organization 623 * @param inheritSuborganizations if <code>true</code> sub-organizations 624 are considered in the determination 625 * @param includeSpecifiedOrganization if <code>true</code> the 626 organization specified by <code>organizationId</code> is 627 considered in the determination 628 * @return <code>true</code> if the user has access to the organization; 629 <code>false</code> otherwise 630 * @throws PortalException if an organization with the primary key could not 631 be found 632 * @throws SystemException if a system exception occurred 633 * @see com.liferay.portal.service.persistence.OrganizationFinder 634 */ 635 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 636 public boolean hasUserOrganization(long userId, long organizationId, 637 boolean inheritSuborganizations, boolean includeSpecifiedOrganization) 638 throws com.liferay.portal.kernel.exception.PortalException, 639 com.liferay.portal.kernel.exception.SystemException; 640 641 /** 642 * Rebuilds the organizations tree. 643 * 644 * <p> 645 * Only call this method if the tree has become stale through operations 646 * other than normal CRUD. Under normal circumstances the tree is 647 * automatically rebuilt whenever necessary. 648 * </p> 649 * 650 * @param companyId the primary key of the organization's company 651 * @throws PortalException if an organization with the primary key could not 652 be found 653 * @throws SystemException if a system exception occurred 654 * @see com.liferay.portal.service.persistence.OrganizationPersistence#rebuildTree( 655 long, boolean) 656 */ 657 public void rebuildTree(long companyId) 658 throws com.liferay.portal.kernel.exception.PortalException, 659 com.liferay.portal.kernel.exception.SystemException; 660 661 /** 662 * Returns a range of all the organizations of the company. 663 * 664 * <p> 665 * Useful when paginating results. Returns a maximum of <code>end - 666 * start</code> instances. <code>start</code> and <code>end</code> are not 667 * primary keys, they are indexes in the result set. Thus, <code>0</code> 668 * refers to the first result in the set. Setting both <code>start</code> 669 * and <code>end</code> to {@link 670 * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full 671 * result set. 672 * </p> 673 * 674 * @param companyId the primary key of the company 675 * @param params the finder parameters (optionally <code>null</code>). For 676 more information see {@link 677 com.liferay.portlet.enterpriseadmin.util.OrganizationIndexer} 678 * @param start the lower bound of the range of organizations to return 679 * @param end the upper bound of the range of organizations to return (not 680 inclusive) 681 * @return the range of all the organizations of the company 682 * @throws SystemException if a system exception occurred 683 */ 684 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 685 public java.util.List<com.liferay.portal.model.Organization> search( 686 long companyId, 687 java.util.LinkedHashMap<java.lang.String, java.lang.Object> params, 688 int start, int end) 689 throws com.liferay.portal.kernel.exception.SystemException; 690 691 /** 692 * Returns an ordered range of all the organizations that match the 693 * keywords, using the indexer. It is preferable to use this method instead 694 * of the non-indexed version whenever possible for performance reasons. 695 * 696 * <p> 697 * Useful when paginating results. Returns a maximum of <code>end - 698 * start</code> instances. <code>start</code> and <code>end</code> are not 699 * primary keys, they are indexes in the result set. Thus, <code>0</code> 700 * refers to the first result in the set. Setting both <code>start</code> 701 * and <code>end</code> to {@link 702 * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full 703 * result set. 704 * </p> 705 * 706 * @param companyId the primary key of the organization's company 707 * @param parentOrganizationId the primary key of the organization's parent 708 organization 709 * @param keywords the keywords (space separated), which may occur in the 710 organization's name, street, city, zipcode, type, region or 711 country (optionally <code>null</code>) 712 * @param params the finder parameters (optionally <code>null</code>). For 713 more information see {@link 714 com.liferay.portlet.enterpriseadmin.util.OrganizationIndexer} 715 * @param start the lower bound of the range of organizations to return 716 * @param end the upper bound of the range of organizations to return (not 717 inclusive) 718 * @param sort the field and direction by which to sort (optionally 719 <code>null</code>) 720 * @return the matching organizations ordered by name 721 * @throws SystemException if a system exception occurred 722 * @see com.liferay.portlet.enterpriseadmin.util.OrganizationIndexer 723 */ 724 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 725 public com.liferay.portal.kernel.search.Hits search(long companyId, 726 long parentOrganizationId, java.lang.String keywords, 727 java.util.LinkedHashMap<java.lang.String, java.lang.Object> params, 728 int start, int end, com.liferay.portal.kernel.search.Sort sort) 729 throws com.liferay.portal.kernel.exception.SystemException; 730 731 /** 732 * Returns a name ordered range of all the organizations that match the 733 * keywords, type, region, and country, without using the indexer. It is 734 * preferable to use the indexed version {@link #search(long, long, String, 735 * LinkedHashMap, int, int, Sort)} instead of this method wherever possible 736 * for performance reasons. 737 * 738 * <p> 739 * Useful when paginating results. Returns a maximum of <code>end - 740 * start</code> instances. <code>start</code> and <code>end</code> are not 741 * primary keys, they are indexes in the result set. Thus, <code>0</code> 742 * refers to the first result in the set. Setting both <code>start</code> 743 * and <code>end</code> to {@link 744 * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full 745 * result set. 746 * </p> 747 * 748 * @param companyId the primary key of the organization's company 749 * @param parentOrganizationId the primary key of the organization's parent 750 organization 751 * @param keywords the keywords (space separated), which may occur in the 752 organization's name, street, city, or zipcode (optionally 753 <code>null</code>) 754 * @param type the organization's type (optionally <code>null</code>) 755 * @param regionId the primary key of the organization's region (optionally 756 <code>null</code>) 757 * @param countryId the primary key of the organization's country 758 (optionally <code>null</code>) 759 * @param params the finder params. For more information see {@link 760 com.liferay.portal.service.persistence.OrganizationFinder} 761 * @param start the lower bound of the range of organizations to return 762 * @param end the upper bound of the range of organizations to return (not 763 inclusive) 764 * @return the matching organizations ordered by name 765 * @throws SystemException if a system exception occurred 766 * @see com.liferay.portal.service.persistence.OrganizationFinder 767 */ 768 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 769 public java.util.List<com.liferay.portal.model.Organization> search( 770 long companyId, long parentOrganizationId, java.lang.String keywords, 771 java.lang.String type, java.lang.Long regionId, 772 java.lang.Long countryId, 773 java.util.LinkedHashMap<java.lang.String, java.lang.Object> params, 774 int start, int end) 775 throws com.liferay.portal.kernel.exception.SystemException; 776 777 /** 778 * Returns an ordered range of all the organizations that match the 779 * keywords, type, region, and country, without using the indexer. It is 780 * preferable to use the indexed version {@link #search(long, long, String, 781 * String, String, String, String, String, String, LinkedHashMap, boolean, 782 * int, int, Sort)} instead of this method wherever possible for performance 783 * reasons. 784 * 785 * <p> 786 * Useful when paginating results. Returns a maximum of <code>end - 787 * start</code> instances. <code>start</code> and <code>end</code> are not 788 * primary keys, they are indexes in the result set. Thus, <code>0</code> 789 * refers to the first result in the set. Setting both <code>start</code> 790 * and <code>end</code> to {@link 791 * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full 792 * result set. 793 * </p> 794 * 795 * @param companyId the primary key of the organization's company 796 * @param parentOrganizationId the primary key of the organization's parent 797 organization 798 * @param keywords the keywords (space separated), which may occur in the 799 organization's name, street, city, or zipcode (optionally 800 <code>null</code>) 801 * @param type the organization's type (optionally <code>null</code>) 802 * @param regionId the primary key of the organization's region (optionally 803 <code>null</code>) 804 * @param countryId the primary key of the organization's country 805 (optionally <code>null</code>) 806 * @param params the finder params. For more information see {@link 807 com.liferay.portal.service.persistence.OrganizationFinder} 808 * @param start the lower bound of the range of organizations to return 809 * @param end the upper bound of the range of organizations to return (not 810 inclusive) 811 * @param obc the comparator to order the organizations (optionally 812 <code>null</code>) 813 * @return the matching organizations ordered by comparator <code>obc</code> 814 * @throws SystemException if a system exception occurred 815 * @see com.liferay.portal.service.persistence.OrganizationFinder 816 */ 817 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 818 public java.util.List<com.liferay.portal.model.Organization> search( 819 long companyId, long parentOrganizationId, java.lang.String keywords, 820 java.lang.String type, java.lang.Long regionId, 821 java.lang.Long countryId, 822 java.util.LinkedHashMap<java.lang.String, java.lang.Object> params, 823 int start, int end, com.liferay.portal.kernel.util.OrderByComparator obc) 824 throws com.liferay.portal.kernel.exception.SystemException; 825 826 /** 827 * Returns a name ordered range of all the organizations with the type, 828 * region, and country, and whose name, street, city, and zipcode match the 829 * keywords specified for them, without using the indexer. It is preferable 830 * to use the indexed version {@link #search(long, long, String, String, 831 * String, String, String, String, String, LinkedHashMap, boolean, int, int, 832 * Sort)} instead of this method wherever possible for performance reasons. 833 * 834 * <p> 835 * Useful when paginating results. Returns a maximum of <code>end - 836 * start</code> instances. <code>start</code> and <code>end</code> are not 837 * primary keys, they are indexes in the result set. Thus, <code>0</code> 838 * refers to the first result in the set. Setting both <code>start</code> 839 * and <code>end</code> to {@link 840 * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full 841 * result set. 842 * </p> 843 * 844 * @param companyId the primary key of the organization's company 845 * @param parentOrganizationId the primary key of the organization's parent 846 * @param name the name keywords (space separated, optionally 847 <code>null</code>) 848 * @param type the organization's type (optionally <code>null</code>) 849 * @param street the street keywords (optionally <code>null</code>) 850 * @param city the city keywords (optionally <code>null</code>) 851 * @param zip the zipcode keywords (optionally <code>null</code>) 852 * @param regionId the primary key of the organization's region (optionally 853 <code>null</code>) 854 * @param countryId the primary key of the organization's country 855 (optionally <code>null</code>) 856 * @param params the finder parameters (optionally <code>null</code>). For 857 more information see {@link 858 com.liferay.portal.service.persistence.OrganizationFinder} 859 * @param andOperator whether every field must match its keywords, or just 860 one field. For example, "organizations with the name 861 'Employees' and city 'Chicago'" vs "organizations with 862 the name 'Employees' or the city 'Chicago'". 863 * @param start the lower bound of the range of organizations to return 864 * @param end the upper bound of the range of organizations to return (not 865 inclusive) 866 * @return the matching organizations ordered by name 867 * @throws SystemException if a system exception occurred 868 * @see com.liferay.portal.service.persistence.OrganizationFinder 869 */ 870 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 871 public java.util.List<com.liferay.portal.model.Organization> search( 872 long companyId, long parentOrganizationId, java.lang.String name, 873 java.lang.String type, java.lang.String street, java.lang.String city, 874 java.lang.String zip, java.lang.Long regionId, 875 java.lang.Long countryId, 876 java.util.LinkedHashMap<java.lang.String, java.lang.Object> params, 877 boolean andOperator, int start, int end) 878 throws com.liferay.portal.kernel.exception.SystemException; 879 880 /** 881 * Returns an ordered range of all the organizations with the type, region, 882 * and country, and whose name, street, city, and zipcode match the keywords 883 * specified for them, without using the indexer. It is preferable to use 884 * the indexed version {@link #search(long, long, String, String, String, 885 * String, String, String, String, LinkedHashMap, boolean, int, int, Sort)} 886 * instead of this method wherever possible for performance reasons. 887 * 888 * <p> 889 * Useful when paginating results. Returns a maximum of <code>end - 890 * start</code> instances. <code>start</code> and <code>end</code> are not 891 * primary keys, they are indexes in the result set. Thus, <code>0</code> 892 * refers to the first result in the set. Setting both <code>start</code> 893 * and <code>end</code> to {@link 894 * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full 895 * result set. 896 * </p> 897 * 898 * @param companyId the primary key of the organization's company 899 * @param parentOrganizationId the primary key of the organization's parent 900 organization 901 * @param name the name keywords (space separated, optionally 902 <code>null</code>) 903 * @param type the organization's type (optionally <code>null</code>) 904 * @param street the street keywords (optionally <code>null</code>) 905 * @param city the city keywords (optionally <code>null</code>) 906 * @param zip the zipcode keywords (optionally <code>null</code>) 907 * @param regionId the primary key of the organization's region (optionally 908 <code>null</code>) 909 * @param countryId the primary key of the organization's country 910 (optionally <code>null</code>) 911 * @param params the finder parameters (optionally <code>null</code>). For 912 more information see {@link 913 com.liferay.portal.service.persistence.OrganizationFinder} 914 * @param andOperator whether every field must match its keywords, or just 915 one field. For example, "organizations with the name 916 'Employees' and city 'Chicago'" vs "organizations with 917 the name 'Employees' or the city 'Chicago'". 918 * @param start the lower bound of the range of organizations to return 919 * @param end the upper bound of the range of organizations to return (not 920 inclusive) 921 * @param obc the comparator to order the organizations (optionally 922 <code>null</code>) 923 * @return the matching organizations ordered by comparator <code>obc</code> 924 * @throws SystemException if a system exception occurred 925 * @see com.liferay.portal.service.persistence.OrganizationFinder 926 */ 927 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 928 public java.util.List<com.liferay.portal.model.Organization> search( 929 long companyId, long parentOrganizationId, java.lang.String name, 930 java.lang.String type, java.lang.String street, java.lang.String city, 931 java.lang.String zip, java.lang.Long regionId, 932 java.lang.Long countryId, 933 java.util.LinkedHashMap<java.lang.String, java.lang.Object> params, 934 boolean andOperator, int start, int end, 935 com.liferay.portal.kernel.util.OrderByComparator obc) 936 throws com.liferay.portal.kernel.exception.SystemException; 937 938 /** 939 * Returns an ordered range of all the organizations whose name, type, or 940 * location fields match the keywords specified for them, using the indexer. 941 * It is preferable to use this method instead of the non-indexed version 942 * whenever possible for performance reasons. 943 * 944 * <p> 945 * Useful when paginating results. Returns a maximum of <code>end - 946 * start</code> instances. <code>start</code> and <code>end</code> are not 947 * primary keys, they are indexes in the result set. Thus, <code>0</code> 948 * refers to the first result in the set. Setting both <code>start</code> 949 * and <code>end</code> to {@link 950 * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full 951 * result set. 952 * </p> 953 * 954 * @param companyId the primary key of the organization's company 955 * @param parentOrganizationId the primary key of the organization's parent 956 organization 957 * @param name the name keywords (space separated, optionally 958 <code>null</code>) 959 * @param type the type keywords (optionally <code>null</code>) 960 * @param street the street keywords (optionally <code>null</code>) 961 * @param city the city keywords (optionally <code>null</code>) 962 * @param zip the zipcode keywords (optionally <code>null</code>) 963 * @param region the region keywords (optionally <code>null</code>) 964 * @param country the country keywords (optionally <code>null</code>) 965 * @param params the finder parameters (optionally <code>null</code>). For 966 more information see {@link 967 com.liferay.portlet.enterpriseadmin.util.OrganizationIndexer}. 968 * @param andSearch whether every field must match its keywords or just one 969 field 970 * @param start the lower bound of the range of organizations to return 971 * @param end the upper bound of the range of organizations to return (not 972 inclusive) 973 * @param sort the field and direction by which to sort (optionally 974 <code>null</code>) 975 * @return the matching organizations ordered by <code>sort</code> 976 * @throws SystemException if a system exception occurred 977 * @see com.liferay.portlet.enterpriseadmin.util.OrganizationIndexer 978 */ 979 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 980 public com.liferay.portal.kernel.search.Hits search(long companyId, 981 long parentOrganizationId, java.lang.String name, 982 java.lang.String type, java.lang.String street, java.lang.String city, 983 java.lang.String zip, java.lang.String region, 984 java.lang.String country, 985 java.util.LinkedHashMap<java.lang.String, java.lang.Object> params, 986 boolean andSearch, int start, int end, 987 com.liferay.portal.kernel.search.Sort sort) 988 throws com.liferay.portal.kernel.exception.SystemException; 989 990 /** 991 * Returns the number of organizations that match the keywords, type, 992 * region, and country. 993 * 994 * @param companyId the primary key of the organization's company 995 * @param parentOrganizationId the primary key of the organization's parent 996 organization 997 * @param keywords the keywords (space separated), which may occur in the 998 organization's name, street, city, or zipcode (optionally 999 <code>null</code>) 1000 * @param type the organization's type (optionally <code>null</code>) 1001 * @param regionId the primary key of the organization's region (optionally 1002 <code>null</code>) 1003 * @param countryId the primary key of the organization's country 1004 (optionally <code>null</code>) 1005 * @param params the finder parameters (optionally <code>null</code>). For 1006 more information see {@link 1007 com.liferay.portal.service.persistence.OrganizationFinder} 1008 * @return the number of matching organizations 1009 * @throws SystemException if a system exception occurred 1010 * @see com.liferay.portal.service.persistence.OrganizationFinder 1011 */ 1012 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 1013 public int searchCount(long companyId, long parentOrganizationId, 1014 java.lang.String keywords, java.lang.String type, 1015 java.lang.Long regionId, java.lang.Long countryId, 1016 java.util.LinkedHashMap<java.lang.String, java.lang.Object> params) 1017 throws com.liferay.portal.kernel.exception.SystemException; 1018 1019 /** 1020 * Returns the number of organizations with the type, region, and country, 1021 * and whose name, street, city, and zipcode match the keywords specified 1022 * for them. 1023 * 1024 * @param companyId the primary key of the organization's company 1025 * @param parentOrganizationId the primary key of the organization's parent 1026 organization 1027 * @param name the name keywords (space separated, optionally 1028 <code>null</code>) 1029 * @param type the organization's type (optionally <code>null</code>) 1030 * @param street the street keywords (optionally <code>null</code>) 1031 * @param city the city keywords (optionally <code>null</code>) 1032 * @param zip the zipcode keywords (optionally <code>null</code>) 1033 * @param regionId the primary key of the organization's region (optionally 1034 <code>null</code>) 1035 * @param countryId the primary key of the organization's country 1036 (optionally <code>null</code>) 1037 * @param params the finder parameters (optionally <code>null</code>). For 1038 more information see {@link 1039 com.liferay.portal.service.persistence.OrganizationFinder} 1040 * @param andOperator whether every field must match its keywords, or just 1041 one field. For example, "organizations with the name 1042 'Employees' and city 'Chicago'" vs "organizations with 1043 the name 'Employees' or the city 'Chicago'". 1044 * @return the number of matching organizations 1045 * @throws SystemException if a system exception occurred 1046 * @see com.liferay.portal.service.persistence.OrganizationFinder 1047 */ 1048 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 1049 public int searchCount(long companyId, long parentOrganizationId, 1050 java.lang.String name, java.lang.String type, java.lang.String street, 1051 java.lang.String city, java.lang.String zip, java.lang.Long regionId, 1052 java.lang.Long countryId, 1053 java.util.LinkedHashMap<java.lang.String, java.lang.Object> params, 1054 boolean andOperator) 1055 throws com.liferay.portal.kernel.exception.SystemException; 1056 1057 /** 1058 * Sets the organizations in the group, removing and adding organizations to 1059 * the group as necessary. 1060 * 1061 * @param groupId the primary key of the group 1062 * @param organizationIds the primary keys of the organizations 1063 * @throws PortalException if a portal exception occurred 1064 * @throws SystemException if a system exception occurred 1065 */ 1066 public void setGroupOrganizations(long groupId, long[] organizationIds) 1067 throws com.liferay.portal.kernel.exception.PortalException, 1068 com.liferay.portal.kernel.exception.SystemException; 1069 1070 /** 1071 * Removes the organizations from the group. 1072 * 1073 * @param groupId the primary key of the group 1074 * @param organizationIds the primary keys of the organizations 1075 * @throws PortalException if a portal exception occurred 1076 * @throws SystemException if a system exception occurred 1077 */ 1078 public void unsetGroupOrganizations(long groupId, long[] organizationIds) 1079 throws com.liferay.portal.kernel.exception.PortalException, 1080 com.liferay.portal.kernel.exception.SystemException; 1081 1082 /** 1083 * Removes the organizations from the password policy. 1084 * 1085 * @param passwordPolicyId the primary key of the password policy 1086 * @param organizationIds the primary keys of the organizations 1087 * @throws SystemException if a system exception occurred 1088 */ 1089 public void unsetPasswordPolicyOrganizations(long passwordPolicyId, 1090 long[] organizationIds) 1091 throws com.liferay.portal.kernel.exception.SystemException; 1092 1093 /** 1094 * Updates the organization's asset with the new asset categories and tag 1095 * names, removing and adding asset categories and tag names as necessary. 1096 * 1097 * @param userId the primary key of the user 1098 * @param organization the organization 1099 * @param assetCategoryIds the primary keys of the asset categories 1100 * @param assetTagNames the asset tag names 1101 * @throws PortalException if a user with the primary key could not be found 1102 * @throws SystemException if a system exception occurred 1103 */ 1104 public void updateAsset(long userId, 1105 com.liferay.portal.model.Organization organization, 1106 long[] assetCategoryIds, java.lang.String[] assetTagNames) 1107 throws com.liferay.portal.kernel.exception.PortalException, 1108 com.liferay.portal.kernel.exception.SystemException; 1109 1110 /** 1111 * Updates the organization. 1112 * 1113 * @param companyId the primary key of the organization's company 1114 * @param organizationId the primary key of the organization 1115 * @param parentOrganizationId the primary key of organization's parent 1116 organization 1117 * @param name the organization's name 1118 * @param type the organization's type 1119 * @param recursable whether permissions of the organization are to be 1120 inherited by its sub-organizations 1121 * @param regionId the primary key of the organization's region 1122 * @param countryId the primary key of the organization's country 1123 * @param statusId the organization's workflow status 1124 * @param comments the comments about the organization 1125 * @param site whether the organization is to be associated with a main 1126 site 1127 * @param serviceContext the organization's service context (optionally 1128 <code>null</code>). Can set asset category IDs and asset tag 1129 names for the organization, and merge expando bridge attributes 1130 for the organization. 1131 * @return the organization 1132 * @throws PortalException if an organization or parent organization with 1133 the primary key could not be found or if the new information was 1134 invalid 1135 * @throws SystemException if a system exception occurred 1136 */ 1137 public com.liferay.portal.model.Organization updateOrganization( 1138 long companyId, long organizationId, long parentOrganizationId, 1139 java.lang.String name, java.lang.String type, boolean recursable, 1140 long regionId, long countryId, int statusId, java.lang.String comments, 1141 boolean site, com.liferay.portal.service.ServiceContext serviceContext) 1142 throws com.liferay.portal.kernel.exception.PortalException, 1143 com.liferay.portal.kernel.exception.SystemException; 1144 }