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