1
22
23 package com.liferay.portal.service.persistence;
24
25 import com.liferay.portal.NoSuchPasswordPolicyException;
26 import com.liferay.portal.SystemException;
27 import com.liferay.portal.kernel.dao.orm.DynamicQuery;
28 import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
29 import com.liferay.portal.kernel.dao.orm.Query;
30 import com.liferay.portal.kernel.dao.orm.QueryPos;
31 import com.liferay.portal.kernel.dao.orm.QueryUtil;
32 import com.liferay.portal.kernel.dao.orm.Session;
33 import com.liferay.portal.kernel.util.GetterUtil;
34 import com.liferay.portal.kernel.util.ListUtil;
35 import com.liferay.portal.kernel.util.OrderByComparator;
36 import com.liferay.portal.kernel.util.StringPool;
37 import com.liferay.portal.kernel.util.StringUtil;
38 import com.liferay.portal.model.ModelListener;
39 import com.liferay.portal.model.PasswordPolicy;
40 import com.liferay.portal.model.impl.PasswordPolicyImpl;
41 import com.liferay.portal.model.impl.PasswordPolicyModelImpl;
42 import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
43
44 import org.apache.commons.logging.Log;
45 import org.apache.commons.logging.LogFactory;
46
47 import java.util.ArrayList;
48 import java.util.Collections;
49 import java.util.Iterator;
50 import java.util.List;
51
52
58 public class PasswordPolicyPersistenceImpl extends BasePersistenceImpl
59 implements PasswordPolicyPersistence {
60 public PasswordPolicy create(long passwordPolicyId) {
61 PasswordPolicy passwordPolicy = new PasswordPolicyImpl();
62
63 passwordPolicy.setNew(true);
64 passwordPolicy.setPrimaryKey(passwordPolicyId);
65
66 return passwordPolicy;
67 }
68
69 public PasswordPolicy remove(long passwordPolicyId)
70 throws NoSuchPasswordPolicyException, SystemException {
71 Session session = null;
72
73 try {
74 session = openSession();
75
76 PasswordPolicy passwordPolicy = (PasswordPolicy)session.get(PasswordPolicyImpl.class,
77 new Long(passwordPolicyId));
78
79 if (passwordPolicy == null) {
80 if (_log.isWarnEnabled()) {
81 _log.warn("No PasswordPolicy exists with the primary key " +
82 passwordPolicyId);
83 }
84
85 throw new NoSuchPasswordPolicyException(
86 "No PasswordPolicy exists with the primary key " +
87 passwordPolicyId);
88 }
89
90 return remove(passwordPolicy);
91 }
92 catch (NoSuchPasswordPolicyException nsee) {
93 throw nsee;
94 }
95 catch (Exception e) {
96 throw processException(e);
97 }
98 finally {
99 closeSession(session);
100 }
101 }
102
103 public PasswordPolicy remove(PasswordPolicy passwordPolicy)
104 throws SystemException {
105 if (_listeners.length > 0) {
106 for (ModelListener listener : _listeners) {
107 listener.onBeforeRemove(passwordPolicy);
108 }
109 }
110
111 passwordPolicy = removeImpl(passwordPolicy);
112
113 if (_listeners.length > 0) {
114 for (ModelListener listener : _listeners) {
115 listener.onAfterRemove(passwordPolicy);
116 }
117 }
118
119 return passwordPolicy;
120 }
121
122 protected PasswordPolicy removeImpl(PasswordPolicy passwordPolicy)
123 throws SystemException {
124 Session session = null;
125
126 try {
127 session = openSession();
128
129 session.delete(passwordPolicy);
130
131 session.flush();
132
133 return passwordPolicy;
134 }
135 catch (Exception e) {
136 throw processException(e);
137 }
138 finally {
139 closeSession(session);
140
141 FinderCacheUtil.clearCache(PasswordPolicy.class.getName());
142 }
143 }
144
145
148 public PasswordPolicy update(PasswordPolicy passwordPolicy)
149 throws SystemException {
150 if (_log.isWarnEnabled()) {
151 _log.warn(
152 "Using the deprecated update(PasswordPolicy passwordPolicy) method. Use update(PasswordPolicy passwordPolicy, boolean merge) instead.");
153 }
154
155 return update(passwordPolicy, false);
156 }
157
158
171 public PasswordPolicy update(PasswordPolicy passwordPolicy, boolean merge)
172 throws SystemException {
173 boolean isNew = passwordPolicy.isNew();
174
175 if (_listeners.length > 0) {
176 for (ModelListener listener : _listeners) {
177 if (isNew) {
178 listener.onBeforeCreate(passwordPolicy);
179 }
180 else {
181 listener.onBeforeUpdate(passwordPolicy);
182 }
183 }
184 }
185
186 passwordPolicy = updateImpl(passwordPolicy, merge);
187
188 if (_listeners.length > 0) {
189 for (ModelListener listener : _listeners) {
190 if (isNew) {
191 listener.onAfterCreate(passwordPolicy);
192 }
193 else {
194 listener.onAfterUpdate(passwordPolicy);
195 }
196 }
197 }
198
199 return passwordPolicy;
200 }
201
202 public PasswordPolicy updateImpl(
203 com.liferay.portal.model.PasswordPolicy passwordPolicy, boolean merge)
204 throws SystemException {
205 Session session = null;
206
207 try {
208 session = openSession();
209
210 if (merge) {
211 session.merge(passwordPolicy);
212 }
213 else {
214 if (passwordPolicy.isNew()) {
215 session.save(passwordPolicy);
216 }
217 }
218
219 session.flush();
220
221 passwordPolicy.setNew(false);
222
223 return passwordPolicy;
224 }
225 catch (Exception e) {
226 throw processException(e);
227 }
228 finally {
229 closeSession(session);
230
231 FinderCacheUtil.clearCache(PasswordPolicy.class.getName());
232 }
233 }
234
235 public PasswordPolicy findByPrimaryKey(long passwordPolicyId)
236 throws NoSuchPasswordPolicyException, SystemException {
237 PasswordPolicy passwordPolicy = fetchByPrimaryKey(passwordPolicyId);
238
239 if (passwordPolicy == null) {
240 if (_log.isWarnEnabled()) {
241 _log.warn("No PasswordPolicy exists with the primary key " +
242 passwordPolicyId);
243 }
244
245 throw new NoSuchPasswordPolicyException(
246 "No PasswordPolicy exists with the primary key " +
247 passwordPolicyId);
248 }
249
250 return passwordPolicy;
251 }
252
253 public PasswordPolicy fetchByPrimaryKey(long passwordPolicyId)
254 throws SystemException {
255 Session session = null;
256
257 try {
258 session = openSession();
259
260 return (PasswordPolicy)session.get(PasswordPolicyImpl.class,
261 new Long(passwordPolicyId));
262 }
263 catch (Exception e) {
264 throw processException(e);
265 }
266 finally {
267 closeSession(session);
268 }
269 }
270
271 public PasswordPolicy findByC_DP(long companyId, boolean defaultPolicy)
272 throws NoSuchPasswordPolicyException, SystemException {
273 PasswordPolicy passwordPolicy = fetchByC_DP(companyId, defaultPolicy);
274
275 if (passwordPolicy == null) {
276 StringBuilder msg = new StringBuilder();
277
278 msg.append("No PasswordPolicy exists with the key {");
279
280 msg.append("companyId=" + companyId);
281
282 msg.append(", ");
283 msg.append("defaultPolicy=" + defaultPolicy);
284
285 msg.append(StringPool.CLOSE_CURLY_BRACE);
286
287 if (_log.isWarnEnabled()) {
288 _log.warn(msg.toString());
289 }
290
291 throw new NoSuchPasswordPolicyException(msg.toString());
292 }
293
294 return passwordPolicy;
295 }
296
297 public PasswordPolicy fetchByC_DP(long companyId, boolean defaultPolicy)
298 throws SystemException {
299 boolean finderClassNameCacheEnabled = PasswordPolicyModelImpl.CACHE_ENABLED;
300 String finderClassName = PasswordPolicy.class.getName();
301 String finderMethodName = "fetchByC_DP";
302 String[] finderParams = new String[] {
303 Long.class.getName(), Boolean.class.getName()
304 };
305 Object[] finderArgs = new Object[] {
306 new Long(companyId), Boolean.valueOf(defaultPolicy)
307 };
308
309 Object result = null;
310
311 if (finderClassNameCacheEnabled) {
312 result = FinderCacheUtil.getResult(finderClassName,
313 finderMethodName, finderParams, finderArgs, this);
314 }
315
316 if (result == null) {
317 Session session = null;
318
319 try {
320 session = openSession();
321
322 StringBuilder query = new StringBuilder();
323
324 query.append(
325 "FROM com.liferay.portal.model.PasswordPolicy WHERE ");
326
327 query.append("companyId = ?");
328
329 query.append(" AND ");
330
331 query.append("defaultPolicy = ?");
332
333 query.append(" ");
334
335 Query q = session.createQuery(query.toString());
336
337 QueryPos qPos = QueryPos.getInstance(q);
338
339 qPos.add(companyId);
340
341 qPos.add(defaultPolicy);
342
343 List<PasswordPolicy> list = q.list();
344
345 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
346 finderClassName, finderMethodName, finderParams,
347 finderArgs, list);
348
349 if (list.size() == 0) {
350 return null;
351 }
352 else {
353 return list.get(0);
354 }
355 }
356 catch (Exception e) {
357 throw processException(e);
358 }
359 finally {
360 closeSession(session);
361 }
362 }
363 else {
364 List<PasswordPolicy> list = (List<PasswordPolicy>)result;
365
366 if (list.size() == 0) {
367 return null;
368 }
369 else {
370 return list.get(0);
371 }
372 }
373 }
374
375 public PasswordPolicy findByC_N(long companyId, String name)
376 throws NoSuchPasswordPolicyException, SystemException {
377 PasswordPolicy passwordPolicy = fetchByC_N(companyId, name);
378
379 if (passwordPolicy == null) {
380 StringBuilder msg = new StringBuilder();
381
382 msg.append("No PasswordPolicy exists with the key {");
383
384 msg.append("companyId=" + companyId);
385
386 msg.append(", ");
387 msg.append("name=" + name);
388
389 msg.append(StringPool.CLOSE_CURLY_BRACE);
390
391 if (_log.isWarnEnabled()) {
392 _log.warn(msg.toString());
393 }
394
395 throw new NoSuchPasswordPolicyException(msg.toString());
396 }
397
398 return passwordPolicy;
399 }
400
401 public PasswordPolicy fetchByC_N(long companyId, String name)
402 throws SystemException {
403 boolean finderClassNameCacheEnabled = PasswordPolicyModelImpl.CACHE_ENABLED;
404 String finderClassName = PasswordPolicy.class.getName();
405 String finderMethodName = "fetchByC_N";
406 String[] finderParams = new String[] {
407 Long.class.getName(), String.class.getName()
408 };
409 Object[] finderArgs = new Object[] { new Long(companyId), name };
410
411 Object result = null;
412
413 if (finderClassNameCacheEnabled) {
414 result = FinderCacheUtil.getResult(finderClassName,
415 finderMethodName, finderParams, finderArgs, this);
416 }
417
418 if (result == null) {
419 Session session = null;
420
421 try {
422 session = openSession();
423
424 StringBuilder query = new StringBuilder();
425
426 query.append(
427 "FROM com.liferay.portal.model.PasswordPolicy WHERE ");
428
429 query.append("companyId = ?");
430
431 query.append(" AND ");
432
433 if (name == null) {
434 query.append("name IS NULL");
435 }
436 else {
437 query.append("name = ?");
438 }
439
440 query.append(" ");
441
442 Query q = session.createQuery(query.toString());
443
444 QueryPos qPos = QueryPos.getInstance(q);
445
446 qPos.add(companyId);
447
448 if (name != null) {
449 qPos.add(name);
450 }
451
452 List<PasswordPolicy> list = q.list();
453
454 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
455 finderClassName, finderMethodName, finderParams,
456 finderArgs, list);
457
458 if (list.size() == 0) {
459 return null;
460 }
461 else {
462 return list.get(0);
463 }
464 }
465 catch (Exception e) {
466 throw processException(e);
467 }
468 finally {
469 closeSession(session);
470 }
471 }
472 else {
473 List<PasswordPolicy> list = (List<PasswordPolicy>)result;
474
475 if (list.size() == 0) {
476 return null;
477 }
478 else {
479 return list.get(0);
480 }
481 }
482 }
483
484 public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery)
485 throws SystemException {
486 Session session = null;
487
488 try {
489 session = openSession();
490
491 dynamicQuery.compile(session);
492
493 return dynamicQuery.list();
494 }
495 catch (Exception e) {
496 throw processException(e);
497 }
498 finally {
499 closeSession(session);
500 }
501 }
502
503 public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery,
504 int start, int end) throws SystemException {
505 Session session = null;
506
507 try {
508 session = openSession();
509
510 dynamicQuery.setLimit(start, end);
511
512 dynamicQuery.compile(session);
513
514 return dynamicQuery.list();
515 }
516 catch (Exception e) {
517 throw processException(e);
518 }
519 finally {
520 closeSession(session);
521 }
522 }
523
524 public List<PasswordPolicy> findAll() throws SystemException {
525 return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
526 }
527
528 public List<PasswordPolicy> findAll(int start, int end)
529 throws SystemException {
530 return findAll(start, end, null);
531 }
532
533 public List<PasswordPolicy> findAll(int start, int end,
534 OrderByComparator obc) throws SystemException {
535 boolean finderClassNameCacheEnabled = PasswordPolicyModelImpl.CACHE_ENABLED;
536 String finderClassName = PasswordPolicy.class.getName();
537 String finderMethodName = "findAll";
538 String[] finderParams = new String[] {
539 "java.lang.Integer", "java.lang.Integer",
540 "com.liferay.portal.kernel.util.OrderByComparator"
541 };
542 Object[] finderArgs = new Object[] {
543 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
544 };
545
546 Object result = null;
547
548 if (finderClassNameCacheEnabled) {
549 result = FinderCacheUtil.getResult(finderClassName,
550 finderMethodName, finderParams, finderArgs, this);
551 }
552
553 if (result == null) {
554 Session session = null;
555
556 try {
557 session = openSession();
558
559 StringBuilder query = new StringBuilder();
560
561 query.append("FROM com.liferay.portal.model.PasswordPolicy ");
562
563 if (obc != null) {
564 query.append("ORDER BY ");
565 query.append(obc.getOrderBy());
566 }
567
568 Query q = session.createQuery(query.toString());
569
570 List<PasswordPolicy> list = (List<PasswordPolicy>)QueryUtil.list(q,
571 getDialect(), start, end);
572
573 if (obc == null) {
574 Collections.sort(list);
575 }
576
577 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
578 finderClassName, finderMethodName, finderParams,
579 finderArgs, list);
580
581 return list;
582 }
583 catch (Exception e) {
584 throw processException(e);
585 }
586 finally {
587 closeSession(session);
588 }
589 }
590 else {
591 return (List<PasswordPolicy>)result;
592 }
593 }
594
595 public void removeByC_DP(long companyId, boolean defaultPolicy)
596 throws NoSuchPasswordPolicyException, SystemException {
597 PasswordPolicy passwordPolicy = findByC_DP(companyId, defaultPolicy);
598
599 remove(passwordPolicy);
600 }
601
602 public void removeByC_N(long companyId, String name)
603 throws NoSuchPasswordPolicyException, SystemException {
604 PasswordPolicy passwordPolicy = findByC_N(companyId, name);
605
606 remove(passwordPolicy);
607 }
608
609 public void removeAll() throws SystemException {
610 for (PasswordPolicy passwordPolicy : findAll()) {
611 remove(passwordPolicy);
612 }
613 }
614
615 public int countByC_DP(long companyId, boolean defaultPolicy)
616 throws SystemException {
617 boolean finderClassNameCacheEnabled = PasswordPolicyModelImpl.CACHE_ENABLED;
618 String finderClassName = PasswordPolicy.class.getName();
619 String finderMethodName = "countByC_DP";
620 String[] finderParams = new String[] {
621 Long.class.getName(), Boolean.class.getName()
622 };
623 Object[] finderArgs = new Object[] {
624 new Long(companyId), Boolean.valueOf(defaultPolicy)
625 };
626
627 Object result = null;
628
629 if (finderClassNameCacheEnabled) {
630 result = FinderCacheUtil.getResult(finderClassName,
631 finderMethodName, finderParams, finderArgs, this);
632 }
633
634 if (result == null) {
635 Session session = null;
636
637 try {
638 session = openSession();
639
640 StringBuilder query = new StringBuilder();
641
642 query.append("SELECT COUNT(*) ");
643 query.append(
644 "FROM com.liferay.portal.model.PasswordPolicy WHERE ");
645
646 query.append("companyId = ?");
647
648 query.append(" AND ");
649
650 query.append("defaultPolicy = ?");
651
652 query.append(" ");
653
654 Query q = session.createQuery(query.toString());
655
656 QueryPos qPos = QueryPos.getInstance(q);
657
658 qPos.add(companyId);
659
660 qPos.add(defaultPolicy);
661
662 Long count = null;
663
664 Iterator<Long> itr = q.list().iterator();
665
666 if (itr.hasNext()) {
667 count = itr.next();
668 }
669
670 if (count == null) {
671 count = new Long(0);
672 }
673
674 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
675 finderClassName, finderMethodName, finderParams,
676 finderArgs, count);
677
678 return count.intValue();
679 }
680 catch (Exception e) {
681 throw processException(e);
682 }
683 finally {
684 closeSession(session);
685 }
686 }
687 else {
688 return ((Long)result).intValue();
689 }
690 }
691
692 public int countByC_N(long companyId, String name)
693 throws SystemException {
694 boolean finderClassNameCacheEnabled = PasswordPolicyModelImpl.CACHE_ENABLED;
695 String finderClassName = PasswordPolicy.class.getName();
696 String finderMethodName = "countByC_N";
697 String[] finderParams = new String[] {
698 Long.class.getName(), String.class.getName()
699 };
700 Object[] finderArgs = new Object[] { new Long(companyId), name };
701
702 Object result = null;
703
704 if (finderClassNameCacheEnabled) {
705 result = FinderCacheUtil.getResult(finderClassName,
706 finderMethodName, finderParams, finderArgs, this);
707 }
708
709 if (result == null) {
710 Session session = null;
711
712 try {
713 session = openSession();
714
715 StringBuilder query = new StringBuilder();
716
717 query.append("SELECT COUNT(*) ");
718 query.append(
719 "FROM com.liferay.portal.model.PasswordPolicy WHERE ");
720
721 query.append("companyId = ?");
722
723 query.append(" AND ");
724
725 if (name == null) {
726 query.append("name IS NULL");
727 }
728 else {
729 query.append("name = ?");
730 }
731
732 query.append(" ");
733
734 Query q = session.createQuery(query.toString());
735
736 QueryPos qPos = QueryPos.getInstance(q);
737
738 qPos.add(companyId);
739
740 if (name != null) {
741 qPos.add(name);
742 }
743
744 Long count = null;
745
746 Iterator<Long> itr = q.list().iterator();
747
748 if (itr.hasNext()) {
749 count = itr.next();
750 }
751
752 if (count == null) {
753 count = new Long(0);
754 }
755
756 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
757 finderClassName, finderMethodName, finderParams,
758 finderArgs, count);
759
760 return count.intValue();
761 }
762 catch (Exception e) {
763 throw processException(e);
764 }
765 finally {
766 closeSession(session);
767 }
768 }
769 else {
770 return ((Long)result).intValue();
771 }
772 }
773
774 public int countAll() throws SystemException {
775 boolean finderClassNameCacheEnabled = PasswordPolicyModelImpl.CACHE_ENABLED;
776 String finderClassName = PasswordPolicy.class.getName();
777 String finderMethodName = "countAll";
778 String[] finderParams = new String[] { };
779 Object[] finderArgs = new Object[] { };
780
781 Object result = null;
782
783 if (finderClassNameCacheEnabled) {
784 result = FinderCacheUtil.getResult(finderClassName,
785 finderMethodName, finderParams, finderArgs, this);
786 }
787
788 if (result == null) {
789 Session session = null;
790
791 try {
792 session = openSession();
793
794 Query q = session.createQuery(
795 "SELECT COUNT(*) FROM com.liferay.portal.model.PasswordPolicy");
796
797 Long count = null;
798
799 Iterator<Long> itr = q.list().iterator();
800
801 if (itr.hasNext()) {
802 count = itr.next();
803 }
804
805 if (count == null) {
806 count = new Long(0);
807 }
808
809 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
810 finderClassName, finderMethodName, finderParams,
811 finderArgs, count);
812
813 return count.intValue();
814 }
815 catch (Exception e) {
816 throw processException(e);
817 }
818 finally {
819 closeSession(session);
820 }
821 }
822 else {
823 return ((Long)result).intValue();
824 }
825 }
826
827 public void registerListener(ModelListener listener) {
828 List<ModelListener> listeners = ListUtil.fromArray(_listeners);
829
830 listeners.add(listener);
831
832 _listeners = listeners.toArray(new ModelListener[listeners.size()]);
833 }
834
835 public void unregisterListener(ModelListener listener) {
836 List<ModelListener> listeners = ListUtil.fromArray(_listeners);
837
838 listeners.remove(listener);
839
840 _listeners = listeners.toArray(new ModelListener[listeners.size()]);
841 }
842
843 public void afterPropertiesSet() {
844 String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
845 com.liferay.portal.util.PropsUtil.get(
846 "value.object.listener.com.liferay.portal.model.PasswordPolicy")));
847
848 if (listenerClassNames.length > 0) {
849 try {
850 List<ModelListener> listeners = new ArrayList<ModelListener>();
851
852 for (String listenerClassName : listenerClassNames) {
853 listeners.add((ModelListener)Class.forName(
854 listenerClassName).newInstance());
855 }
856
857 _listeners = listeners.toArray(new ModelListener[listeners.size()]);
858 }
859 catch (Exception e) {
860 _log.error(e);
861 }
862 }
863 }
864
865 private static Log _log = LogFactory.getLog(PasswordPolicyPersistenceImpl.class);
866 private ModelListener[] _listeners = new ModelListener[0];
867 }