1
22
23 package com.liferay.portal.service.persistence;
24
25 import com.liferay.portal.NoSuchOrganizationException;
26 import com.liferay.portal.SystemException;
27 import com.liferay.portal.kernel.annotation.BeanReference;
28 import com.liferay.portal.kernel.cache.CacheRegistry;
29 import com.liferay.portal.kernel.dao.jdbc.MappingSqlQuery;
30 import com.liferay.portal.kernel.dao.jdbc.MappingSqlQueryFactoryUtil;
31 import com.liferay.portal.kernel.dao.jdbc.RowMapper;
32 import com.liferay.portal.kernel.dao.jdbc.SqlUpdate;
33 import com.liferay.portal.kernel.dao.jdbc.SqlUpdateFactoryUtil;
34 import com.liferay.portal.kernel.dao.orm.DynamicQuery;
35 import com.liferay.portal.kernel.dao.orm.EntityCacheUtil;
36 import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
37 import com.liferay.portal.kernel.dao.orm.FinderPath;
38 import com.liferay.portal.kernel.dao.orm.Query;
39 import com.liferay.portal.kernel.dao.orm.QueryPos;
40 import com.liferay.portal.kernel.dao.orm.QueryUtil;
41 import com.liferay.portal.kernel.dao.orm.SQLQuery;
42 import com.liferay.portal.kernel.dao.orm.Session;
43 import com.liferay.portal.kernel.dao.orm.Type;
44 import com.liferay.portal.kernel.log.Log;
45 import com.liferay.portal.kernel.log.LogFactoryUtil;
46 import com.liferay.portal.kernel.util.GetterUtil;
47 import com.liferay.portal.kernel.util.OrderByComparator;
48 import com.liferay.portal.kernel.util.StringPool;
49 import com.liferay.portal.kernel.util.StringUtil;
50 import com.liferay.portal.kernel.util.Validator;
51 import com.liferay.portal.model.ModelListener;
52 import com.liferay.portal.model.Organization;
53 import com.liferay.portal.model.impl.OrganizationImpl;
54 import com.liferay.portal.model.impl.OrganizationModelImpl;
55 import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
56
57 import java.sql.Types;
58
59 import java.util.ArrayList;
60 import java.util.Collections;
61 import java.util.List;
62
63
69 public class OrganizationPersistenceImpl extends BasePersistenceImpl
70 implements OrganizationPersistence {
71 public static final String FINDER_CLASS_NAME_ENTITY = OrganizationImpl.class.getName();
72 public static final String FINDER_CLASS_NAME_LIST = FINDER_CLASS_NAME_ENTITY +
73 ".List";
74 public static final FinderPath FINDER_PATH_FIND_BY_COMPANYID = new FinderPath(OrganizationModelImpl.ENTITY_CACHE_ENABLED,
75 OrganizationModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
76 "findByCompanyId", new String[] { Long.class.getName() });
77 public static final FinderPath FINDER_PATH_FIND_BY_OBC_COMPANYID = new FinderPath(OrganizationModelImpl.ENTITY_CACHE_ENABLED,
78 OrganizationModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
79 "findByCompanyId",
80 new String[] {
81 Long.class.getName(),
82
83 "java.lang.Integer", "java.lang.Integer",
84 "com.liferay.portal.kernel.util.OrderByComparator"
85 });
86 public static final FinderPath FINDER_PATH_COUNT_BY_COMPANYID = new FinderPath(OrganizationModelImpl.ENTITY_CACHE_ENABLED,
87 OrganizationModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
88 "countByCompanyId", new String[] { Long.class.getName() });
89 public static final FinderPath FINDER_PATH_FIND_BY_LOCATIONS = new FinderPath(OrganizationModelImpl.ENTITY_CACHE_ENABLED,
90 OrganizationModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
91 "findByLocations", new String[] { Long.class.getName() });
92 public static final FinderPath FINDER_PATH_FIND_BY_OBC_LOCATIONS = new FinderPath(OrganizationModelImpl.ENTITY_CACHE_ENABLED,
93 OrganizationModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
94 "findByLocations",
95 new String[] {
96 Long.class.getName(),
97
98 "java.lang.Integer", "java.lang.Integer",
99 "com.liferay.portal.kernel.util.OrderByComparator"
100 });
101 public static final FinderPath FINDER_PATH_COUNT_BY_LOCATIONS = new FinderPath(OrganizationModelImpl.ENTITY_CACHE_ENABLED,
102 OrganizationModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
103 "countByLocations", new String[] { Long.class.getName() });
104 public static final FinderPath FINDER_PATH_FIND_BY_C_P = new FinderPath(OrganizationModelImpl.ENTITY_CACHE_ENABLED,
105 OrganizationModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
106 "findByC_P",
107 new String[] { Long.class.getName(), Long.class.getName() });
108 public static final FinderPath FINDER_PATH_FIND_BY_OBC_C_P = new FinderPath(OrganizationModelImpl.ENTITY_CACHE_ENABLED,
109 OrganizationModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
110 "findByC_P",
111 new String[] {
112 Long.class.getName(), Long.class.getName(),
113
114 "java.lang.Integer", "java.lang.Integer",
115 "com.liferay.portal.kernel.util.OrderByComparator"
116 });
117 public static final FinderPath FINDER_PATH_COUNT_BY_C_P = new FinderPath(OrganizationModelImpl.ENTITY_CACHE_ENABLED,
118 OrganizationModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
119 "countByC_P",
120 new String[] { Long.class.getName(), Long.class.getName() });
121 public static final FinderPath FINDER_PATH_FETCH_BY_C_N = new FinderPath(OrganizationModelImpl.ENTITY_CACHE_ENABLED,
122 OrganizationModelImpl.FINDER_CACHE_ENABLED,
123 FINDER_CLASS_NAME_ENTITY, "fetchByC_N",
124 new String[] { Long.class.getName(), String.class.getName() });
125 public static final FinderPath FINDER_PATH_COUNT_BY_C_N = new FinderPath(OrganizationModelImpl.ENTITY_CACHE_ENABLED,
126 OrganizationModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
127 "countByC_N",
128 new String[] { Long.class.getName(), String.class.getName() });
129 public static final FinderPath FINDER_PATH_FIND_ALL = new FinderPath(OrganizationModelImpl.ENTITY_CACHE_ENABLED,
130 OrganizationModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
131 "findAll", new String[0]);
132 public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(OrganizationModelImpl.ENTITY_CACHE_ENABLED,
133 OrganizationModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
134 "countAll", new String[0]);
135
136 public void cacheResult(Organization organization) {
137 EntityCacheUtil.putResult(OrganizationModelImpl.ENTITY_CACHE_ENABLED,
138 OrganizationImpl.class, organization.getPrimaryKey(), organization);
139
140 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_N,
141 new Object[] {
142 new Long(organization.getCompanyId()),
143
144 organization.getName()
145 }, organization);
146 }
147
148 public void cacheResult(List<Organization> organizations) {
149 for (Organization organization : organizations) {
150 if (EntityCacheUtil.getResult(
151 OrganizationModelImpl.ENTITY_CACHE_ENABLED,
152 OrganizationImpl.class, organization.getPrimaryKey(),
153 this) == null) {
154 cacheResult(organization);
155 }
156 }
157 }
158
159 public void clearCache() {
160 CacheRegistry.clear(OrganizationImpl.class.getName());
161 EntityCacheUtil.clearCache(OrganizationImpl.class.getName());
162 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
163 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
164 }
165
166 public Organization create(long organizationId) {
167 Organization organization = new OrganizationImpl();
168
169 organization.setNew(true);
170 organization.setPrimaryKey(organizationId);
171
172 return organization;
173 }
174
175 public Organization remove(long organizationId)
176 throws NoSuchOrganizationException, SystemException {
177 Session session = null;
178
179 try {
180 session = openSession();
181
182 Organization organization = (Organization)session.get(OrganizationImpl.class,
183 new Long(organizationId));
184
185 if (organization == null) {
186 if (_log.isWarnEnabled()) {
187 _log.warn("No Organization exists with the primary key " +
188 organizationId);
189 }
190
191 throw new NoSuchOrganizationException(
192 "No Organization exists with the primary key " +
193 organizationId);
194 }
195
196 return remove(organization);
197 }
198 catch (NoSuchOrganizationException nsee) {
199 throw nsee;
200 }
201 catch (Exception e) {
202 throw processException(e);
203 }
204 finally {
205 closeSession(session);
206 }
207 }
208
209 public Organization remove(Organization organization)
210 throws SystemException {
211 for (ModelListener<Organization> listener : listeners) {
212 listener.onBeforeRemove(organization);
213 }
214
215 organization = removeImpl(organization);
216
217 for (ModelListener<Organization> listener : listeners) {
218 listener.onAfterRemove(organization);
219 }
220
221 return organization;
222 }
223
224 protected Organization removeImpl(Organization organization)
225 throws SystemException {
226 try {
227 clearGroups.clear(organization.getPrimaryKey());
228 }
229 catch (Exception e) {
230 throw processException(e);
231 }
232 finally {
233 FinderCacheUtil.clearCache("Groups_Orgs");
234 }
235
236 try {
237 clearUsers.clear(organization.getPrimaryKey());
238 }
239 catch (Exception e) {
240 throw processException(e);
241 }
242 finally {
243 FinderCacheUtil.clearCache("Users_Orgs");
244 }
245
246 shrinkTree(organization);
247
248 Session session = null;
249
250 try {
251 session = openSession();
252
253 if (organization.isCachedModel() || BatchSessionUtil.isEnabled()) {
254 Object staleObject = session.get(OrganizationImpl.class,
255 organization.getPrimaryKeyObj());
256
257 if (staleObject != null) {
258 session.evict(staleObject);
259 }
260 }
261
262 session.delete(organization);
263
264 session.flush();
265 }
266 catch (Exception e) {
267 throw processException(e);
268 }
269 finally {
270 closeSession(session);
271 }
272
273 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
274
275 OrganizationModelImpl organizationModelImpl = (OrganizationModelImpl)organization;
276
277 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_C_N,
278 new Object[] {
279 new Long(organizationModelImpl.getOriginalCompanyId()),
280
281 organizationModelImpl.getOriginalName()
282 });
283
284 EntityCacheUtil.removeResult(OrganizationModelImpl.ENTITY_CACHE_ENABLED,
285 OrganizationImpl.class, organization.getPrimaryKey());
286
287 return organization;
288 }
289
290
293 public Organization update(Organization organization)
294 throws SystemException {
295 if (_log.isWarnEnabled()) {
296 _log.warn(
297 "Using the deprecated update(Organization organization) method. Use update(Organization organization, boolean merge) instead.");
298 }
299
300 return update(organization, false);
301 }
302
303
316 public Organization update(Organization organization, boolean merge)
317 throws SystemException {
318 boolean isNew = organization.isNew();
319
320 for (ModelListener<Organization> listener : listeners) {
321 if (isNew) {
322 listener.onBeforeCreate(organization);
323 }
324 else {
325 listener.onBeforeUpdate(organization);
326 }
327 }
328
329 organization = updateImpl(organization, merge);
330
331 for (ModelListener<Organization> listener : listeners) {
332 if (isNew) {
333 listener.onAfterCreate(organization);
334 }
335 else {
336 listener.onAfterUpdate(organization);
337 }
338 }
339
340 return organization;
341 }
342
343 public Organization updateImpl(
344 com.liferay.portal.model.Organization organization, boolean merge)
345 throws SystemException {
346 boolean isNew = organization.isNew();
347
348 OrganizationModelImpl organizationModelImpl = (OrganizationModelImpl)organization;
349
350 if (isNew) {
351 expandTree(organization);
352 }
353 else {
354 if (organization.getParentOrganizationId() != organizationModelImpl.getOriginalParentOrganizationId()) {
355 shrinkTree(organization);
356 expandTree(organization);
357 }
358 }
359
360 Session session = null;
361
362 try {
363 session = openSession();
364
365 BatchSessionUtil.update(session, organization, merge);
366
367 organization.setNew(false);
368 }
369 catch (Exception e) {
370 throw processException(e);
371 }
372 finally {
373 closeSession(session);
374 }
375
376 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
377
378 EntityCacheUtil.putResult(OrganizationModelImpl.ENTITY_CACHE_ENABLED,
379 OrganizationImpl.class, organization.getPrimaryKey(), organization);
380
381 if (!isNew &&
382 ((organization.getCompanyId() != organizationModelImpl.getOriginalCompanyId()) ||
383 !Validator.equals(organization.getName(),
384 organizationModelImpl.getOriginalName()))) {
385 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_C_N,
386 new Object[] {
387 new Long(organizationModelImpl.getOriginalCompanyId()),
388
389 organizationModelImpl.getOriginalName()
390 });
391 }
392
393 if (isNew ||
394 ((organization.getCompanyId() != organizationModelImpl.getOriginalCompanyId()) ||
395 !Validator.equals(organization.getName(),
396 organizationModelImpl.getOriginalName()))) {
397 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_N,
398 new Object[] {
399 new Long(organization.getCompanyId()),
400
401 organization.getName()
402 }, organization);
403 }
404
405 return organization;
406 }
407
408 public Organization findByPrimaryKey(long organizationId)
409 throws NoSuchOrganizationException, SystemException {
410 Organization organization = fetchByPrimaryKey(organizationId);
411
412 if (organization == null) {
413 if (_log.isWarnEnabled()) {
414 _log.warn("No Organization exists with the primary key " +
415 organizationId);
416 }
417
418 throw new NoSuchOrganizationException(
419 "No Organization exists with the primary key " +
420 organizationId);
421 }
422
423 return organization;
424 }
425
426 public Organization fetchByPrimaryKey(long organizationId)
427 throws SystemException {
428 Organization organization = (Organization)EntityCacheUtil.getResult(OrganizationModelImpl.ENTITY_CACHE_ENABLED,
429 OrganizationImpl.class, organizationId, this);
430
431 if (organization == null) {
432 Session session = null;
433
434 try {
435 session = openSession();
436
437 organization = (Organization)session.get(OrganizationImpl.class,
438 new Long(organizationId));
439 }
440 catch (Exception e) {
441 throw processException(e);
442 }
443 finally {
444 if (organization != null) {
445 cacheResult(organization);
446 }
447
448 closeSession(session);
449 }
450 }
451
452 return organization;
453 }
454
455 public List<Organization> findByCompanyId(long companyId)
456 throws SystemException {
457 Object[] finderArgs = new Object[] { new Long(companyId) };
458
459 List<Organization> list = (List<Organization>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_COMPANYID,
460 finderArgs, this);
461
462 if (list == null) {
463 Session session = null;
464
465 try {
466 session = openSession();
467
468 StringBuilder query = new StringBuilder();
469
470 query.append(
471 "FROM com.liferay.portal.model.Organization WHERE ");
472
473 query.append("companyId = ?");
474
475 query.append(" ");
476
477 query.append("ORDER BY ");
478
479 query.append("name ASC");
480
481 Query q = session.createQuery(query.toString());
482
483 QueryPos qPos = QueryPos.getInstance(q);
484
485 qPos.add(companyId);
486
487 list = q.list();
488 }
489 catch (Exception e) {
490 throw processException(e);
491 }
492 finally {
493 if (list == null) {
494 list = new ArrayList<Organization>();
495 }
496
497 cacheResult(list);
498
499 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_COMPANYID,
500 finderArgs, list);
501
502 closeSession(session);
503 }
504 }
505
506 return list;
507 }
508
509 public List<Organization> findByCompanyId(long companyId, int start, int end)
510 throws SystemException {
511 return findByCompanyId(companyId, start, end, null);
512 }
513
514 public List<Organization> findByCompanyId(long companyId, int start,
515 int end, OrderByComparator obc) throws SystemException {
516 Object[] finderArgs = new Object[] {
517 new Long(companyId),
518
519 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
520 };
521
522 List<Organization> list = (List<Organization>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_COMPANYID,
523 finderArgs, this);
524
525 if (list == null) {
526 Session session = null;
527
528 try {
529 session = openSession();
530
531 StringBuilder query = new StringBuilder();
532
533 query.append(
534 "FROM com.liferay.portal.model.Organization WHERE ");
535
536 query.append("companyId = ?");
537
538 query.append(" ");
539
540 if (obc != null) {
541 query.append("ORDER BY ");
542 query.append(obc.getOrderBy());
543 }
544
545 else {
546 query.append("ORDER BY ");
547
548 query.append("name ASC");
549 }
550
551 Query q = session.createQuery(query.toString());
552
553 QueryPos qPos = QueryPos.getInstance(q);
554
555 qPos.add(companyId);
556
557 list = (List<Organization>)QueryUtil.list(q, getDialect(),
558 start, end);
559 }
560 catch (Exception e) {
561 throw processException(e);
562 }
563 finally {
564 if (list == null) {
565 list = new ArrayList<Organization>();
566 }
567
568 cacheResult(list);
569
570 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_COMPANYID,
571 finderArgs, list);
572
573 closeSession(session);
574 }
575 }
576
577 return list;
578 }
579
580 public Organization findByCompanyId_First(long companyId,
581 OrderByComparator obc)
582 throws NoSuchOrganizationException, SystemException {
583 List<Organization> list = findByCompanyId(companyId, 0, 1, obc);
584
585 if (list.isEmpty()) {
586 StringBuilder msg = new StringBuilder();
587
588 msg.append("No Organization exists with the key {");
589
590 msg.append("companyId=" + companyId);
591
592 msg.append(StringPool.CLOSE_CURLY_BRACE);
593
594 throw new NoSuchOrganizationException(msg.toString());
595 }
596 else {
597 return list.get(0);
598 }
599 }
600
601 public Organization findByCompanyId_Last(long companyId,
602 OrderByComparator obc)
603 throws NoSuchOrganizationException, SystemException {
604 int count = countByCompanyId(companyId);
605
606 List<Organization> list = findByCompanyId(companyId, count - 1, count,
607 obc);
608
609 if (list.isEmpty()) {
610 StringBuilder msg = new StringBuilder();
611
612 msg.append("No Organization exists with the key {");
613
614 msg.append("companyId=" + companyId);
615
616 msg.append(StringPool.CLOSE_CURLY_BRACE);
617
618 throw new NoSuchOrganizationException(msg.toString());
619 }
620 else {
621 return list.get(0);
622 }
623 }
624
625 public Organization[] findByCompanyId_PrevAndNext(long organizationId,
626 long companyId, OrderByComparator obc)
627 throws NoSuchOrganizationException, SystemException {
628 Organization organization = findByPrimaryKey(organizationId);
629
630 int count = countByCompanyId(companyId);
631
632 Session session = null;
633
634 try {
635 session = openSession();
636
637 StringBuilder query = new StringBuilder();
638
639 query.append("FROM com.liferay.portal.model.Organization WHERE ");
640
641 query.append("companyId = ?");
642
643 query.append(" ");
644
645 if (obc != null) {
646 query.append("ORDER BY ");
647 query.append(obc.getOrderBy());
648 }
649
650 else {
651 query.append("ORDER BY ");
652
653 query.append("name ASC");
654 }
655
656 Query q = session.createQuery(query.toString());
657
658 QueryPos qPos = QueryPos.getInstance(q);
659
660 qPos.add(companyId);
661
662 Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
663 organization);
664
665 Organization[] array = new OrganizationImpl[3];
666
667 array[0] = (Organization)objArray[0];
668 array[1] = (Organization)objArray[1];
669 array[2] = (Organization)objArray[2];
670
671 return array;
672 }
673 catch (Exception e) {
674 throw processException(e);
675 }
676 finally {
677 closeSession(session);
678 }
679 }
680
681 public List<Organization> findByLocations(long companyId)
682 throws SystemException {
683 Object[] finderArgs = new Object[] { new Long(companyId) };
684
685 List<Organization> list = (List<Organization>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_LOCATIONS,
686 finderArgs, this);
687
688 if (list == null) {
689 Session session = null;
690
691 try {
692 session = openSession();
693
694 StringBuilder query = new StringBuilder();
695
696 query.append(
697 "FROM com.liferay.portal.model.Organization WHERE ");
698
699 query.append("companyId = ?");
700
701 query.append(" AND parentOrganizationId != 0 ");
702
703 query.append("ORDER BY ");
704
705 query.append("name ASC");
706
707 Query q = session.createQuery(query.toString());
708
709 QueryPos qPos = QueryPos.getInstance(q);
710
711 qPos.add(companyId);
712
713 list = q.list();
714 }
715 catch (Exception e) {
716 throw processException(e);
717 }
718 finally {
719 if (list == null) {
720 list = new ArrayList<Organization>();
721 }
722
723 cacheResult(list);
724
725 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_LOCATIONS,
726 finderArgs, list);
727
728 closeSession(session);
729 }
730 }
731
732 return list;
733 }
734
735 public List<Organization> findByLocations(long companyId, int start, int end)
736 throws SystemException {
737 return findByLocations(companyId, start, end, null);
738 }
739
740 public List<Organization> findByLocations(long companyId, int start,
741 int end, OrderByComparator obc) throws SystemException {
742 Object[] finderArgs = new Object[] {
743 new Long(companyId),
744
745 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
746 };
747
748 List<Organization> list = (List<Organization>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_LOCATIONS,
749 finderArgs, this);
750
751 if (list == null) {
752 Session session = null;
753
754 try {
755 session = openSession();
756
757 StringBuilder query = new StringBuilder();
758
759 query.append(
760 "FROM com.liferay.portal.model.Organization WHERE ");
761
762 query.append("companyId = ?");
763
764 query.append(" AND parentOrganizationId != 0 ");
765
766 if (obc != null) {
767 query.append("ORDER BY ");
768 query.append(obc.getOrderBy());
769 }
770
771 else {
772 query.append("ORDER BY ");
773
774 query.append("name ASC");
775 }
776
777 Query q = session.createQuery(query.toString());
778
779 QueryPos qPos = QueryPos.getInstance(q);
780
781 qPos.add(companyId);
782
783 list = (List<Organization>)QueryUtil.list(q, getDialect(),
784 start, end);
785 }
786 catch (Exception e) {
787 throw processException(e);
788 }
789 finally {
790 if (list == null) {
791 list = new ArrayList<Organization>();
792 }
793
794 cacheResult(list);
795
796 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_LOCATIONS,
797 finderArgs, list);
798
799 closeSession(session);
800 }
801 }
802
803 return list;
804 }
805
806 public Organization findByLocations_First(long companyId,
807 OrderByComparator obc)
808 throws NoSuchOrganizationException, SystemException {
809 List<Organization> list = findByLocations(companyId, 0, 1, obc);
810
811 if (list.isEmpty()) {
812 StringBuilder msg = new StringBuilder();
813
814 msg.append("No Organization exists with the key {");
815
816 msg.append("companyId=" + companyId);
817
818 msg.append(StringPool.CLOSE_CURLY_BRACE);
819
820 throw new NoSuchOrganizationException(msg.toString());
821 }
822 else {
823 return list.get(0);
824 }
825 }
826
827 public Organization findByLocations_Last(long companyId,
828 OrderByComparator obc)
829 throws NoSuchOrganizationException, SystemException {
830 int count = countByLocations(companyId);
831
832 List<Organization> list = findByLocations(companyId, count - 1, count,
833 obc);
834
835 if (list.isEmpty()) {
836 StringBuilder msg = new StringBuilder();
837
838 msg.append("No Organization exists with the key {");
839
840 msg.append("companyId=" + companyId);
841
842 msg.append(StringPool.CLOSE_CURLY_BRACE);
843
844 throw new NoSuchOrganizationException(msg.toString());
845 }
846 else {
847 return list.get(0);
848 }
849 }
850
851 public Organization[] findByLocations_PrevAndNext(long organizationId,
852 long companyId, OrderByComparator obc)
853 throws NoSuchOrganizationException, SystemException {
854 Organization organization = findByPrimaryKey(organizationId);
855
856 int count = countByLocations(companyId);
857
858 Session session = null;
859
860 try {
861 session = openSession();
862
863 StringBuilder query = new StringBuilder();
864
865 query.append("FROM com.liferay.portal.model.Organization WHERE ");
866
867 query.append("companyId = ?");
868
869 query.append(" AND parentOrganizationId != 0 ");
870
871 if (obc != null) {
872 query.append("ORDER BY ");
873 query.append(obc.getOrderBy());
874 }
875
876 else {
877 query.append("ORDER BY ");
878
879 query.append("name ASC");
880 }
881
882 Query q = session.createQuery(query.toString());
883
884 QueryPos qPos = QueryPos.getInstance(q);
885
886 qPos.add(companyId);
887
888 Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
889 organization);
890
891 Organization[] array = new OrganizationImpl[3];
892
893 array[0] = (Organization)objArray[0];
894 array[1] = (Organization)objArray[1];
895 array[2] = (Organization)objArray[2];
896
897 return array;
898 }
899 catch (Exception e) {
900 throw processException(e);
901 }
902 finally {
903 closeSession(session);
904 }
905 }
906
907 public List<Organization> findByC_P(long companyId,
908 long parentOrganizationId) throws SystemException {
909 Object[] finderArgs = new Object[] {
910 new Long(companyId), new Long(parentOrganizationId)
911 };
912
913 List<Organization> list = (List<Organization>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_C_P,
914 finderArgs, this);
915
916 if (list == null) {
917 Session session = null;
918
919 try {
920 session = openSession();
921
922 StringBuilder query = new StringBuilder();
923
924 query.append(
925 "FROM com.liferay.portal.model.Organization WHERE ");
926
927 query.append("companyId = ?");
928
929 query.append(" AND ");
930
931 query.append("parentOrganizationId = ?");
932
933 query.append(" ");
934
935 query.append("ORDER BY ");
936
937 query.append("name ASC");
938
939 Query q = session.createQuery(query.toString());
940
941 QueryPos qPos = QueryPos.getInstance(q);
942
943 qPos.add(companyId);
944
945 qPos.add(parentOrganizationId);
946
947 list = q.list();
948 }
949 catch (Exception e) {
950 throw processException(e);
951 }
952 finally {
953 if (list == null) {
954 list = new ArrayList<Organization>();
955 }
956
957 cacheResult(list);
958
959 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_C_P, finderArgs,
960 list);
961
962 closeSession(session);
963 }
964 }
965
966 return list;
967 }
968
969 public List<Organization> findByC_P(long companyId,
970 long parentOrganizationId, int start, int end)
971 throws SystemException {
972 return findByC_P(companyId, parentOrganizationId, start, end, null);
973 }
974
975 public List<Organization> findByC_P(long companyId,
976 long parentOrganizationId, int start, int end, OrderByComparator obc)
977 throws SystemException {
978 Object[] finderArgs = new Object[] {
979 new Long(companyId), new Long(parentOrganizationId),
980
981 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
982 };
983
984 List<Organization> list = (List<Organization>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_C_P,
985 finderArgs, this);
986
987 if (list == null) {
988 Session session = null;
989
990 try {
991 session = openSession();
992
993 StringBuilder query = new StringBuilder();
994
995 query.append(
996 "FROM com.liferay.portal.model.Organization WHERE ");
997
998 query.append("companyId = ?");
999
1000 query.append(" AND ");
1001
1002 query.append("parentOrganizationId = ?");
1003
1004 query.append(" ");
1005
1006 if (obc != null) {
1007 query.append("ORDER BY ");
1008 query.append(obc.getOrderBy());
1009 }
1010
1011 else {
1012 query.append("ORDER BY ");
1013
1014 query.append("name ASC");
1015 }
1016
1017 Query q = session.createQuery(query.toString());
1018
1019 QueryPos qPos = QueryPos.getInstance(q);
1020
1021 qPos.add(companyId);
1022
1023 qPos.add(parentOrganizationId);
1024
1025 list = (List<Organization>)QueryUtil.list(q, getDialect(),
1026 start, end);
1027 }
1028 catch (Exception e) {
1029 throw processException(e);
1030 }
1031 finally {
1032 if (list == null) {
1033 list = new ArrayList<Organization>();
1034 }
1035
1036 cacheResult(list);
1037
1038 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_C_P,
1039 finderArgs, list);
1040
1041 closeSession(session);
1042 }
1043 }
1044
1045 return list;
1046 }
1047
1048 public Organization findByC_P_First(long companyId,
1049 long parentOrganizationId, OrderByComparator obc)
1050 throws NoSuchOrganizationException, SystemException {
1051 List<Organization> list = findByC_P(companyId, parentOrganizationId, 0,
1052 1, obc);
1053
1054 if (list.isEmpty()) {
1055 StringBuilder msg = new StringBuilder();
1056
1057 msg.append("No Organization exists with the key {");
1058
1059 msg.append("companyId=" + companyId);
1060
1061 msg.append(", ");
1062 msg.append("parentOrganizationId=" + parentOrganizationId);
1063
1064 msg.append(StringPool.CLOSE_CURLY_BRACE);
1065
1066 throw new NoSuchOrganizationException(msg.toString());
1067 }
1068 else {
1069 return list.get(0);
1070 }
1071 }
1072
1073 public Organization findByC_P_Last(long companyId,
1074 long parentOrganizationId, OrderByComparator obc)
1075 throws NoSuchOrganizationException, SystemException {
1076 int count = countByC_P(companyId, parentOrganizationId);
1077
1078 List<Organization> list = findByC_P(companyId, parentOrganizationId,
1079 count - 1, count, obc);
1080
1081 if (list.isEmpty()) {
1082 StringBuilder msg = new StringBuilder();
1083
1084 msg.append("No Organization exists with the key {");
1085
1086 msg.append("companyId=" + companyId);
1087
1088 msg.append(", ");
1089 msg.append("parentOrganizationId=" + parentOrganizationId);
1090
1091 msg.append(StringPool.CLOSE_CURLY_BRACE);
1092
1093 throw new NoSuchOrganizationException(msg.toString());
1094 }
1095 else {
1096 return list.get(0);
1097 }
1098 }
1099
1100 public Organization[] findByC_P_PrevAndNext(long organizationId,
1101 long companyId, long parentOrganizationId, OrderByComparator obc)
1102 throws NoSuchOrganizationException, SystemException {
1103 Organization organization = findByPrimaryKey(organizationId);
1104
1105 int count = countByC_P(companyId, parentOrganizationId);
1106
1107 Session session = null;
1108
1109 try {
1110 session = openSession();
1111
1112 StringBuilder query = new StringBuilder();
1113
1114 query.append("FROM com.liferay.portal.model.Organization WHERE ");
1115
1116 query.append("companyId = ?");
1117
1118 query.append(" AND ");
1119
1120 query.append("parentOrganizationId = ?");
1121
1122 query.append(" ");
1123
1124 if (obc != null) {
1125 query.append("ORDER BY ");
1126 query.append(obc.getOrderBy());
1127 }
1128
1129 else {
1130 query.append("ORDER BY ");
1131
1132 query.append("name ASC");
1133 }
1134
1135 Query q = session.createQuery(query.toString());
1136
1137 QueryPos qPos = QueryPos.getInstance(q);
1138
1139 qPos.add(companyId);
1140
1141 qPos.add(parentOrganizationId);
1142
1143 Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
1144 organization);
1145
1146 Organization[] array = new OrganizationImpl[3];
1147
1148 array[0] = (Organization)objArray[0];
1149 array[1] = (Organization)objArray[1];
1150 array[2] = (Organization)objArray[2];
1151
1152 return array;
1153 }
1154 catch (Exception e) {
1155 throw processException(e);
1156 }
1157 finally {
1158 closeSession(session);
1159 }
1160 }
1161
1162 public Organization findByC_N(long companyId, String name)
1163 throws NoSuchOrganizationException, SystemException {
1164 Organization organization = fetchByC_N(companyId, name);
1165
1166 if (organization == null) {
1167 StringBuilder msg = new StringBuilder();
1168
1169 msg.append("No Organization exists with the key {");
1170
1171 msg.append("companyId=" + companyId);
1172
1173 msg.append(", ");
1174 msg.append("name=" + name);
1175
1176 msg.append(StringPool.CLOSE_CURLY_BRACE);
1177
1178 if (_log.isWarnEnabled()) {
1179 _log.warn(msg.toString());
1180 }
1181
1182 throw new NoSuchOrganizationException(msg.toString());
1183 }
1184
1185 return organization;
1186 }
1187
1188 public Organization fetchByC_N(long companyId, String name)
1189 throws SystemException {
1190 return fetchByC_N(companyId, name, true);
1191 }
1192
1193 public Organization fetchByC_N(long companyId, String name,
1194 boolean retrieveFromCache) throws SystemException {
1195 Object[] finderArgs = new Object[] { new Long(companyId), name };
1196
1197 Object result = null;
1198
1199 if (retrieveFromCache) {
1200 result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_C_N,
1201 finderArgs, this);
1202 }
1203
1204 if (result == null) {
1205 Session session = null;
1206
1207 try {
1208 session = openSession();
1209
1210 StringBuilder query = new StringBuilder();
1211
1212 query.append(
1213 "FROM com.liferay.portal.model.Organization WHERE ");
1214
1215 query.append("companyId = ?");
1216
1217 query.append(" AND ");
1218
1219 if (name == null) {
1220 query.append("name IS NULL");
1221 }
1222 else {
1223 query.append("name = ?");
1224 }
1225
1226 query.append(" ");
1227
1228 query.append("ORDER BY ");
1229
1230 query.append("name ASC");
1231
1232 Query q = session.createQuery(query.toString());
1233
1234 QueryPos qPos = QueryPos.getInstance(q);
1235
1236 qPos.add(companyId);
1237
1238 if (name != null) {
1239 qPos.add(name);
1240 }
1241
1242 List<Organization> list = q.list();
1243
1244 result = list;
1245
1246 Organization organization = null;
1247
1248 if (list.isEmpty()) {
1249 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_N,
1250 finderArgs, list);
1251 }
1252 else {
1253 organization = list.get(0);
1254
1255 cacheResult(organization);
1256
1257 if ((organization.getCompanyId() != companyId) ||
1258 (organization.getName() == null) ||
1259 !organization.getName().equals(name)) {
1260 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_N,
1261 finderArgs, organization);
1262 }
1263 }
1264
1265 return organization;
1266 }
1267 catch (Exception e) {
1268 throw processException(e);
1269 }
1270 finally {
1271 if (result == null) {
1272 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_N,
1273 finderArgs, new ArrayList<Organization>());
1274 }
1275
1276 closeSession(session);
1277 }
1278 }
1279 else {
1280 if (result instanceof List) {
1281 return null;
1282 }
1283 else {
1284 return (Organization)result;
1285 }
1286 }
1287 }
1288
1289 public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery)
1290 throws SystemException {
1291 Session session = null;
1292
1293 try {
1294 session = openSession();
1295
1296 dynamicQuery.compile(session);
1297
1298 return dynamicQuery.list();
1299 }
1300 catch (Exception e) {
1301 throw processException(e);
1302 }
1303 finally {
1304 closeSession(session);
1305 }
1306 }
1307
1308 public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery,
1309 int start, int end) throws SystemException {
1310 Session session = null;
1311
1312 try {
1313 session = openSession();
1314
1315 dynamicQuery.setLimit(start, end);
1316
1317 dynamicQuery.compile(session);
1318
1319 return dynamicQuery.list();
1320 }
1321 catch (Exception e) {
1322 throw processException(e);
1323 }
1324 finally {
1325 closeSession(session);
1326 }
1327 }
1328
1329 public List<Organization> findAll() throws SystemException {
1330 return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
1331 }
1332
1333 public List<Organization> findAll(int start, int end)
1334 throws SystemException {
1335 return findAll(start, end, null);
1336 }
1337
1338 public List<Organization> findAll(int start, int end, OrderByComparator obc)
1339 throws SystemException {
1340 Object[] finderArgs = new Object[] {
1341 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
1342 };
1343
1344 List<Organization> list = (List<Organization>)FinderCacheUtil.getResult(FINDER_PATH_FIND_ALL,
1345 finderArgs, this);
1346
1347 if (list == null) {
1348 Session session = null;
1349
1350 try {
1351 session = openSession();
1352
1353 StringBuilder query = new StringBuilder();
1354
1355 query.append("FROM com.liferay.portal.model.Organization ");
1356
1357 if (obc != null) {
1358 query.append("ORDER BY ");
1359 query.append(obc.getOrderBy());
1360 }
1361
1362 else {
1363 query.append("ORDER BY ");
1364
1365 query.append("name ASC");
1366 }
1367
1368 Query q = session.createQuery(query.toString());
1369
1370 if (obc == null) {
1371 list = (List<Organization>)QueryUtil.list(q, getDialect(),
1372 start, end, false);
1373
1374 Collections.sort(list);
1375 }
1376 else {
1377 list = (List<Organization>)QueryUtil.list(q, getDialect(),
1378 start, end);
1379 }
1380 }
1381 catch (Exception e) {
1382 throw processException(e);
1383 }
1384 finally {
1385 if (list == null) {
1386 list = new ArrayList<Organization>();
1387 }
1388
1389 cacheResult(list);
1390
1391 FinderCacheUtil.putResult(FINDER_PATH_FIND_ALL, finderArgs, list);
1392
1393 closeSession(session);
1394 }
1395 }
1396
1397 return list;
1398 }
1399
1400 public void removeByCompanyId(long companyId) throws SystemException {
1401 for (Organization organization : findByCompanyId(companyId)) {
1402 remove(organization);
1403 }
1404 }
1405
1406 public void removeByLocations(long companyId) throws SystemException {
1407 for (Organization organization : findByLocations(companyId)) {
1408 remove(organization);
1409 }
1410 }
1411
1412 public void removeByC_P(long companyId, long parentOrganizationId)
1413 throws SystemException {
1414 for (Organization organization : findByC_P(companyId,
1415 parentOrganizationId)) {
1416 remove(organization);
1417 }
1418 }
1419
1420 public void removeByC_N(long companyId, String name)
1421 throws NoSuchOrganizationException, SystemException {
1422 Organization organization = findByC_N(companyId, name);
1423
1424 remove(organization);
1425 }
1426
1427 public void removeAll() throws SystemException {
1428 for (Organization organization : findAll()) {
1429 remove(organization);
1430 }
1431 }
1432
1433 public int countByCompanyId(long companyId) throws SystemException {
1434 Object[] finderArgs = new Object[] { new Long(companyId) };
1435
1436 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_COMPANYID,
1437 finderArgs, this);
1438
1439 if (count == null) {
1440 Session session = null;
1441
1442 try {
1443 session = openSession();
1444
1445 StringBuilder query = new StringBuilder();
1446
1447 query.append("SELECT COUNT(*) ");
1448 query.append(
1449 "FROM com.liferay.portal.model.Organization WHERE ");
1450
1451 query.append("companyId = ?");
1452
1453 query.append(" ");
1454
1455 Query q = session.createQuery(query.toString());
1456
1457 QueryPos qPos = QueryPos.getInstance(q);
1458
1459 qPos.add(companyId);
1460
1461 count = (Long)q.uniqueResult();
1462 }
1463 catch (Exception e) {
1464 throw processException(e);
1465 }
1466 finally {
1467 if (count == null) {
1468 count = Long.valueOf(0);
1469 }
1470
1471 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_COMPANYID,
1472 finderArgs, count);
1473
1474 closeSession(session);
1475 }
1476 }
1477
1478 return count.intValue();
1479 }
1480
1481 public int countByLocations(long companyId) throws SystemException {
1482 Object[] finderArgs = new Object[] { new Long(companyId) };
1483
1484 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_LOCATIONS,
1485 finderArgs, this);
1486
1487 if (count == null) {
1488 Session session = null;
1489
1490 try {
1491 session = openSession();
1492
1493 StringBuilder query = new StringBuilder();
1494
1495 query.append("SELECT COUNT(*) ");
1496 query.append(
1497 "FROM com.liferay.portal.model.Organization WHERE ");
1498
1499 query.append("companyId = ?");
1500
1501 query.append(" AND parentOrganizationId != 0 ");
1502
1503 Query q = session.createQuery(query.toString());
1504
1505 QueryPos qPos = QueryPos.getInstance(q);
1506
1507 qPos.add(companyId);
1508
1509 count = (Long)q.uniqueResult();
1510 }
1511 catch (Exception e) {
1512 throw processException(e);
1513 }
1514 finally {
1515 if (count == null) {
1516 count = Long.valueOf(0);
1517 }
1518
1519 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_LOCATIONS,
1520 finderArgs, count);
1521
1522 closeSession(session);
1523 }
1524 }
1525
1526 return count.intValue();
1527 }
1528
1529 public int countByC_P(long companyId, long parentOrganizationId)
1530 throws SystemException {
1531 Object[] finderArgs = new Object[] {
1532 new Long(companyId), new Long(parentOrganizationId)
1533 };
1534
1535 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_C_P,
1536 finderArgs, this);
1537
1538 if (count == null) {
1539 Session session = null;
1540
1541 try {
1542 session = openSession();
1543
1544 StringBuilder query = new StringBuilder();
1545
1546 query.append("SELECT COUNT(*) ");
1547 query.append(
1548 "FROM com.liferay.portal.model.Organization WHERE ");
1549
1550 query.append("companyId = ?");
1551
1552 query.append(" AND ");
1553
1554 query.append("parentOrganizationId = ?");
1555
1556 query.append(" ");
1557
1558 Query q = session.createQuery(query.toString());
1559
1560 QueryPos qPos = QueryPos.getInstance(q);
1561
1562 qPos.add(companyId);
1563
1564 qPos.add(parentOrganizationId);
1565
1566 count = (Long)q.uniqueResult();
1567 }
1568 catch (Exception e) {
1569 throw processException(e);
1570 }
1571 finally {
1572 if (count == null) {
1573 count = Long.valueOf(0);
1574 }
1575
1576 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_C_P, finderArgs,
1577 count);
1578
1579 closeSession(session);
1580 }
1581 }
1582
1583 return count.intValue();
1584 }
1585
1586 public int countByC_N(long companyId, String name)
1587 throws SystemException {
1588 Object[] finderArgs = new Object[] { new Long(companyId), name };
1589
1590 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_C_N,
1591 finderArgs, this);
1592
1593 if (count == null) {
1594 Session session = null;
1595
1596 try {
1597 session = openSession();
1598
1599 StringBuilder query = new StringBuilder();
1600
1601 query.append("SELECT COUNT(*) ");
1602 query.append(
1603 "FROM com.liferay.portal.model.Organization WHERE ");
1604
1605 query.append("companyId = ?");
1606
1607 query.append(" AND ");
1608
1609 if (name == null) {
1610 query.append("name IS NULL");
1611 }
1612 else {
1613 query.append("name = ?");
1614 }
1615
1616 query.append(" ");
1617
1618 Query q = session.createQuery(query.toString());
1619
1620 QueryPos qPos = QueryPos.getInstance(q);
1621
1622 qPos.add(companyId);
1623
1624 if (name != null) {
1625 qPos.add(name);
1626 }
1627
1628 count = (Long)q.uniqueResult();
1629 }
1630 catch (Exception e) {
1631 throw processException(e);
1632 }
1633 finally {
1634 if (count == null) {
1635 count = Long.valueOf(0);
1636 }
1637
1638 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_C_N, finderArgs,
1639 count);
1640
1641 closeSession(session);
1642 }
1643 }
1644
1645 return count.intValue();
1646 }
1647
1648 public int countAll() throws SystemException {
1649 Object[] finderArgs = new Object[0];
1650
1651 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
1652 finderArgs, this);
1653
1654 if (count == null) {
1655 Session session = null;
1656
1657 try {
1658 session = openSession();
1659
1660 Query q = session.createQuery(
1661 "SELECT COUNT(*) FROM com.liferay.portal.model.Organization");
1662
1663 count = (Long)q.uniqueResult();
1664 }
1665 catch (Exception e) {
1666 throw processException(e);
1667 }
1668 finally {
1669 if (count == null) {
1670 count = Long.valueOf(0);
1671 }
1672
1673 FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL, finderArgs,
1674 count);
1675
1676 closeSession(session);
1677 }
1678 }
1679
1680 return count.intValue();
1681 }
1682
1683 public List<com.liferay.portal.model.Group> getGroups(long pk)
1684 throws SystemException {
1685 return getGroups(pk, QueryUtil.ALL_POS, QueryUtil.ALL_POS);
1686 }
1687
1688 public List<com.liferay.portal.model.Group> getGroups(long pk, int start,
1689 int end) throws SystemException {
1690 return getGroups(pk, start, end, null);
1691 }
1692
1693 public static final FinderPath FINDER_PATH_GET_GROUPS = new FinderPath(com.liferay.portal.model.impl.GroupModelImpl.ENTITY_CACHE_ENABLED,
1694 OrganizationModelImpl.FINDER_CACHE_ENABLED_GROUPS_ORGS,
1695 "Groups_Orgs", "getGroups",
1696 new String[] {
1697 Long.class.getName(), "java.lang.Integer", "java.lang.Integer",
1698 "com.liferay.portal.kernel.util.OrderByComparator"
1699 });
1700
1701 public List<com.liferay.portal.model.Group> getGroups(long pk, int start,
1702 int end, OrderByComparator obc) throws SystemException {
1703 Object[] finderArgs = new Object[] {
1704 new Long(pk), String.valueOf(start), String.valueOf(end),
1705 String.valueOf(obc)
1706 };
1707
1708 List<com.liferay.portal.model.Group> list = (List<com.liferay.portal.model.Group>)FinderCacheUtil.getResult(FINDER_PATH_GET_GROUPS,
1709 finderArgs, this);
1710
1711 if (list == null) {
1712 Session session = null;
1713
1714 try {
1715 session = openSession();
1716
1717 StringBuilder sb = new StringBuilder();
1718
1719 sb.append(_SQL_GETGROUPS);
1720
1721 if (obc != null) {
1722 sb.append("ORDER BY ");
1723 sb.append(obc.getOrderBy());
1724 }
1725
1726 else {
1727 sb.append("ORDER BY ");
1728
1729 sb.append("Group_.name ASC");
1730 }
1731
1732 String sql = sb.toString();
1733
1734 SQLQuery q = session.createSQLQuery(sql);
1735
1736 q.addEntity("Group_",
1737 com.liferay.portal.model.impl.GroupImpl.class);
1738
1739 QueryPos qPos = QueryPos.getInstance(q);
1740
1741 qPos.add(pk);
1742
1743 list = (List<com.liferay.portal.model.Group>)QueryUtil.list(q,
1744 getDialect(), start, end);
1745 }
1746 catch (Exception e) {
1747 throw processException(e);
1748 }
1749 finally {
1750 if (list == null) {
1751 list = new ArrayList<com.liferay.portal.model.Group>();
1752 }
1753
1754 groupPersistence.cacheResult(list);
1755
1756 FinderCacheUtil.putResult(FINDER_PATH_GET_GROUPS, finderArgs,
1757 list);
1758
1759 closeSession(session);
1760 }
1761 }
1762
1763 return list;
1764 }
1765
1766 public static final FinderPath FINDER_PATH_GET_GROUPS_SIZE = new FinderPath(com.liferay.portal.model.impl.GroupModelImpl.ENTITY_CACHE_ENABLED,
1767 OrganizationModelImpl.FINDER_CACHE_ENABLED_GROUPS_ORGS,
1768 "Groups_Orgs", "getGroupsSize",
1769 new String[] { Long.class.getName() });
1770
1771 public int getGroupsSize(long pk) throws SystemException {
1772 Object[] finderArgs = new Object[] { new Long(pk) };
1773
1774 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_GET_GROUPS_SIZE,
1775 finderArgs, this);
1776
1777 if (count == null) {
1778 Session session = null;
1779
1780 try {
1781 session = openSession();
1782
1783 SQLQuery q = session.createSQLQuery(_SQL_GETGROUPSSIZE);
1784
1785 q.addScalar(COUNT_COLUMN_NAME, Type.LONG);
1786
1787 QueryPos qPos = QueryPos.getInstance(q);
1788
1789 qPos.add(pk);
1790
1791 count = (Long)q.uniqueResult();
1792 }
1793 catch (Exception e) {
1794 throw processException(e);
1795 }
1796 finally {
1797 if (count == null) {
1798 count = Long.valueOf(0);
1799 }
1800
1801 FinderCacheUtil.putResult(FINDER_PATH_GET_GROUPS_SIZE,
1802 finderArgs, count);
1803
1804 closeSession(session);
1805 }
1806 }
1807
1808 return count.intValue();
1809 }
1810
1811 public static final FinderPath FINDER_PATH_CONTAINS_GROUP = new FinderPath(com.liferay.portal.model.impl.GroupModelImpl.ENTITY_CACHE_ENABLED,
1812 OrganizationModelImpl.FINDER_CACHE_ENABLED_GROUPS_ORGS,
1813 "Groups_Orgs", "containsGroup",
1814 new String[] { Long.class.getName(), Long.class.getName() });
1815
1816 public boolean containsGroup(long pk, long groupPK)
1817 throws SystemException {
1818 Object[] finderArgs = new Object[] { new Long(pk), new Long(groupPK) };
1819
1820 Boolean value = (Boolean)FinderCacheUtil.getResult(FINDER_PATH_CONTAINS_GROUP,
1821 finderArgs, this);
1822
1823 if (value == null) {
1824 try {
1825 value = Boolean.valueOf(containsGroup.contains(pk, groupPK));
1826 }
1827 catch (Exception e) {
1828 throw processException(e);
1829 }
1830 finally {
1831 if (value == null) {
1832 value = Boolean.FALSE;
1833 }
1834
1835 FinderCacheUtil.putResult(FINDER_PATH_CONTAINS_GROUP,
1836 finderArgs, value);
1837 }
1838 }
1839
1840 return value.booleanValue();
1841 }
1842
1843 public boolean containsGroups(long pk) throws SystemException {
1844 if (getGroupsSize(pk) > 0) {
1845 return true;
1846 }
1847 else {
1848 return false;
1849 }
1850 }
1851
1852 public void addGroup(long pk, long groupPK) throws SystemException {
1853 try {
1854 addGroup.add(pk, groupPK);
1855 }
1856 catch (Exception e) {
1857 throw processException(e);
1858 }
1859 finally {
1860 FinderCacheUtil.clearCache("Groups_Orgs");
1861 }
1862 }
1863
1864 public void addGroup(long pk, com.liferay.portal.model.Group group)
1865 throws SystemException {
1866 try {
1867 addGroup.add(pk, group.getPrimaryKey());
1868 }
1869 catch (Exception e) {
1870 throw processException(e);
1871 }
1872 finally {
1873 FinderCacheUtil.clearCache("Groups_Orgs");
1874 }
1875 }
1876
1877 public void addGroups(long pk, long[] groupPKs) throws SystemException {
1878 try {
1879 for (long groupPK : groupPKs) {
1880 addGroup.add(pk, groupPK);
1881 }
1882 }
1883 catch (Exception e) {
1884 throw processException(e);
1885 }
1886 finally {
1887 FinderCacheUtil.clearCache("Groups_Orgs");
1888 }
1889 }
1890
1891 public void addGroups(long pk, List<com.liferay.portal.model.Group> groups)
1892 throws SystemException {
1893 try {
1894 for (com.liferay.portal.model.Group group : groups) {
1895 addGroup.add(pk, group.getPrimaryKey());
1896 }
1897 }
1898 catch (Exception e) {
1899 throw processException(e);
1900 }
1901 finally {
1902 FinderCacheUtil.clearCache("Groups_Orgs");
1903 }
1904 }
1905
1906 public void clearGroups(long pk) throws SystemException {
1907 try {
1908 clearGroups.clear(pk);
1909 }
1910 catch (Exception e) {
1911 throw processException(e);
1912 }
1913 finally {
1914 FinderCacheUtil.clearCache("Groups_Orgs");
1915 }
1916 }
1917
1918 public void removeGroup(long pk, long groupPK) throws SystemException {
1919 try {
1920 removeGroup.remove(pk, groupPK);
1921 }
1922 catch (Exception e) {
1923 throw processException(e);
1924 }
1925 finally {
1926 FinderCacheUtil.clearCache("Groups_Orgs");
1927 }
1928 }
1929
1930 public void removeGroup(long pk, com.liferay.portal.model.Group group)
1931 throws SystemException {
1932 try {
1933 removeGroup.remove(pk, group.getPrimaryKey());
1934 }
1935 catch (Exception e) {
1936 throw processException(e);
1937 }
1938 finally {
1939 FinderCacheUtil.clearCache("Groups_Orgs");
1940 }
1941 }
1942
1943 public void removeGroups(long pk, long[] groupPKs)
1944 throws SystemException {
1945 try {
1946 for (long groupPK : groupPKs) {
1947 removeGroup.remove(pk, groupPK);
1948 }
1949 }
1950 catch (Exception e) {
1951 throw processException(e);
1952 }
1953 finally {
1954 FinderCacheUtil.clearCache("Groups_Orgs");
1955 }
1956 }
1957
1958 public void removeGroups(long pk,
1959 List<com.liferay.portal.model.Group> groups) throws SystemException {
1960 try {
1961 for (com.liferay.portal.model.Group group : groups) {
1962 removeGroup.remove(pk, group.getPrimaryKey());
1963 }
1964 }
1965 catch (Exception e) {
1966 throw processException(e);
1967 }
1968 finally {
1969 FinderCacheUtil.clearCache("Groups_Orgs");
1970 }
1971 }
1972
1973 public void setGroups(long pk, long[] groupPKs) throws SystemException {
1974 try {
1975 clearGroups.clear(pk);
1976
1977 for (long groupPK : groupPKs) {
1978 addGroup.add(pk, groupPK);
1979 }
1980 }
1981 catch (Exception e) {
1982 throw processException(e);
1983 }
1984 finally {
1985 FinderCacheUtil.clearCache("Groups_Orgs");
1986 }
1987 }
1988
1989 public void setGroups(long pk, List<com.liferay.portal.model.Group> groups)
1990 throws SystemException {
1991 try {
1992 clearGroups.clear(pk);
1993
1994 for (com.liferay.portal.model.Group group : groups) {
1995 addGroup.add(pk, group.getPrimaryKey());
1996 }
1997 }
1998 catch (Exception e) {
1999 throw processException(e);
2000 }
2001 finally {
2002 FinderCacheUtil.clearCache("Groups_Orgs");
2003 }
2004 }
2005
2006 public List<com.liferay.portal.model.User> getUsers(long pk)
2007 throws SystemException {
2008 return getUsers(pk, QueryUtil.ALL_POS, QueryUtil.ALL_POS);
2009 }
2010
2011 public List<com.liferay.portal.model.User> getUsers(long pk, int start,
2012 int end) throws SystemException {
2013 return getUsers(pk, start, end, null);
2014 }
2015
2016 public static final FinderPath FINDER_PATH_GET_USERS = new FinderPath(com.liferay.portal.model.impl.UserModelImpl.ENTITY_CACHE_ENABLED,
2017 OrganizationModelImpl.FINDER_CACHE_ENABLED_USERS_ORGS,
2018 "Users_Orgs", "getUsers",
2019 new String[] {
2020 Long.class.getName(), "java.lang.Integer", "java.lang.Integer",
2021 "com.liferay.portal.kernel.util.OrderByComparator"
2022 });
2023
2024 public List<com.liferay.portal.model.User> getUsers(long pk, int start,
2025 int end, OrderByComparator obc) throws SystemException {
2026 Object[] finderArgs = new Object[] {
2027 new Long(pk), String.valueOf(start), String.valueOf(end),
2028 String.valueOf(obc)
2029 };
2030
2031 List<com.liferay.portal.model.User> list = (List<com.liferay.portal.model.User>)FinderCacheUtil.getResult(FINDER_PATH_GET_USERS,
2032 finderArgs, this);
2033
2034 if (list == null) {
2035 Session session = null;
2036
2037 try {
2038 session = openSession();
2039
2040 StringBuilder sb = new StringBuilder();
2041
2042 sb.append(_SQL_GETUSERS);
2043
2044 if (obc != null) {
2045 sb.append("ORDER BY ");
2046 sb.append(obc.getOrderBy());
2047 }
2048
2049 String sql = sb.toString();
2050
2051 SQLQuery q = session.createSQLQuery(sql);
2052
2053 q.addEntity("User_",
2054 com.liferay.portal.model.impl.UserImpl.class);
2055
2056 QueryPos qPos = QueryPos.getInstance(q);
2057
2058 qPos.add(pk);
2059
2060 list = (List<com.liferay.portal.model.User>)QueryUtil.list(q,
2061 getDialect(), start, end);
2062 }
2063 catch (Exception e) {
2064 throw processException(e);
2065 }
2066 finally {
2067 if (list == null) {
2068 list = new ArrayList<com.liferay.portal.model.User>();
2069 }
2070
2071 userPersistence.cacheResult(list);
2072
2073 FinderCacheUtil.putResult(FINDER_PATH_GET_USERS, finderArgs,
2074 list);
2075
2076 closeSession(session);
2077 }
2078 }
2079
2080 return list;
2081 }
2082
2083 public static final FinderPath FINDER_PATH_GET_USERS_SIZE = new FinderPath(com.liferay.portal.model.impl.UserModelImpl.ENTITY_CACHE_ENABLED,
2084 OrganizationModelImpl.FINDER_CACHE_ENABLED_USERS_ORGS,
2085 "Users_Orgs", "getUsersSize", new String[] { Long.class.getName() });
2086
2087 public int getUsersSize(long pk) throws SystemException {
2088 Object[] finderArgs = new Object[] { new Long(pk) };
2089
2090 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_GET_USERS_SIZE,
2091 finderArgs, this);
2092
2093 if (count == null) {
2094 Session session = null;
2095
2096 try {
2097 session = openSession();
2098
2099 SQLQuery q = session.createSQLQuery(_SQL_GETUSERSSIZE);
2100
2101 q.addScalar(COUNT_COLUMN_NAME, Type.LONG);
2102
2103 QueryPos qPos = QueryPos.getInstance(q);
2104
2105 qPos.add(pk);
2106
2107 count = (Long)q.uniqueResult();
2108 }
2109 catch (Exception e) {
2110 throw processException(e);
2111 }
2112 finally {
2113 if (count == null) {
2114 count = Long.valueOf(0);
2115 }
2116
2117 FinderCacheUtil.putResult(FINDER_PATH_GET_USERS_SIZE,
2118 finderArgs, count);
2119
2120 closeSession(session);
2121 }
2122 }
2123
2124 return count.intValue();
2125 }
2126
2127 public static final FinderPath FINDER_PATH_CONTAINS_USER = new FinderPath(com.liferay.portal.model.impl.UserModelImpl.ENTITY_CACHE_ENABLED,
2128 OrganizationModelImpl.FINDER_CACHE_ENABLED_USERS_ORGS,
2129 "Users_Orgs", "containsUser",
2130 new String[] { Long.class.getName(), Long.class.getName() });
2131
2132 public boolean containsUser(long pk, long userPK) throws SystemException {
2133 Object[] finderArgs = new Object[] { new Long(pk), new Long(userPK) };
2134
2135 Boolean value = (Boolean)FinderCacheUtil.getResult(FINDER_PATH_CONTAINS_USER,
2136 finderArgs, this);
2137
2138 if (value == null) {
2139 try {
2140 value = Boolean.valueOf(containsUser.contains(pk, userPK));
2141 }
2142 catch (Exception e) {
2143 throw processException(e);
2144 }
2145 finally {
2146 if (value == null) {
2147 value = Boolean.FALSE;
2148 }
2149
2150 FinderCacheUtil.putResult(FINDER_PATH_CONTAINS_USER,
2151 finderArgs, value);
2152 }
2153 }
2154
2155 return value.booleanValue();
2156 }
2157
2158 public boolean containsUsers(long pk) throws SystemException {
2159 if (getUsersSize(pk) > 0) {
2160 return true;
2161 }
2162 else {
2163 return false;
2164 }
2165 }
2166
2167 public void addUser(long pk, long userPK) throws SystemException {
2168 try {
2169 addUser.add(pk, userPK);
2170 }
2171 catch (Exception e) {
2172 throw processException(e);
2173 }
2174 finally {
2175 FinderCacheUtil.clearCache("Users_Orgs");
2176 }
2177 }
2178
2179 public void addUser(long pk, com.liferay.portal.model.User user)
2180 throws SystemException {
2181 try {
2182 addUser.add(pk, user.getPrimaryKey());
2183 }
2184 catch (Exception e) {
2185 throw processException(e);
2186 }
2187 finally {
2188 FinderCacheUtil.clearCache("Users_Orgs");
2189 }
2190 }
2191
2192 public void addUsers(long pk, long[] userPKs) throws SystemException {
2193 try {
2194 for (long userPK : userPKs) {
2195 addUser.add(pk, userPK);
2196 }
2197 }
2198 catch (Exception e) {
2199 throw processException(e);
2200 }
2201 finally {
2202 FinderCacheUtil.clearCache("Users_Orgs");
2203 }
2204 }
2205
2206 public void addUsers(long pk, List<com.liferay.portal.model.User> users)
2207 throws SystemException {
2208 try {
2209 for (com.liferay.portal.model.User user : users) {
2210 addUser.add(pk, user.getPrimaryKey());
2211 }
2212 }
2213 catch (Exception e) {
2214 throw processException(e);
2215 }
2216 finally {
2217 FinderCacheUtil.clearCache("Users_Orgs");
2218 }
2219 }
2220
2221 public void clearUsers(long pk) throws SystemException {
2222 try {
2223 clearUsers.clear(pk);
2224 }
2225 catch (Exception e) {
2226 throw processException(e);
2227 }
2228 finally {
2229 FinderCacheUtil.clearCache("Users_Orgs");
2230 }
2231 }
2232
2233 public void removeUser(long pk, long userPK) throws SystemException {
2234 try {
2235 removeUser.remove(pk, userPK);
2236 }
2237 catch (Exception e) {
2238 throw processException(e);
2239 }
2240 finally {
2241 FinderCacheUtil.clearCache("Users_Orgs");
2242 }
2243 }
2244
2245 public void removeUser(long pk, com.liferay.portal.model.User user)
2246 throws SystemException {
2247 try {
2248 removeUser.remove(pk, user.getPrimaryKey());
2249 }
2250 catch (Exception e) {
2251 throw processException(e);
2252 }
2253 finally {
2254 FinderCacheUtil.clearCache("Users_Orgs");
2255 }
2256 }
2257
2258 public void removeUsers(long pk, long[] userPKs) throws SystemException {
2259 try {
2260 for (long userPK : userPKs) {
2261 removeUser.remove(pk, userPK);
2262 }
2263 }
2264 catch (Exception e) {
2265 throw processException(e);
2266 }
2267 finally {
2268 FinderCacheUtil.clearCache("Users_Orgs");
2269 }
2270 }
2271
2272 public void removeUsers(long pk, List<com.liferay.portal.model.User> users)
2273 throws SystemException {
2274 try {
2275 for (com.liferay.portal.model.User user : users) {
2276 removeUser.remove(pk, user.getPrimaryKey());
2277 }
2278 }
2279 catch (Exception e) {
2280 throw processException(e);
2281 }
2282 finally {
2283 FinderCacheUtil.clearCache("Users_Orgs");
2284 }
2285 }
2286
2287 public void setUsers(long pk, long[] userPKs) throws SystemException {
2288 try {
2289 clearUsers.clear(pk);
2290
2291 for (long userPK : userPKs) {
2292 addUser.add(pk, userPK);
2293 }
2294 }
2295 catch (Exception e) {
2296 throw processException(e);
2297 }
2298 finally {
2299 FinderCacheUtil.clearCache("Users_Orgs");
2300 }
2301 }
2302
2303 public void setUsers(long pk, List<com.liferay.portal.model.User> users)
2304 throws SystemException {
2305 try {
2306 clearUsers.clear(pk);
2307
2308 for (com.liferay.portal.model.User user : users) {
2309 addUser.add(pk, user.getPrimaryKey());
2310 }
2311 }
2312 catch (Exception e) {
2313 throw processException(e);
2314 }
2315 finally {
2316 FinderCacheUtil.clearCache("Users_Orgs");
2317 }
2318 }
2319
2320 public void rebuildTree(long companyId, boolean force)
2321 throws SystemException {
2322 if (force || (countOrphanTreeNodes(companyId) > 0)) {
2323 rebuildTree(companyId, 0, 1);
2324
2325 CacheRegistry.clear(OrganizationImpl.class.getName());
2326 EntityCacheUtil.clearCache(OrganizationImpl.class.getName());
2327 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
2328 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
2329 }
2330 }
2331
2332 protected long countOrphanTreeNodes(long companyId)
2333 throws SystemException {
2334 Session session = null;
2335
2336 try {
2337 session = openSession();
2338
2339 SQLQuery q = session.createSQLQuery(
2340 "SELECT COUNT(*) AS COUNT_VALUE FROM Organization_ WHERE companyId = ? AND (leftOrganizationId = 0 OR leftOrganizationId IS NULL OR rightOrganizationId = 0 OR rightOrganizationId IS NULL)");
2341
2342 q.addScalar(COUNT_COLUMN_NAME, Type.LONG);
2343
2344 QueryPos qPos = QueryPos.getInstance(q);
2345
2346 qPos.add(companyId);
2347
2348 return (Long)q.uniqueResult();
2349 }
2350 catch (Exception e) {
2351 throw processException(e);
2352 }
2353 finally {
2354 closeSession(session);
2355 }
2356 }
2357
2358 protected void expandTree(Organization organization)
2359 throws SystemException {
2360 long companyId = organization.getCompanyId();
2361
2362 long lastRightOrganizationId = getLastRightOrganizationId(companyId,
2363 organization.getParentOrganizationId());
2364
2365 long leftOrganizationId = 2;
2366 long rightOrganizationId = 3;
2367
2368 if (lastRightOrganizationId > 0) {
2369 leftOrganizationId = lastRightOrganizationId + 1;
2370 rightOrganizationId = lastRightOrganizationId + 2;
2371
2372 expandTreeLeftOrganizationId.expand(companyId,
2373 lastRightOrganizationId);
2374 expandTreeRightOrganizationId.expand(companyId,
2375 lastRightOrganizationId);
2376
2377 CacheRegistry.clear(OrganizationImpl.class.getName());
2378 EntityCacheUtil.clearCache(OrganizationImpl.class.getName());
2379 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
2380 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
2381 }
2382
2383 organization.setLeftOrganizationId(leftOrganizationId);
2384 organization.setRightOrganizationId(rightOrganizationId);
2385 }
2386
2387 protected long getLastRightOrganizationId(long companyId,
2388 long parentOrganizationId) throws SystemException {
2389 Session session = null;
2390
2391 try {
2392 session = openSession();
2393
2394 SQLQuery q = session.createSQLQuery(
2395 "SELECT rightOrganizationId FROM Organization_ WHERE (companyId = ?) AND (parentOrganizationId = ?) ORDER BY rightOrganizationId DESC");
2396
2397 q.addScalar("rightOrganizationId", Type.LONG);
2398
2399 QueryPos qPos = QueryPos.getInstance(q);
2400
2401 qPos.add(companyId);
2402 qPos.add(parentOrganizationId);
2403
2404 List<Long> list = (List<Long>)QueryUtil.list(q, getDialect(), 0, 1);
2405
2406 if (list.isEmpty()) {
2407 if (parentOrganizationId > 0) {
2408 Organization parentOrganization = findByPrimaryKey(parentOrganizationId);
2409
2410 return parentOrganization.getLeftOrganizationId();
2411 }
2412
2413 return 0;
2414 }
2415 else {
2416 return list.get(0);
2417 }
2418 }
2419 catch (Exception e) {
2420 throw processException(e);
2421 }
2422 finally {
2423 closeSession(session);
2424 }
2425 }
2426
2427 protected long rebuildTree(long companyId, long parentOrganizationId,
2428 long leftOrganizationId) throws SystemException {
2429 List<Long> organizationIds = null;
2430
2431 Session session = null;
2432
2433 try {
2434 session = openSession();
2435
2436 SQLQuery q = session.createSQLQuery(
2437 "SELECT organizationId FROM Organization_ WHERE companyId = ? AND parentOrganizationId = ? ORDER BY organizationId ASC");
2438
2439 q.addScalar("organizationId", Type.LONG);
2440
2441 QueryPos qPos = QueryPos.getInstance(q);
2442
2443 qPos.add(companyId);
2444 qPos.add(parentOrganizationId);
2445
2446 organizationIds = q.list();
2447 }
2448 catch (Exception e) {
2449 throw processException(e);
2450 }
2451 finally {
2452 closeSession(session);
2453 }
2454
2455 long rightOrganizationId = leftOrganizationId + 1;
2456
2457 for (long organizationId : organizationIds) {
2458 rightOrganizationId = rebuildTree(companyId, organizationId,
2459 rightOrganizationId);
2460 }
2461
2462 if (parentOrganizationId > 0) {
2463 updateTree.update(parentOrganizationId, leftOrganizationId,
2464 rightOrganizationId);
2465 }
2466
2467 return rightOrganizationId + 1;
2468 }
2469
2470 protected void shrinkTree(Organization organization) {
2471 long companyId = organization.getCompanyId();
2472
2473 long leftOrganizationId = organization.getLeftOrganizationId();
2474 long rightOrganizationId = organization.getRightOrganizationId();
2475
2476 long delta = (rightOrganizationId - leftOrganizationId) + 1;
2477
2478 shrinkTreeLeftOrganizationId.shrink(companyId, rightOrganizationId,
2479 delta);
2480 shrinkTreeRightOrganizationId.shrink(companyId, rightOrganizationId,
2481 delta);
2482
2483 CacheRegistry.clear(OrganizationImpl.class.getName());
2484 EntityCacheUtil.clearCache(OrganizationImpl.class.getName());
2485 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
2486 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
2487 }
2488
2489 public void afterPropertiesSet() {
2490 String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
2491 com.liferay.portal.util.PropsUtil.get(
2492 "value.object.listener.com.liferay.portal.model.Organization")));
2493
2494 if (listenerClassNames.length > 0) {
2495 try {
2496 List<ModelListener<Organization>> listenersList = new ArrayList<ModelListener<Organization>>();
2497
2498 for (String listenerClassName : listenerClassNames) {
2499 listenersList.add((ModelListener<Organization>)Class.forName(
2500 listenerClassName).newInstance());
2501 }
2502
2503 listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
2504 }
2505 catch (Exception e) {
2506 _log.error(e);
2507 }
2508 }
2509
2510 containsGroup = new ContainsGroup(this);
2511
2512 addGroup = new AddGroup(this);
2513 clearGroups = new ClearGroups(this);
2514 removeGroup = new RemoveGroup(this);
2515
2516 containsUser = new ContainsUser(this);
2517
2518 addUser = new AddUser(this);
2519 clearUsers = new ClearUsers(this);
2520 removeUser = new RemoveUser(this);
2521
2522 expandTreeLeftOrganizationId = new ExpandTreeLeftOrganizationId();
2523 expandTreeRightOrganizationId = new ExpandTreeRightOrganizationId();
2524 shrinkTreeLeftOrganizationId = new ShrinkTreeLeftOrganizationId();
2525 shrinkTreeRightOrganizationId = new ShrinkTreeRightOrganizationId();
2526 updateTree = new UpdateTree();
2527 }
2528
2529 @BeanReference(name = "com.liferay.portal.service.persistence.AccountPersistence.impl")
2530 protected com.liferay.portal.service.persistence.AccountPersistence accountPersistence;
2531 @BeanReference(name = "com.liferay.portal.service.persistence.AddressPersistence.impl")
2532 protected com.liferay.portal.service.persistence.AddressPersistence addressPersistence;
2533 @BeanReference(name = "com.liferay.portal.service.persistence.BrowserTrackerPersistence.impl")
2534 protected com.liferay.portal.service.persistence.BrowserTrackerPersistence browserTrackerPersistence;
2535 @BeanReference(name = "com.liferay.portal.service.persistence.ClassNamePersistence.impl")
2536 protected com.liferay.portal.service.persistence.ClassNamePersistence classNamePersistence;
2537 @BeanReference(name = "com.liferay.portal.service.persistence.CompanyPersistence.impl")
2538 protected com.liferay.portal.service.persistence.CompanyPersistence companyPersistence;
2539 @BeanReference(name = "com.liferay.portal.service.persistence.ContactPersistence.impl")
2540 protected com.liferay.portal.service.persistence.ContactPersistence contactPersistence;
2541 @BeanReference(name = "com.liferay.portal.service.persistence.CountryPersistence.impl")
2542 protected com.liferay.portal.service.persistence.CountryPersistence countryPersistence;
2543 @BeanReference(name = "com.liferay.portal.service.persistence.EmailAddressPersistence.impl")
2544 protected com.liferay.portal.service.persistence.EmailAddressPersistence emailAddressPersistence;
2545 @BeanReference(name = "com.liferay.portal.service.persistence.GroupPersistence.impl")
2546 protected com.liferay.portal.service.persistence.GroupPersistence groupPersistence;
2547 @BeanReference(name = "com.liferay.portal.service.persistence.ImagePersistence.impl")
2548 protected com.liferay.portal.service.persistence.ImagePersistence imagePersistence;
2549 @BeanReference(name = "com.liferay.portal.service.persistence.LayoutPersistence.impl")
2550 protected com.liferay.portal.service.persistence.LayoutPersistence layoutPersistence;
2551 @BeanReference(name = "com.liferay.portal.service.persistence.LayoutSetPersistence.impl")
2552 protected com.liferay.portal.service.persistence.LayoutSetPersistence layoutSetPersistence;
2553 @BeanReference(name = "com.liferay.portal.service.persistence.ListTypePersistence.impl")
2554 protected com.liferay.portal.service.persistence.ListTypePersistence listTypePersistence;
2555 @BeanReference(name = "com.liferay.portal.service.persistence.MembershipRequestPersistence.impl")
2556 protected com.liferay.portal.service.persistence.MembershipRequestPersistence membershipRequestPersistence;
2557 @BeanReference(name = "com.liferay.portal.service.persistence.OrganizationPersistence.impl")
2558 protected com.liferay.portal.service.persistence.OrganizationPersistence organizationPersistence;
2559 @BeanReference(name = "com.liferay.portal.service.persistence.OrgGroupPermissionPersistence.impl")
2560 protected com.liferay.portal.service.persistence.OrgGroupPermissionPersistence orgGroupPermissionPersistence;
2561 @BeanReference(name = "com.liferay.portal.service.persistence.OrgGroupRolePersistence.impl")
2562 protected com.liferay.portal.service.persistence.OrgGroupRolePersistence orgGroupRolePersistence;
2563 @BeanReference(name = "com.liferay.portal.service.persistence.OrgLaborPersistence.impl")
2564 protected com.liferay.portal.service.persistence.OrgLaborPersistence orgLaborPersistence;
2565 @BeanReference(name = "com.liferay.portal.service.persistence.PasswordPolicyPersistence.impl")
2566 protected com.liferay.portal.service.persistence.PasswordPolicyPersistence passwordPolicyPersistence;
2567 @BeanReference(name = "com.liferay.portal.service.persistence.PasswordPolicyRelPersistence.impl")
2568 protected com.liferay.portal.service.persistence.PasswordPolicyRelPersistence passwordPolicyRelPersistence;
2569 @BeanReference(name = "com.liferay.portal.service.persistence.PasswordTrackerPersistence.impl")
2570 protected com.liferay.portal.service.persistence.PasswordTrackerPersistence passwordTrackerPersistence;
2571 @BeanReference(name = "com.liferay.portal.service.persistence.PermissionPersistence.impl")
2572 protected com.liferay.portal.service.persistence.PermissionPersistence permissionPersistence;
2573 @BeanReference(name = "com.liferay.portal.service.persistence.PhonePersistence.impl")
2574 protected com.liferay.portal.service.persistence.PhonePersistence phonePersistence;
2575 @BeanReference(name = "com.liferay.portal.service.persistence.PluginSettingPersistence.impl")
2576 protected com.liferay.portal.service.persistence.PluginSettingPersistence pluginSettingPersistence;
2577 @BeanReference(name = "com.liferay.portal.service.persistence.PortletPersistence.impl")
2578 protected com.liferay.portal.service.persistence.PortletPersistence portletPersistence;
2579 @BeanReference(name = "com.liferay.portal.service.persistence.PortletItemPersistence.impl")
2580 protected com.liferay.portal.service.persistence.PortletItemPersistence portletItemPersistence;
2581 @BeanReference(name = "com.liferay.portal.service.persistence.PortletPreferencesPersistence.impl")
2582 protected com.liferay.portal.service.persistence.PortletPreferencesPersistence portletPreferencesPersistence;
2583 @BeanReference(name = "com.liferay.portal.service.persistence.RegionPersistence.impl")
2584 protected com.liferay.portal.service.persistence.RegionPersistence regionPersistence;
2585 @BeanReference(name = "com.liferay.portal.service.persistence.ReleasePersistence.impl")
2586 protected com.liferay.portal.service.persistence.ReleasePersistence releasePersistence;
2587 @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePersistence.impl")
2588 protected com.liferay.portal.service.persistence.ResourcePersistence resourcePersistence;
2589 @BeanReference(name = "com.liferay.portal.service.persistence.ResourceActionPersistence.impl")
2590 protected com.liferay.portal.service.persistence.ResourceActionPersistence resourceActionPersistence;
2591 @BeanReference(name = "com.liferay.portal.service.persistence.ResourceCodePersistence.impl")
2592 protected com.liferay.portal.service.persistence.ResourceCodePersistence resourceCodePersistence;
2593 @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePermissionPersistence.impl")
2594 protected com.liferay.portal.service.persistence.ResourcePermissionPersistence resourcePermissionPersistence;
2595 @BeanReference(name = "com.liferay.portal.service.persistence.RolePersistence.impl")
2596 protected com.liferay.portal.service.persistence.RolePersistence rolePersistence;
2597 @BeanReference(name = "com.liferay.portal.service.persistence.ServiceComponentPersistence.impl")
2598 protected com.liferay.portal.service.persistence.ServiceComponentPersistence serviceComponentPersistence;
2599 @BeanReference(name = "com.liferay.portal.service.persistence.ShardPersistence.impl")
2600 protected com.liferay.portal.service.persistence.ShardPersistence shardPersistence;
2601 @BeanReference(name = "com.liferay.portal.service.persistence.SubscriptionPersistence.impl")
2602 protected com.liferay.portal.service.persistence.SubscriptionPersistence subscriptionPersistence;
2603 @BeanReference(name = "com.liferay.portal.service.persistence.UserPersistence.impl")
2604 protected com.liferay.portal.service.persistence.UserPersistence userPersistence;
2605 @BeanReference(name = "com.liferay.portal.service.persistence.UserGroupPersistence.impl")
2606 protected com.liferay.portal.service.persistence.UserGroupPersistence userGroupPersistence;
2607 @BeanReference(name = "com.liferay.portal.service.persistence.UserGroupRolePersistence.impl")
2608 protected com.liferay.portal.service.persistence.UserGroupRolePersistence userGroupRolePersistence;
2609 @BeanReference(name = "com.liferay.portal.service.persistence.UserIdMapperPersistence.impl")
2610 protected com.liferay.portal.service.persistence.UserIdMapperPersistence userIdMapperPersistence;
2611 @BeanReference(name = "com.liferay.portal.service.persistence.UserTrackerPersistence.impl")
2612 protected com.liferay.portal.service.persistence.UserTrackerPersistence userTrackerPersistence;
2613 @BeanReference(name = "com.liferay.portal.service.persistence.UserTrackerPathPersistence.impl")
2614 protected com.liferay.portal.service.persistence.UserTrackerPathPersistence userTrackerPathPersistence;
2615 @BeanReference(name = "com.liferay.portal.service.persistence.WebDAVPropsPersistence.impl")
2616 protected com.liferay.portal.service.persistence.WebDAVPropsPersistence webDAVPropsPersistence;
2617 @BeanReference(name = "com.liferay.portal.service.persistence.WebsitePersistence.impl")
2618 protected com.liferay.portal.service.persistence.WebsitePersistence websitePersistence;
2619 @BeanReference(name = "com.liferay.portlet.tags.service.persistence.TagsAssetPersistence.impl")
2620 protected com.liferay.portlet.tags.service.persistence.TagsAssetPersistence tagsAssetPersistence;
2621 protected ContainsGroup containsGroup;
2622 protected AddGroup addGroup;
2623 protected ClearGroups clearGroups;
2624 protected RemoveGroup removeGroup;
2625 protected ContainsUser containsUser;
2626 protected AddUser addUser;
2627 protected ClearUsers clearUsers;
2628 protected RemoveUser removeUser;
2629
2630 protected class ContainsGroup {
2631 protected ContainsGroup(OrganizationPersistenceImpl persistenceImpl) {
2632 super();
2633
2634 _mappingSqlQuery = MappingSqlQueryFactoryUtil.getMappingSqlQuery(getDataSource(),
2635 _SQL_CONTAINSGROUP,
2636 new int[] { Types.BIGINT, Types.BIGINT }, RowMapper.COUNT);
2637 }
2638
2639 protected boolean contains(long organizationId, long groupId) {
2640 List<Integer> results = _mappingSqlQuery.execute(new Object[] {
2641 new Long(organizationId), new Long(groupId)
2642 });
2643
2644 if (results.size() > 0) {
2645 Integer count = results.get(0);
2646
2647 if (count.intValue() > 0) {
2648 return true;
2649 }
2650 }
2651
2652 return false;
2653 }
2654
2655 private MappingSqlQuery _mappingSqlQuery;
2656 }
2657
2658 protected class AddGroup {
2659 protected AddGroup(OrganizationPersistenceImpl persistenceImpl) {
2660 _sqlUpdate = SqlUpdateFactoryUtil.getSqlUpdate(getDataSource(),
2661 "INSERT INTO Groups_Orgs (organizationId, groupId) VALUES (?, ?)",
2662 new int[] { Types.BIGINT, Types.BIGINT });
2663 _persistenceImpl = persistenceImpl;
2664 }
2665
2666 protected void add(long organizationId, long groupId)
2667 throws SystemException {
2668 if (!_persistenceImpl.containsGroup.contains(organizationId, groupId)) {
2669 ModelListener<com.liferay.portal.model.Group>[] groupListeners = groupPersistence.getListeners();
2670
2671 for (ModelListener<Organization> listener : listeners) {
2672 listener.onBeforeAddAssociation(organizationId,
2673 com.liferay.portal.model.Group.class.getName(), groupId);
2674 }
2675
2676 for (ModelListener<com.liferay.portal.model.Group> listener : groupListeners) {
2677 listener.onBeforeAddAssociation(groupId,
2678 Organization.class.getName(), organizationId);
2679 }
2680
2681 _sqlUpdate.update(new Object[] {
2682 new Long(organizationId), new Long(groupId)
2683 });
2684
2685 for (ModelListener<Organization> listener : listeners) {
2686 listener.onAfterAddAssociation(organizationId,
2687 com.liferay.portal.model.Group.class.getName(), groupId);
2688 }
2689
2690 for (ModelListener<com.liferay.portal.model.Group> listener : groupListeners) {
2691 listener.onAfterAddAssociation(groupId,
2692 Organization.class.getName(), organizationId);
2693 }
2694 }
2695 }
2696
2697 private SqlUpdate _sqlUpdate;
2698 private OrganizationPersistenceImpl _persistenceImpl;
2699 }
2700
2701 protected class ClearGroups {
2702 protected ClearGroups(OrganizationPersistenceImpl persistenceImpl) {
2703 _sqlUpdate = SqlUpdateFactoryUtil.getSqlUpdate(getDataSource(),
2704 "DELETE FROM Groups_Orgs WHERE organizationId = ?",
2705 new int[] { Types.BIGINT });
2706 }
2707
2708 protected void clear(long organizationId) throws SystemException {
2709 ModelListener<com.liferay.portal.model.Group>[] groupListeners = groupPersistence.getListeners();
2710
2711 List<com.liferay.portal.model.Group> groups = null;
2712
2713 if ((listeners.length > 0) || (groupListeners.length > 0)) {
2714 groups = getGroups(organizationId);
2715
2716 for (com.liferay.portal.model.Group group : groups) {
2717 for (ModelListener<Organization> listener : listeners) {
2718 listener.onBeforeRemoveAssociation(organizationId,
2719 com.liferay.portal.model.Group.class.getName(),
2720 group.getPrimaryKey());
2721 }
2722
2723 for (ModelListener<com.liferay.portal.model.Group> listener : groupListeners) {
2724 listener.onBeforeRemoveAssociation(group.getPrimaryKey(),
2725 Organization.class.getName(), organizationId);
2726 }
2727 }
2728 }
2729
2730 _sqlUpdate.update(new Object[] { new Long(organizationId) });
2731
2732 if ((listeners.length > 0) || (groupListeners.length > 0)) {
2733 for (com.liferay.portal.model.Group group : groups) {
2734 for (ModelListener<Organization> listener : listeners) {
2735 listener.onAfterRemoveAssociation(organizationId,
2736 com.liferay.portal.model.Group.class.getName(),
2737 group.getPrimaryKey());
2738 }
2739
2740 for (ModelListener<com.liferay.portal.model.Group> listener : groupListeners) {
2741 listener.onBeforeRemoveAssociation(group.getPrimaryKey(),
2742 Organization.class.getName(), organizationId);
2743 }
2744 }
2745 }
2746 }
2747
2748 private SqlUpdate _sqlUpdate;
2749 }
2750
2751 protected class RemoveGroup {
2752 protected RemoveGroup(OrganizationPersistenceImpl persistenceImpl) {
2753 _sqlUpdate = SqlUpdateFactoryUtil.getSqlUpdate(getDataSource(),
2754 "DELETE FROM Groups_Orgs WHERE organizationId = ? AND groupId = ?",
2755 new int[] { Types.BIGINT, Types.BIGINT });
2756 _persistenceImpl = persistenceImpl;
2757 }
2758
2759 protected void remove(long organizationId, long groupId)
2760 throws SystemException {
2761 if (_persistenceImpl.containsGroup.contains(organizationId, groupId)) {
2762 ModelListener<com.liferay.portal.model.Group>[] groupListeners = groupPersistence.getListeners();
2763
2764 for (ModelListener<Organization> listener : listeners) {
2765 listener.onBeforeRemoveAssociation(organizationId,
2766 com.liferay.portal.model.Group.class.getName(), groupId);
2767 }
2768
2769 for (ModelListener<com.liferay.portal.model.Group> listener : groupListeners) {
2770 listener.onBeforeRemoveAssociation(groupId,
2771 Organization.class.getName(), organizationId);
2772 }
2773
2774 _sqlUpdate.update(new Object[] {
2775 new Long(organizationId), new Long(groupId)
2776 });
2777
2778 for (ModelListener<Organization> listener : listeners) {
2779 listener.onAfterRemoveAssociation(organizationId,
2780 com.liferay.portal.model.Group.class.getName(), groupId);
2781 }
2782
2783 for (ModelListener<com.liferay.portal.model.Group> listener : groupListeners) {
2784 listener.onAfterRemoveAssociation(groupId,
2785 Organization.class.getName(), organizationId);
2786 }
2787 }
2788 }
2789
2790 private SqlUpdate _sqlUpdate;
2791 private OrganizationPersistenceImpl _persistenceImpl;
2792 }
2793
2794 protected class ContainsUser {
2795 protected ContainsUser(OrganizationPersistenceImpl persistenceImpl) {
2796 super();
2797
2798 _mappingSqlQuery = MappingSqlQueryFactoryUtil.getMappingSqlQuery(getDataSource(),
2799 _SQL_CONTAINSUSER,
2800 new int[] { Types.BIGINT, Types.BIGINT }, RowMapper.COUNT);
2801 }
2802
2803 protected boolean contains(long organizationId, long userId) {
2804 List<Integer> results = _mappingSqlQuery.execute(new Object[] {
2805 new Long(organizationId), new Long(userId)
2806 });
2807
2808 if (results.size() > 0) {
2809 Integer count = results.get(0);
2810
2811 if (count.intValue() > 0) {
2812 return true;
2813 }
2814 }
2815
2816 return false;
2817 }
2818
2819 private MappingSqlQuery _mappingSqlQuery;
2820 }
2821
2822 protected class AddUser {
2823 protected AddUser(OrganizationPersistenceImpl persistenceImpl) {
2824 _sqlUpdate = SqlUpdateFactoryUtil.getSqlUpdate(getDataSource(),
2825 "INSERT INTO Users_Orgs (organizationId, userId) VALUES (?, ?)",
2826 new int[] { Types.BIGINT, Types.BIGINT });
2827 _persistenceImpl = persistenceImpl;
2828 }
2829
2830 protected void add(long organizationId, long userId)
2831 throws SystemException {
2832 if (!_persistenceImpl.containsUser.contains(organizationId, userId)) {
2833 ModelListener<com.liferay.portal.model.User>[] userListeners = userPersistence.getListeners();
2834
2835 for (ModelListener<Organization> listener : listeners) {
2836 listener.onBeforeAddAssociation(organizationId,
2837 com.liferay.portal.model.User.class.getName(), userId);
2838 }
2839
2840 for (ModelListener<com.liferay.portal.model.User> listener : userListeners) {
2841 listener.onBeforeAddAssociation(userId,
2842 Organization.class.getName(), organizationId);
2843 }
2844
2845 _sqlUpdate.update(new Object[] {
2846 new Long(organizationId), new Long(userId)
2847 });
2848
2849 for (ModelListener<Organization> listener : listeners) {
2850 listener.onAfterAddAssociation(organizationId,
2851 com.liferay.portal.model.User.class.getName(), userId);
2852 }
2853
2854 for (ModelListener<com.liferay.portal.model.User> listener : userListeners) {
2855 listener.onAfterAddAssociation(userId,
2856 Organization.class.getName(), organizationId);
2857 }
2858 }
2859 }
2860
2861 private SqlUpdate _sqlUpdate;
2862 private OrganizationPersistenceImpl _persistenceImpl;
2863 }
2864
2865 protected class ClearUsers {
2866 protected ClearUsers(OrganizationPersistenceImpl persistenceImpl) {
2867 _sqlUpdate = SqlUpdateFactoryUtil.getSqlUpdate(getDataSource(),
2868 "DELETE FROM Users_Orgs WHERE organizationId = ?",
2869 new int[] { Types.BIGINT });
2870 }
2871
2872 protected void clear(long organizationId) throws SystemException {
2873 ModelListener<com.liferay.portal.model.User>[] userListeners = userPersistence.getListeners();
2874
2875 List<com.liferay.portal.model.User> users = null;
2876
2877 if ((listeners.length > 0) || (userListeners.length > 0)) {
2878 users = getUsers(organizationId);
2879
2880 for (com.liferay.portal.model.User user : users) {
2881 for (ModelListener<Organization> listener : listeners) {
2882 listener.onBeforeRemoveAssociation(organizationId,
2883 com.liferay.portal.model.User.class.getName(),
2884 user.getPrimaryKey());
2885 }
2886
2887 for (ModelListener<com.liferay.portal.model.User> listener : userListeners) {
2888 listener.onBeforeRemoveAssociation(user.getPrimaryKey(),
2889 Organization.class.getName(), organizationId);
2890 }
2891 }
2892 }
2893
2894 _sqlUpdate.update(new Object[] { new Long(organizationId) });
2895
2896 if ((listeners.length > 0) || (userListeners.length > 0)) {
2897 for (com.liferay.portal.model.User user : users) {
2898 for (ModelListener<Organization> listener : listeners) {
2899 listener.onAfterRemoveAssociation(organizationId,
2900 com.liferay.portal.model.User.class.getName(),
2901 user.getPrimaryKey());
2902 }
2903
2904 for (ModelListener<com.liferay.portal.model.User> listener : userListeners) {
2905 listener.onBeforeRemoveAssociation(user.getPrimaryKey(),
2906 Organization.class.getName(), organizationId);
2907 }
2908 }
2909 }
2910 }
2911
2912 private SqlUpdate _sqlUpdate;
2913 }
2914
2915 protected class RemoveUser {
2916 protected RemoveUser(OrganizationPersistenceImpl persistenceImpl) {
2917 _sqlUpdate = SqlUpdateFactoryUtil.getSqlUpdate(getDataSource(),
2918 "DELETE FROM Users_Orgs WHERE organizationId = ? AND userId = ?",
2919 new int[] { Types.BIGINT, Types.BIGINT });
2920 _persistenceImpl = persistenceImpl;
2921 }
2922
2923 protected void remove(long organizationId, long userId)
2924 throws SystemException {
2925 if (_persistenceImpl.containsUser.contains(organizationId, userId)) {
2926 ModelListener<com.liferay.portal.model.User>[] userListeners = userPersistence.getListeners();
2927
2928 for (ModelListener<Organization> listener : listeners) {
2929 listener.onBeforeRemoveAssociation(organizationId,
2930 com.liferay.portal.model.User.class.getName(), userId);
2931 }
2932
2933 for (ModelListener<com.liferay.portal.model.User> listener : userListeners) {
2934 listener.onBeforeRemoveAssociation(userId,
2935 Organization.class.getName(), organizationId);
2936 }
2937
2938 _sqlUpdate.update(new Object[] {
2939 new Long(organizationId), new Long(userId)
2940 });
2941
2942 for (ModelListener<Organization> listener : listeners) {
2943 listener.onAfterRemoveAssociation(organizationId,
2944 com.liferay.portal.model.User.class.getName(), userId);
2945 }
2946
2947 for (ModelListener<com.liferay.portal.model.User> listener : userListeners) {
2948 listener.onAfterRemoveAssociation(userId,
2949 Organization.class.getName(), organizationId);
2950 }
2951 }
2952 }
2953
2954 private SqlUpdate _sqlUpdate;
2955 private OrganizationPersistenceImpl _persistenceImpl;
2956 }
2957
2958 protected ExpandTreeLeftOrganizationId expandTreeLeftOrganizationId;
2959 protected ExpandTreeRightOrganizationId expandTreeRightOrganizationId;
2960 protected ShrinkTreeLeftOrganizationId shrinkTreeLeftOrganizationId;
2961 protected ShrinkTreeRightOrganizationId shrinkTreeRightOrganizationId;
2962 protected UpdateTree updateTree;
2963
2964 protected class ExpandTreeLeftOrganizationId {
2965 protected ExpandTreeLeftOrganizationId() {
2966 _sqlUpdate = SqlUpdateFactoryUtil.getSqlUpdate(getDataSource(),
2967 "UPDATE Organization_ SET leftOrganizationId = (leftOrganizationId + 2) WHERE (companyId = ?) AND (leftOrganizationId > ?)",
2968 new int[] { Types.BIGINT, Types.BIGINT });
2969 }
2970
2971 protected void expand(long companyId, long leftOrganizationId) {
2972 _sqlUpdate.update(new Object[] { companyId, leftOrganizationId });
2973 }
2974
2975 private SqlUpdate _sqlUpdate;
2976 }
2977
2978 protected class ExpandTreeRightOrganizationId {
2979 protected ExpandTreeRightOrganizationId() {
2980 _sqlUpdate = SqlUpdateFactoryUtil.getSqlUpdate(getDataSource(),
2981 "UPDATE Organization_ SET rightOrganizationId = (rightOrganizationId + 2) WHERE (companyId = ?) AND (rightOrganizationId > ?)",
2982 new int[] { Types.BIGINT, Types.BIGINT });
2983 }
2984
2985 protected void expand(long companyId, long rightOrganizationId) {
2986 _sqlUpdate.update(new Object[] { companyId, rightOrganizationId });
2987 }
2988
2989 private SqlUpdate _sqlUpdate;
2990 }
2991
2992 protected class ShrinkTreeLeftOrganizationId {
2993 protected ShrinkTreeLeftOrganizationId() {
2994 _sqlUpdate = SqlUpdateFactoryUtil.getSqlUpdate(getDataSource(),
2995 "UPDATE Organization_ SET leftOrganizationId = (leftOrganizationId - ?) WHERE (companyId = ?) AND (leftOrganizationId > ?)",
2996 new int[] { Types.BIGINT, Types.BIGINT, Types.BIGINT });
2997 }
2998
2999 protected void shrink(long companyId, long leftOrganizationId,
3000 long delta) {
3001 _sqlUpdate.update(new Object[] { delta, companyId, leftOrganizationId });
3002 }
3003
3004 private SqlUpdate _sqlUpdate;
3005 }
3006
3007 protected class ShrinkTreeRightOrganizationId {
3008 protected ShrinkTreeRightOrganizationId() {
3009 _sqlUpdate = SqlUpdateFactoryUtil.getSqlUpdate(getDataSource(),
3010 "UPDATE Organization_ SET rightOrganizationId = (rightOrganizationId - ?) WHERE (companyId = ?) AND (rightOrganizationId > ?)",
3011 new int[] { Types.BIGINT, Types.BIGINT, Types.BIGINT });
3012 }
3013
3014 protected void shrink(long companyId, long rightOrganizationId,
3015 long delta) {
3016 _sqlUpdate.update(new Object[] { delta, companyId, rightOrganizationId });
3017 }
3018
3019 private SqlUpdate _sqlUpdate;
3020 }
3021
3022 protected class UpdateTree {
3023 protected UpdateTree() {
3024 _sqlUpdate = SqlUpdateFactoryUtil.getSqlUpdate(getDataSource(),
3025 "UPDATE Organization_ SET leftOrganizationId = ?, rightOrganizationId = ? WHERE organizationId = ?",
3026 new int[] { Types.BIGINT, Types.BIGINT, Types.BIGINT });
3027 }
3028
3029 protected void update(long organizationId, long leftOrganizationId,
3030 long rightOrganizationId) {
3031 _sqlUpdate.update(new Object[] {
3032 leftOrganizationId, rightOrganizationId, organizationId
3033 });
3034 }
3035
3036 private SqlUpdate _sqlUpdate;
3037 }
3038
3039 private static final String _SQL_GETGROUPS = "SELECT {Group_.*} FROM Group_ INNER JOIN Groups_Orgs ON (Groups_Orgs.groupId = Group_.groupId) WHERE (Groups_Orgs.organizationId = ?)";
3040 private static final String _SQL_GETGROUPSSIZE = "SELECT COUNT(*) AS COUNT_VALUE FROM Groups_Orgs WHERE organizationId = ?";
3041 private static final String _SQL_CONTAINSGROUP = "SELECT COUNT(*) AS COUNT_VALUE FROM Groups_Orgs WHERE organizationId = ? AND groupId = ?";
3042 private static final String _SQL_GETUSERS = "SELECT {User_.*} FROM User_ INNER JOIN Users_Orgs ON (Users_Orgs.userId = User_.userId) WHERE (Users_Orgs.organizationId = ?)";
3043 private static final String _SQL_GETUSERSSIZE = "SELECT COUNT(*) AS COUNT_VALUE FROM Users_Orgs WHERE organizationId = ?";
3044 private static final String _SQL_CONTAINSUSER = "SELECT COUNT(*) AS COUNT_VALUE FROM Users_Orgs WHERE organizationId = ? AND userId = ?";
3045 private static Log _log = LogFactoryUtil.getLog(OrganizationPersistenceImpl.class);
3046}