1   /**
2    * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3    *
4    * The contents of this file are subject to the terms of the Liferay Enterprise
5    * Subscription License ("License"). You may not use this file except in
6    * compliance with the License. You can obtain a copy of the License by
7    * contacting Liferay, Inc. See the License for the specific language governing
8    * permissions and limitations under the License, including but not limited to
9    * distribution rights of the Software.
10   *
11   *
12   * 
13   */
14  
15  package com.liferay.portal.service.persistence;
16  
17  import com.liferay.portal.NoSuchModelException;
18  import com.liferay.portal.NoSuchPasswordPolicyException;
19  import com.liferay.portal.SystemException;
20  import com.liferay.portal.kernel.annotation.BeanReference;
21  import com.liferay.portal.kernel.cache.CacheRegistry;
22  import com.liferay.portal.kernel.dao.orm.DynamicQuery;
23  import com.liferay.portal.kernel.dao.orm.EntityCacheUtil;
24  import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
25  import com.liferay.portal.kernel.dao.orm.FinderPath;
26  import com.liferay.portal.kernel.dao.orm.Query;
27  import com.liferay.portal.kernel.dao.orm.QueryPos;
28  import com.liferay.portal.kernel.dao.orm.QueryUtil;
29  import com.liferay.portal.kernel.dao.orm.Session;
30  import com.liferay.portal.kernel.log.Log;
31  import com.liferay.portal.kernel.log.LogFactoryUtil;
32  import com.liferay.portal.kernel.util.GetterUtil;
33  import com.liferay.portal.kernel.util.OrderByComparator;
34  import com.liferay.portal.kernel.util.StringBundler;
35  import com.liferay.portal.kernel.util.StringPool;
36  import com.liferay.portal.kernel.util.StringUtil;
37  import com.liferay.portal.kernel.util.Validator;
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 java.io.Serializable;
45  
46  import java.util.ArrayList;
47  import java.util.Collections;
48  import java.util.List;
49  
50  /**
51   * <a href="PasswordPolicyPersistenceImpl.java.html"><b><i>View Source</i></b></a>
52   *
53   * <p>
54   * ServiceBuilder generated this class. Modifications in this class will be
55   * overwritten the next time is generated.
56   * </p>
57   *
58   * @author    Brian Wing Shun Chan
59   * @see       PasswordPolicyPersistence
60   * @see       PasswordPolicyUtil
61   * @generated
62   */
63  public class PasswordPolicyPersistenceImpl extends BasePersistenceImpl<PasswordPolicy>
64      implements PasswordPolicyPersistence {
65      public static final String FINDER_CLASS_NAME_ENTITY = PasswordPolicyImpl.class.getName();
66      public static final String FINDER_CLASS_NAME_LIST = FINDER_CLASS_NAME_ENTITY +
67          ".List";
68      public static final FinderPath FINDER_PATH_FETCH_BY_C_DP = new FinderPath(PasswordPolicyModelImpl.ENTITY_CACHE_ENABLED,
69              PasswordPolicyModelImpl.FINDER_CACHE_ENABLED,
70              FINDER_CLASS_NAME_ENTITY, "fetchByC_DP",
71              new String[] { Long.class.getName(), Boolean.class.getName() });
72      public static final FinderPath FINDER_PATH_COUNT_BY_C_DP = new FinderPath(PasswordPolicyModelImpl.ENTITY_CACHE_ENABLED,
73              PasswordPolicyModelImpl.FINDER_CACHE_ENABLED,
74              FINDER_CLASS_NAME_LIST, "countByC_DP",
75              new String[] { Long.class.getName(), Boolean.class.getName() });
76      public static final FinderPath FINDER_PATH_FETCH_BY_C_N = new FinderPath(PasswordPolicyModelImpl.ENTITY_CACHE_ENABLED,
77              PasswordPolicyModelImpl.FINDER_CACHE_ENABLED,
78              FINDER_CLASS_NAME_ENTITY, "fetchByC_N",
79              new String[] { Long.class.getName(), String.class.getName() });
80      public static final FinderPath FINDER_PATH_COUNT_BY_C_N = new FinderPath(PasswordPolicyModelImpl.ENTITY_CACHE_ENABLED,
81              PasswordPolicyModelImpl.FINDER_CACHE_ENABLED,
82              FINDER_CLASS_NAME_LIST, "countByC_N",
83              new String[] { Long.class.getName(), String.class.getName() });
84      public static final FinderPath FINDER_PATH_FIND_ALL = new FinderPath(PasswordPolicyModelImpl.ENTITY_CACHE_ENABLED,
85              PasswordPolicyModelImpl.FINDER_CACHE_ENABLED,
86              FINDER_CLASS_NAME_LIST, "findAll", new String[0]);
87      public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(PasswordPolicyModelImpl.ENTITY_CACHE_ENABLED,
88              PasswordPolicyModelImpl.FINDER_CACHE_ENABLED,
89              FINDER_CLASS_NAME_LIST, "countAll", new String[0]);
90  
91      public void cacheResult(PasswordPolicy passwordPolicy) {
92          EntityCacheUtil.putResult(PasswordPolicyModelImpl.ENTITY_CACHE_ENABLED,
93              PasswordPolicyImpl.class, passwordPolicy.getPrimaryKey(),
94              passwordPolicy);
95  
96          FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_DP,
97              new Object[] {
98                  new Long(passwordPolicy.getCompanyId()),
99                  Boolean.valueOf(passwordPolicy.getDefaultPolicy())
100             }, passwordPolicy);
101 
102         FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_N,
103             new Object[] {
104                 new Long(passwordPolicy.getCompanyId()),
105                 
106             passwordPolicy.getName()
107             }, passwordPolicy);
108     }
109 
110     public void cacheResult(List<PasswordPolicy> passwordPolicies) {
111         for (PasswordPolicy passwordPolicy : passwordPolicies) {
112             if (EntityCacheUtil.getResult(
113                         PasswordPolicyModelImpl.ENTITY_CACHE_ENABLED,
114                         PasswordPolicyImpl.class,
115                         passwordPolicy.getPrimaryKey(), this) == null) {
116                 cacheResult(passwordPolicy);
117             }
118         }
119     }
120 
121     public void clearCache() {
122         CacheRegistry.clear(PasswordPolicyImpl.class.getName());
123         EntityCacheUtil.clearCache(PasswordPolicyImpl.class.getName());
124         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
125         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
126     }
127 
128     public PasswordPolicy create(long passwordPolicyId) {
129         PasswordPolicy passwordPolicy = new PasswordPolicyImpl();
130 
131         passwordPolicy.setNew(true);
132         passwordPolicy.setPrimaryKey(passwordPolicyId);
133 
134         return passwordPolicy;
135     }
136 
137     public PasswordPolicy remove(Serializable primaryKey)
138         throws NoSuchModelException, SystemException {
139         return remove(((Long)primaryKey).longValue());
140     }
141 
142     public PasswordPolicy remove(long passwordPolicyId)
143         throws NoSuchPasswordPolicyException, SystemException {
144         Session session = null;
145 
146         try {
147             session = openSession();
148 
149             PasswordPolicy passwordPolicy = (PasswordPolicy)session.get(PasswordPolicyImpl.class,
150                     new Long(passwordPolicyId));
151 
152             if (passwordPolicy == null) {
153                 if (_log.isWarnEnabled()) {
154                     _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
155                         passwordPolicyId);
156                 }
157 
158                 throw new NoSuchPasswordPolicyException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
159                     passwordPolicyId);
160             }
161 
162             return remove(passwordPolicy);
163         }
164         catch (NoSuchPasswordPolicyException nsee) {
165             throw nsee;
166         }
167         catch (Exception e) {
168             throw processException(e);
169         }
170         finally {
171             closeSession(session);
172         }
173     }
174 
175     public PasswordPolicy remove(PasswordPolicy passwordPolicy)
176         throws SystemException {
177         for (ModelListener<PasswordPolicy> listener : listeners) {
178             listener.onBeforeRemove(passwordPolicy);
179         }
180 
181         passwordPolicy = removeImpl(passwordPolicy);
182 
183         for (ModelListener<PasswordPolicy> listener : listeners) {
184             listener.onAfterRemove(passwordPolicy);
185         }
186 
187         return passwordPolicy;
188     }
189 
190     protected PasswordPolicy removeImpl(PasswordPolicy passwordPolicy)
191         throws SystemException {
192         passwordPolicy = toUnwrappedModel(passwordPolicy);
193 
194         Session session = null;
195 
196         try {
197             session = openSession();
198 
199             if (passwordPolicy.isCachedModel() || BatchSessionUtil.isEnabled()) {
200                 Object staleObject = session.get(PasswordPolicyImpl.class,
201                         passwordPolicy.getPrimaryKeyObj());
202 
203                 if (staleObject != null) {
204                     session.evict(staleObject);
205                 }
206             }
207 
208             session.delete(passwordPolicy);
209 
210             session.flush();
211         }
212         catch (Exception e) {
213             throw processException(e);
214         }
215         finally {
216             closeSession(session);
217         }
218 
219         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
220 
221         PasswordPolicyModelImpl passwordPolicyModelImpl = (PasswordPolicyModelImpl)passwordPolicy;
222 
223         FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_C_DP,
224             new Object[] {
225                 new Long(passwordPolicyModelImpl.getOriginalCompanyId()),
226                 Boolean.valueOf(
227                     passwordPolicyModelImpl.getOriginalDefaultPolicy())
228             });
229 
230         FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_C_N,
231             new Object[] {
232                 new Long(passwordPolicyModelImpl.getOriginalCompanyId()),
233                 
234             passwordPolicyModelImpl.getOriginalName()
235             });
236 
237         EntityCacheUtil.removeResult(PasswordPolicyModelImpl.ENTITY_CACHE_ENABLED,
238             PasswordPolicyImpl.class, passwordPolicy.getPrimaryKey());
239 
240         return passwordPolicy;
241     }
242 
243     /**
244      * @deprecated Use {@link BasePersistence#update(com.liferay.portal.model.BaseModel, boolean)}.
245      */
246     public PasswordPolicy update(PasswordPolicy passwordPolicy)
247         throws SystemException {
248         if (_log.isWarnEnabled()) {
249             _log.warn(
250                 "Using the deprecated update(PasswordPolicy passwordPolicy) method. Use update(PasswordPolicy passwordPolicy, boolean merge) instead.");
251         }
252 
253         return update(passwordPolicy, false);
254     }
255 
256     public PasswordPolicy updateImpl(
257         com.liferay.portal.model.PasswordPolicy passwordPolicy, boolean merge)
258         throws SystemException {
259         passwordPolicy = toUnwrappedModel(passwordPolicy);
260 
261         boolean isNew = passwordPolicy.isNew();
262 
263         PasswordPolicyModelImpl passwordPolicyModelImpl = (PasswordPolicyModelImpl)passwordPolicy;
264 
265         Session session = null;
266 
267         try {
268             session = openSession();
269 
270             BatchSessionUtil.update(session, passwordPolicy, merge);
271 
272             passwordPolicy.setNew(false);
273         }
274         catch (Exception e) {
275             throw processException(e);
276         }
277         finally {
278             closeSession(session);
279         }
280 
281         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
282 
283         EntityCacheUtil.putResult(PasswordPolicyModelImpl.ENTITY_CACHE_ENABLED,
284             PasswordPolicyImpl.class, passwordPolicy.getPrimaryKey(),
285             passwordPolicy);
286 
287         if (!isNew &&
288                 ((passwordPolicy.getCompanyId() != passwordPolicyModelImpl.getOriginalCompanyId()) ||
289                 (passwordPolicy.getDefaultPolicy() != passwordPolicyModelImpl.getOriginalDefaultPolicy()))) {
290             FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_C_DP,
291                 new Object[] {
292                     new Long(passwordPolicyModelImpl.getOriginalCompanyId()),
293                     Boolean.valueOf(
294                         passwordPolicyModelImpl.getOriginalDefaultPolicy())
295                 });
296         }
297 
298         if (isNew ||
299                 ((passwordPolicy.getCompanyId() != passwordPolicyModelImpl.getOriginalCompanyId()) ||
300                 (passwordPolicy.getDefaultPolicy() != passwordPolicyModelImpl.getOriginalDefaultPolicy()))) {
301             FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_DP,
302                 new Object[] {
303                     new Long(passwordPolicy.getCompanyId()),
304                     Boolean.valueOf(passwordPolicy.getDefaultPolicy())
305                 }, passwordPolicy);
306         }
307 
308         if (!isNew &&
309                 ((passwordPolicy.getCompanyId() != passwordPolicyModelImpl.getOriginalCompanyId()) ||
310                 !Validator.equals(passwordPolicy.getName(),
311                     passwordPolicyModelImpl.getOriginalName()))) {
312             FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_C_N,
313                 new Object[] {
314                     new Long(passwordPolicyModelImpl.getOriginalCompanyId()),
315                     
316                 passwordPolicyModelImpl.getOriginalName()
317                 });
318         }
319 
320         if (isNew ||
321                 ((passwordPolicy.getCompanyId() != passwordPolicyModelImpl.getOriginalCompanyId()) ||
322                 !Validator.equals(passwordPolicy.getName(),
323                     passwordPolicyModelImpl.getOriginalName()))) {
324             FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_N,
325                 new Object[] {
326                     new Long(passwordPolicy.getCompanyId()),
327                     
328                 passwordPolicy.getName()
329                 }, passwordPolicy);
330         }
331 
332         return passwordPolicy;
333     }
334 
335     protected PasswordPolicy toUnwrappedModel(PasswordPolicy passwordPolicy) {
336         if (passwordPolicy instanceof PasswordPolicyImpl) {
337             return passwordPolicy;
338         }
339 
340         PasswordPolicyImpl passwordPolicyImpl = new PasswordPolicyImpl();
341 
342         passwordPolicyImpl.setNew(passwordPolicy.isNew());
343         passwordPolicyImpl.setPrimaryKey(passwordPolicy.getPrimaryKey());
344 
345         passwordPolicyImpl.setPasswordPolicyId(passwordPolicy.getPasswordPolicyId());
346         passwordPolicyImpl.setCompanyId(passwordPolicy.getCompanyId());
347         passwordPolicyImpl.setUserId(passwordPolicy.getUserId());
348         passwordPolicyImpl.setUserName(passwordPolicy.getUserName());
349         passwordPolicyImpl.setCreateDate(passwordPolicy.getCreateDate());
350         passwordPolicyImpl.setModifiedDate(passwordPolicy.getModifiedDate());
351         passwordPolicyImpl.setDefaultPolicy(passwordPolicy.isDefaultPolicy());
352         passwordPolicyImpl.setName(passwordPolicy.getName());
353         passwordPolicyImpl.setDescription(passwordPolicy.getDescription());
354         passwordPolicyImpl.setChangeable(passwordPolicy.isChangeable());
355         passwordPolicyImpl.setChangeRequired(passwordPolicy.isChangeRequired());
356         passwordPolicyImpl.setMinAge(passwordPolicy.getMinAge());
357         passwordPolicyImpl.setCheckSyntax(passwordPolicy.isCheckSyntax());
358         passwordPolicyImpl.setAllowDictionaryWords(passwordPolicy.isAllowDictionaryWords());
359         passwordPolicyImpl.setMinLength(passwordPolicy.getMinLength());
360         passwordPolicyImpl.setHistory(passwordPolicy.isHistory());
361         passwordPolicyImpl.setHistoryCount(passwordPolicy.getHistoryCount());
362         passwordPolicyImpl.setExpireable(passwordPolicy.isExpireable());
363         passwordPolicyImpl.setMaxAge(passwordPolicy.getMaxAge());
364         passwordPolicyImpl.setWarningTime(passwordPolicy.getWarningTime());
365         passwordPolicyImpl.setGraceLimit(passwordPolicy.getGraceLimit());
366         passwordPolicyImpl.setLockout(passwordPolicy.isLockout());
367         passwordPolicyImpl.setMaxFailure(passwordPolicy.getMaxFailure());
368         passwordPolicyImpl.setLockoutDuration(passwordPolicy.getLockoutDuration());
369         passwordPolicyImpl.setRequireUnlock(passwordPolicy.isRequireUnlock());
370         passwordPolicyImpl.setResetFailureCount(passwordPolicy.getResetFailureCount());
371 
372         return passwordPolicyImpl;
373     }
374 
375     public PasswordPolicy findByPrimaryKey(Serializable primaryKey)
376         throws NoSuchModelException, SystemException {
377         return findByPrimaryKey(((Long)primaryKey).longValue());
378     }
379 
380     public PasswordPolicy findByPrimaryKey(long passwordPolicyId)
381         throws NoSuchPasswordPolicyException, SystemException {
382         PasswordPolicy passwordPolicy = fetchByPrimaryKey(passwordPolicyId);
383 
384         if (passwordPolicy == null) {
385             if (_log.isWarnEnabled()) {
386                 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + passwordPolicyId);
387             }
388 
389             throw new NoSuchPasswordPolicyException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
390                 passwordPolicyId);
391         }
392 
393         return passwordPolicy;
394     }
395 
396     public PasswordPolicy fetchByPrimaryKey(Serializable primaryKey)
397         throws SystemException {
398         return fetchByPrimaryKey(((Long)primaryKey).longValue());
399     }
400 
401     public PasswordPolicy fetchByPrimaryKey(long passwordPolicyId)
402         throws SystemException {
403         PasswordPolicy passwordPolicy = (PasswordPolicy)EntityCacheUtil.getResult(PasswordPolicyModelImpl.ENTITY_CACHE_ENABLED,
404                 PasswordPolicyImpl.class, passwordPolicyId, this);
405 
406         if (passwordPolicy == null) {
407             Session session = null;
408 
409             try {
410                 session = openSession();
411 
412                 passwordPolicy = (PasswordPolicy)session.get(PasswordPolicyImpl.class,
413                         new Long(passwordPolicyId));
414             }
415             catch (Exception e) {
416                 throw processException(e);
417             }
418             finally {
419                 if (passwordPolicy != null) {
420                     cacheResult(passwordPolicy);
421                 }
422 
423                 closeSession(session);
424             }
425         }
426 
427         return passwordPolicy;
428     }
429 
430     public PasswordPolicy findByC_DP(long companyId, boolean defaultPolicy)
431         throws NoSuchPasswordPolicyException, SystemException {
432         PasswordPolicy passwordPolicy = fetchByC_DP(companyId, defaultPolicy);
433 
434         if (passwordPolicy == null) {
435             StringBundler msg = new StringBundler(6);
436 
437             msg.append(_NO_SUCH_ENTITY_WITH_KEY);
438 
439             msg.append("companyId=");
440             msg.append(companyId);
441 
442             msg.append(", defaultPolicy=");
443             msg.append(defaultPolicy);
444 
445             msg.append(StringPool.CLOSE_CURLY_BRACE);
446 
447             if (_log.isWarnEnabled()) {
448                 _log.warn(msg.toString());
449             }
450 
451             throw new NoSuchPasswordPolicyException(msg.toString());
452         }
453 
454         return passwordPolicy;
455     }
456 
457     public PasswordPolicy fetchByC_DP(long companyId, boolean defaultPolicy)
458         throws SystemException {
459         return fetchByC_DP(companyId, defaultPolicy, true);
460     }
461 
462     public PasswordPolicy fetchByC_DP(long companyId, boolean defaultPolicy,
463         boolean retrieveFromCache) throws SystemException {
464         Object[] finderArgs = new Object[] {
465                 new Long(companyId), Boolean.valueOf(defaultPolicy)
466             };
467 
468         Object result = null;
469 
470         if (retrieveFromCache) {
471             result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_C_DP,
472                     finderArgs, this);
473         }
474 
475         if (result == null) {
476             Session session = null;
477 
478             try {
479                 session = openSession();
480 
481                 StringBundler query = new StringBundler(3);
482 
483                 query.append(_SQL_SELECT_PASSWORDPOLICY_WHERE);
484 
485                 query.append(_FINDER_COLUMN_C_DP_COMPANYID_2);
486 
487                 query.append(_FINDER_COLUMN_C_DP_DEFAULTPOLICY_2);
488 
489                 String sql = query.toString();
490 
491                 Query q = session.createQuery(sql);
492 
493                 QueryPos qPos = QueryPos.getInstance(q);
494 
495                 qPos.add(companyId);
496 
497                 qPos.add(defaultPolicy);
498 
499                 List<PasswordPolicy> list = q.list();
500 
501                 result = list;
502 
503                 PasswordPolicy passwordPolicy = null;
504 
505                 if (list.isEmpty()) {
506                     FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_DP,
507                         finderArgs, list);
508                 }
509                 else {
510                     passwordPolicy = list.get(0);
511 
512                     cacheResult(passwordPolicy);
513 
514                     if ((passwordPolicy.getCompanyId() != companyId) ||
515                             (passwordPolicy.getDefaultPolicy() != defaultPolicy)) {
516                         FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_DP,
517                             finderArgs, passwordPolicy);
518                     }
519                 }
520 
521                 return passwordPolicy;
522             }
523             catch (Exception e) {
524                 throw processException(e);
525             }
526             finally {
527                 if (result == null) {
528                     FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_DP,
529                         finderArgs, new ArrayList<PasswordPolicy>());
530                 }
531 
532                 closeSession(session);
533             }
534         }
535         else {
536             if (result instanceof List<?>) {
537                 return null;
538             }
539             else {
540                 return (PasswordPolicy)result;
541             }
542         }
543     }
544 
545     public PasswordPolicy findByC_N(long companyId, String name)
546         throws NoSuchPasswordPolicyException, SystemException {
547         PasswordPolicy passwordPolicy = fetchByC_N(companyId, name);
548 
549         if (passwordPolicy == null) {
550             StringBundler msg = new StringBundler(6);
551 
552             msg.append(_NO_SUCH_ENTITY_WITH_KEY);
553 
554             msg.append("companyId=");
555             msg.append(companyId);
556 
557             msg.append(", name=");
558             msg.append(name);
559 
560             msg.append(StringPool.CLOSE_CURLY_BRACE);
561 
562             if (_log.isWarnEnabled()) {
563                 _log.warn(msg.toString());
564             }
565 
566             throw new NoSuchPasswordPolicyException(msg.toString());
567         }
568 
569         return passwordPolicy;
570     }
571 
572     public PasswordPolicy fetchByC_N(long companyId, String name)
573         throws SystemException {
574         return fetchByC_N(companyId, name, true);
575     }
576 
577     public PasswordPolicy fetchByC_N(long companyId, String name,
578         boolean retrieveFromCache) throws SystemException {
579         Object[] finderArgs = new Object[] { new Long(companyId), name };
580 
581         Object result = null;
582 
583         if (retrieveFromCache) {
584             result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_C_N,
585                     finderArgs, this);
586         }
587 
588         if (result == null) {
589             Session session = null;
590 
591             try {
592                 session = openSession();
593 
594                 StringBundler query = new StringBundler(3);
595 
596                 query.append(_SQL_SELECT_PASSWORDPOLICY_WHERE);
597 
598                 query.append(_FINDER_COLUMN_C_N_COMPANYID_2);
599 
600                 if (name == null) {
601                     query.append(_FINDER_COLUMN_C_N_NAME_1);
602                 }
603                 else {
604                     if (name.equals(StringPool.BLANK)) {
605                         query.append(_FINDER_COLUMN_C_N_NAME_3);
606                     }
607                     else {
608                         query.append(_FINDER_COLUMN_C_N_NAME_2);
609                     }
610                 }
611 
612                 String sql = query.toString();
613 
614                 Query q = session.createQuery(sql);
615 
616                 QueryPos qPos = QueryPos.getInstance(q);
617 
618                 qPos.add(companyId);
619 
620                 if (name != null) {
621                     qPos.add(name);
622                 }
623 
624                 List<PasswordPolicy> list = q.list();
625 
626                 result = list;
627 
628                 PasswordPolicy passwordPolicy = null;
629 
630                 if (list.isEmpty()) {
631                     FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_N,
632                         finderArgs, list);
633                 }
634                 else {
635                     passwordPolicy = list.get(0);
636 
637                     cacheResult(passwordPolicy);
638 
639                     if ((passwordPolicy.getCompanyId() != companyId) ||
640                             (passwordPolicy.getName() == null) ||
641                             !passwordPolicy.getName().equals(name)) {
642                         FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_N,
643                             finderArgs, passwordPolicy);
644                     }
645                 }
646 
647                 return passwordPolicy;
648             }
649             catch (Exception e) {
650                 throw processException(e);
651             }
652             finally {
653                 if (result == null) {
654                     FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_N,
655                         finderArgs, new ArrayList<PasswordPolicy>());
656                 }
657 
658                 closeSession(session);
659             }
660         }
661         else {
662             if (result instanceof List<?>) {
663                 return null;
664             }
665             else {
666                 return (PasswordPolicy)result;
667             }
668         }
669     }
670 
671     public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery)
672         throws SystemException {
673         Session session = null;
674 
675         try {
676             session = openSession();
677 
678             dynamicQuery.compile(session);
679 
680             return dynamicQuery.list();
681         }
682         catch (Exception e) {
683             throw processException(e);
684         }
685         finally {
686             closeSession(session);
687         }
688     }
689 
690     public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery,
691         int start, int end) throws SystemException {
692         Session session = null;
693 
694         try {
695             session = openSession();
696 
697             dynamicQuery.setLimit(start, end);
698 
699             dynamicQuery.compile(session);
700 
701             return dynamicQuery.list();
702         }
703         catch (Exception e) {
704             throw processException(e);
705         }
706         finally {
707             closeSession(session);
708         }
709     }
710 
711     public List<PasswordPolicy> findAll() throws SystemException {
712         return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
713     }
714 
715     public List<PasswordPolicy> findAll(int start, int end)
716         throws SystemException {
717         return findAll(start, end, null);
718     }
719 
720     public List<PasswordPolicy> findAll(int start, int end,
721         OrderByComparator obc) throws SystemException {
722         Object[] finderArgs = new Object[] {
723                 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
724             };
725 
726         List<PasswordPolicy> list = (List<PasswordPolicy>)FinderCacheUtil.getResult(FINDER_PATH_FIND_ALL,
727                 finderArgs, this);
728 
729         if (list == null) {
730             Session session = null;
731 
732             try {
733                 session = openSession();
734 
735                 StringBundler query = null;
736                 String sql = null;
737 
738                 if (obc != null) {
739                     query = new StringBundler(2 +
740                             (obc.getOrderByFields().length * 3));
741 
742                     query.append(_SQL_SELECT_PASSWORDPOLICY);
743 
744                     appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
745 
746                     sql = query.toString();
747                 }
748 
749                 sql = _SQL_SELECT_PASSWORDPOLICY;
750 
751                 Query q = session.createQuery(sql);
752 
753                 if (obc == null) {
754                     list = (List<PasswordPolicy>)QueryUtil.list(q,
755                             getDialect(), start, end, false);
756 
757                     Collections.sort(list);
758                 }
759                 else {
760                     list = (List<PasswordPolicy>)QueryUtil.list(q,
761                             getDialect(), start, end);
762                 }
763             }
764             catch (Exception e) {
765                 throw processException(e);
766             }
767             finally {
768                 if (list == null) {
769                     list = new ArrayList<PasswordPolicy>();
770                 }
771 
772                 cacheResult(list);
773 
774                 FinderCacheUtil.putResult(FINDER_PATH_FIND_ALL, finderArgs, list);
775 
776                 closeSession(session);
777             }
778         }
779 
780         return list;
781     }
782 
783     public void removeByC_DP(long companyId, boolean defaultPolicy)
784         throws NoSuchPasswordPolicyException, SystemException {
785         PasswordPolicy passwordPolicy = findByC_DP(companyId, defaultPolicy);
786 
787         remove(passwordPolicy);
788     }
789 
790     public void removeByC_N(long companyId, String name)
791         throws NoSuchPasswordPolicyException, SystemException {
792         PasswordPolicy passwordPolicy = findByC_N(companyId, name);
793 
794         remove(passwordPolicy);
795     }
796 
797     public void removeAll() throws SystemException {
798         for (PasswordPolicy passwordPolicy : findAll()) {
799             remove(passwordPolicy);
800         }
801     }
802 
803     public int countByC_DP(long companyId, boolean defaultPolicy)
804         throws SystemException {
805         Object[] finderArgs = new Object[] {
806                 new Long(companyId), Boolean.valueOf(defaultPolicy)
807             };
808 
809         Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_C_DP,
810                 finderArgs, this);
811 
812         if (count == null) {
813             Session session = null;
814 
815             try {
816                 session = openSession();
817 
818                 StringBundler query = new StringBundler(3);
819 
820                 query.append(_SQL_COUNT_PASSWORDPOLICY_WHERE);
821 
822                 query.append(_FINDER_COLUMN_C_DP_COMPANYID_2);
823 
824                 query.append(_FINDER_COLUMN_C_DP_DEFAULTPOLICY_2);
825 
826                 String sql = query.toString();
827 
828                 Query q = session.createQuery(sql);
829 
830                 QueryPos qPos = QueryPos.getInstance(q);
831 
832                 qPos.add(companyId);
833 
834                 qPos.add(defaultPolicy);
835 
836                 count = (Long)q.uniqueResult();
837             }
838             catch (Exception e) {
839                 throw processException(e);
840             }
841             finally {
842                 if (count == null) {
843                     count = Long.valueOf(0);
844                 }
845 
846                 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_C_DP,
847                     finderArgs, count);
848 
849                 closeSession(session);
850             }
851         }
852 
853         return count.intValue();
854     }
855 
856     public int countByC_N(long companyId, String name)
857         throws SystemException {
858         Object[] finderArgs = new Object[] { new Long(companyId), name };
859 
860         Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_C_N,
861                 finderArgs, this);
862 
863         if (count == null) {
864             Session session = null;
865 
866             try {
867                 session = openSession();
868 
869                 StringBundler query = new StringBundler(3);
870 
871                 query.append(_SQL_COUNT_PASSWORDPOLICY_WHERE);
872 
873                 query.append(_FINDER_COLUMN_C_N_COMPANYID_2);
874 
875                 if (name == null) {
876                     query.append(_FINDER_COLUMN_C_N_NAME_1);
877                 }
878                 else {
879                     if (name.equals(StringPool.BLANK)) {
880                         query.append(_FINDER_COLUMN_C_N_NAME_3);
881                     }
882                     else {
883                         query.append(_FINDER_COLUMN_C_N_NAME_2);
884                     }
885                 }
886 
887                 String sql = query.toString();
888 
889                 Query q = session.createQuery(sql);
890 
891                 QueryPos qPos = QueryPos.getInstance(q);
892 
893                 qPos.add(companyId);
894 
895                 if (name != null) {
896                     qPos.add(name);
897                 }
898 
899                 count = (Long)q.uniqueResult();
900             }
901             catch (Exception e) {
902                 throw processException(e);
903             }
904             finally {
905                 if (count == null) {
906                     count = Long.valueOf(0);
907                 }
908 
909                 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_C_N, finderArgs,
910                     count);
911 
912                 closeSession(session);
913             }
914         }
915 
916         return count.intValue();
917     }
918 
919     public int countAll() throws SystemException {
920         Object[] finderArgs = new Object[0];
921 
922         Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
923                 finderArgs, this);
924 
925         if (count == null) {
926             Session session = null;
927 
928             try {
929                 session = openSession();
930 
931                 Query q = session.createQuery(_SQL_COUNT_PASSWORDPOLICY);
932 
933                 count = (Long)q.uniqueResult();
934             }
935             catch (Exception e) {
936                 throw processException(e);
937             }
938             finally {
939                 if (count == null) {
940                     count = Long.valueOf(0);
941                 }
942 
943                 FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL, finderArgs,
944                     count);
945 
946                 closeSession(session);
947             }
948         }
949 
950         return count.intValue();
951     }
952 
953     public void afterPropertiesSet() {
954         String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
955                     com.liferay.portal.util.PropsUtil.get(
956                         "value.object.listener.com.liferay.portal.model.PasswordPolicy")));
957 
958         if (listenerClassNames.length > 0) {
959             try {
960                 List<ModelListener<PasswordPolicy>> listenersList = new ArrayList<ModelListener<PasswordPolicy>>();
961 
962                 for (String listenerClassName : listenerClassNames) {
963                     listenersList.add((ModelListener<PasswordPolicy>)Class.forName(
964                             listenerClassName).newInstance());
965                 }
966 
967                 listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
968             }
969             catch (Exception e) {
970                 _log.error(e);
971             }
972         }
973     }
974 
975     @BeanReference(name = "com.liferay.portal.service.persistence.AccountPersistence")
976     protected com.liferay.portal.service.persistence.AccountPersistence accountPersistence;
977     @BeanReference(name = "com.liferay.portal.service.persistence.AddressPersistence")
978     protected com.liferay.portal.service.persistence.AddressPersistence addressPersistence;
979     @BeanReference(name = "com.liferay.portal.service.persistence.BrowserTrackerPersistence")
980     protected com.liferay.portal.service.persistence.BrowserTrackerPersistence browserTrackerPersistence;
981     @BeanReference(name = "com.liferay.portal.service.persistence.ClassNamePersistence")
982     protected com.liferay.portal.service.persistence.ClassNamePersistence classNamePersistence;
983     @BeanReference(name = "com.liferay.portal.service.persistence.CompanyPersistence")
984     protected com.liferay.portal.service.persistence.CompanyPersistence companyPersistence;
985     @BeanReference(name = "com.liferay.portal.service.persistence.ContactPersistence")
986     protected com.liferay.portal.service.persistence.ContactPersistence contactPersistence;
987     @BeanReference(name = "com.liferay.portal.service.persistence.CountryPersistence")
988     protected com.liferay.portal.service.persistence.CountryPersistence countryPersistence;
989     @BeanReference(name = "com.liferay.portal.service.persistence.EmailAddressPersistence")
990     protected com.liferay.portal.service.persistence.EmailAddressPersistence emailAddressPersistence;
991     @BeanReference(name = "com.liferay.portal.service.persistence.GroupPersistence")
992     protected com.liferay.portal.service.persistence.GroupPersistence groupPersistence;
993     @BeanReference(name = "com.liferay.portal.service.persistence.ImagePersistence")
994     protected com.liferay.portal.service.persistence.ImagePersistence imagePersistence;
995     @BeanReference(name = "com.liferay.portal.service.persistence.LayoutPersistence")
996     protected com.liferay.portal.service.persistence.LayoutPersistence layoutPersistence;
997     @BeanReference(name = "com.liferay.portal.service.persistence.LayoutSetPersistence")
998     protected com.liferay.portal.service.persistence.LayoutSetPersistence layoutSetPersistence;
999     @BeanReference(name = "com.liferay.portal.service.persistence.ListTypePersistence")
1000    protected com.liferay.portal.service.persistence.ListTypePersistence listTypePersistence;
1001    @BeanReference(name = "com.liferay.portal.service.persistence.LockPersistence")
1002    protected com.liferay.portal.service.persistence.LockPersistence lockPersistence;
1003    @BeanReference(name = "com.liferay.portal.service.persistence.MembershipRequestPersistence")
1004    protected com.liferay.portal.service.persistence.MembershipRequestPersistence membershipRequestPersistence;
1005    @BeanReference(name = "com.liferay.portal.service.persistence.OrganizationPersistence")
1006    protected com.liferay.portal.service.persistence.OrganizationPersistence organizationPersistence;
1007    @BeanReference(name = "com.liferay.portal.service.persistence.OrgGroupPermissionPersistence")
1008    protected com.liferay.portal.service.persistence.OrgGroupPermissionPersistence orgGroupPermissionPersistence;
1009    @BeanReference(name = "com.liferay.portal.service.persistence.OrgGroupRolePersistence")
1010    protected com.liferay.portal.service.persistence.OrgGroupRolePersistence orgGroupRolePersistence;
1011    @BeanReference(name = "com.liferay.portal.service.persistence.OrgLaborPersistence")
1012    protected com.liferay.portal.service.persistence.OrgLaborPersistence orgLaborPersistence;
1013    @BeanReference(name = "com.liferay.portal.service.persistence.PasswordPolicyPersistence")
1014    protected com.liferay.portal.service.persistence.PasswordPolicyPersistence passwordPolicyPersistence;
1015    @BeanReference(name = "com.liferay.portal.service.persistence.PasswordPolicyRelPersistence")
1016    protected com.liferay.portal.service.persistence.PasswordPolicyRelPersistence passwordPolicyRelPersistence;
1017    @BeanReference(name = "com.liferay.portal.service.persistence.PasswordTrackerPersistence")
1018    protected com.liferay.portal.service.persistence.PasswordTrackerPersistence passwordTrackerPersistence;
1019    @BeanReference(name = "com.liferay.portal.service.persistence.PermissionPersistence")
1020    protected com.liferay.portal.service.persistence.PermissionPersistence permissionPersistence;
1021    @BeanReference(name = "com.liferay.portal.service.persistence.PhonePersistence")
1022    protected com.liferay.portal.service.persistence.PhonePersistence phonePersistence;
1023    @BeanReference(name = "com.liferay.portal.service.persistence.PluginSettingPersistence")
1024    protected com.liferay.portal.service.persistence.PluginSettingPersistence pluginSettingPersistence;
1025    @BeanReference(name = "com.liferay.portal.service.persistence.PortletPersistence")
1026    protected com.liferay.portal.service.persistence.PortletPersistence portletPersistence;
1027    @BeanReference(name = "com.liferay.portal.service.persistence.PortletItemPersistence")
1028    protected com.liferay.portal.service.persistence.PortletItemPersistence portletItemPersistence;
1029    @BeanReference(name = "com.liferay.portal.service.persistence.PortletPreferencesPersistence")
1030    protected com.liferay.portal.service.persistence.PortletPreferencesPersistence portletPreferencesPersistence;
1031    @BeanReference(name = "com.liferay.portal.service.persistence.RegionPersistence")
1032    protected com.liferay.portal.service.persistence.RegionPersistence regionPersistence;
1033    @BeanReference(name = "com.liferay.portal.service.persistence.ReleasePersistence")
1034    protected com.liferay.portal.service.persistence.ReleasePersistence releasePersistence;
1035    @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePersistence")
1036    protected com.liferay.portal.service.persistence.ResourcePersistence resourcePersistence;
1037    @BeanReference(name = "com.liferay.portal.service.persistence.ResourceActionPersistence")
1038    protected com.liferay.portal.service.persistence.ResourceActionPersistence resourceActionPersistence;
1039    @BeanReference(name = "com.liferay.portal.service.persistence.ResourceCodePersistence")
1040    protected com.liferay.portal.service.persistence.ResourceCodePersistence resourceCodePersistence;
1041    @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePermissionPersistence")
1042    protected com.liferay.portal.service.persistence.ResourcePermissionPersistence resourcePermissionPersistence;
1043    @BeanReference(name = "com.liferay.portal.service.persistence.RolePersistence")
1044    protected com.liferay.portal.service.persistence.RolePersistence rolePersistence;
1045    @BeanReference(name = "com.liferay.portal.service.persistence.ServiceComponentPersistence")
1046    protected com.liferay.portal.service.persistence.ServiceComponentPersistence serviceComponentPersistence;
1047    @BeanReference(name = "com.liferay.portal.service.persistence.ShardPersistence")
1048    protected com.liferay.portal.service.persistence.ShardPersistence shardPersistence;
1049    @BeanReference(name = "com.liferay.portal.service.persistence.SubscriptionPersistence")
1050    protected com.liferay.portal.service.persistence.SubscriptionPersistence subscriptionPersistence;
1051    @BeanReference(name = "com.liferay.portal.service.persistence.UserPersistence")
1052    protected com.liferay.portal.service.persistence.UserPersistence userPersistence;
1053    @BeanReference(name = "com.liferay.portal.service.persistence.UserGroupPersistence")
1054    protected com.liferay.portal.service.persistence.UserGroupPersistence userGroupPersistence;
1055    @BeanReference(name = "com.liferay.portal.service.persistence.UserGroupRolePersistence")
1056    protected com.liferay.portal.service.persistence.UserGroupRolePersistence userGroupRolePersistence;
1057    @BeanReference(name = "com.liferay.portal.service.persistence.UserIdMapperPersistence")
1058    protected com.liferay.portal.service.persistence.UserIdMapperPersistence userIdMapperPersistence;
1059    @BeanReference(name = "com.liferay.portal.service.persistence.UserTrackerPersistence")
1060    protected com.liferay.portal.service.persistence.UserTrackerPersistence userTrackerPersistence;
1061    @BeanReference(name = "com.liferay.portal.service.persistence.UserTrackerPathPersistence")
1062    protected com.liferay.portal.service.persistence.UserTrackerPathPersistence userTrackerPathPersistence;
1063    @BeanReference(name = "com.liferay.portal.service.persistence.WebDAVPropsPersistence")
1064    protected com.liferay.portal.service.persistence.WebDAVPropsPersistence webDAVPropsPersistence;
1065    @BeanReference(name = "com.liferay.portal.service.persistence.WebsitePersistence")
1066    protected com.liferay.portal.service.persistence.WebsitePersistence websitePersistence;
1067    private static final String _SQL_SELECT_PASSWORDPOLICY = "SELECT passwordPolicy FROM PasswordPolicy passwordPolicy";
1068    private static final String _SQL_SELECT_PASSWORDPOLICY_WHERE = "SELECT passwordPolicy FROM PasswordPolicy passwordPolicy WHERE ";
1069    private static final String _SQL_COUNT_PASSWORDPOLICY = "SELECT COUNT(passwordPolicy) FROM PasswordPolicy passwordPolicy";
1070    private static final String _SQL_COUNT_PASSWORDPOLICY_WHERE = "SELECT COUNT(passwordPolicy) FROM PasswordPolicy passwordPolicy WHERE ";
1071    private static final String _FINDER_COLUMN_C_DP_COMPANYID_2 = "passwordPolicy.companyId = ? AND ";
1072    private static final String _FINDER_COLUMN_C_DP_DEFAULTPOLICY_2 = "passwordPolicy.defaultPolicy = ?";
1073    private static final String _FINDER_COLUMN_C_N_COMPANYID_2 = "passwordPolicy.companyId = ? AND ";
1074    private static final String _FINDER_COLUMN_C_N_NAME_1 = "passwordPolicy.name IS NULL";
1075    private static final String _FINDER_COLUMN_C_N_NAME_2 = "passwordPolicy.name = ?";
1076    private static final String _FINDER_COLUMN_C_N_NAME_3 = "(passwordPolicy.name IS NULL OR passwordPolicy.name = ?)";
1077    private static final String _ORDER_BY_ENTITY_ALIAS = "passwordPolicy.";
1078    private static final String _NO_SUCH_ENTITY_WITH_PRIMARY_KEY = "No PasswordPolicy exists with the primary key ";
1079    private static final String _NO_SUCH_ENTITY_WITH_KEY = "No PasswordPolicy exists with the key {";
1080    private static Log _log = LogFactoryUtil.getLog(PasswordPolicyPersistenceImpl.class);
1081}