001
014
015 package com.liferay.portlet.social.service.persistence;
016
017 import com.liferay.portal.NoSuchModelException;
018 import com.liferay.portal.kernel.annotation.BeanReference;
019 import com.liferay.portal.kernel.cache.CacheRegistryUtil;
020 import com.liferay.portal.kernel.dao.orm.EntityCacheUtil;
021 import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
022 import com.liferay.portal.kernel.dao.orm.FinderPath;
023 import com.liferay.portal.kernel.dao.orm.Query;
024 import com.liferay.portal.kernel.dao.orm.QueryPos;
025 import com.liferay.portal.kernel.dao.orm.QueryUtil;
026 import com.liferay.portal.kernel.dao.orm.Session;
027 import com.liferay.portal.kernel.exception.SystemException;
028 import com.liferay.portal.kernel.log.Log;
029 import com.liferay.portal.kernel.log.LogFactoryUtil;
030 import com.liferay.portal.kernel.util.GetterUtil;
031 import com.liferay.portal.kernel.util.InstanceFactory;
032 import com.liferay.portal.kernel.util.OrderByComparator;
033 import com.liferay.portal.kernel.util.StringBundler;
034 import com.liferay.portal.kernel.util.StringPool;
035 import com.liferay.portal.kernel.util.StringUtil;
036 import com.liferay.portal.kernel.util.Validator;
037 import com.liferay.portal.model.ModelListener;
038 import com.liferay.portal.service.persistence.BatchSessionUtil;
039 import com.liferay.portal.service.persistence.GroupPersistence;
040 import com.liferay.portal.service.persistence.ResourcePersistence;
041 import com.liferay.portal.service.persistence.UserPersistence;
042 import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
043
044 import com.liferay.portlet.social.NoSuchEquitySettingException;
045 import com.liferay.portlet.social.model.SocialEquitySetting;
046 import com.liferay.portlet.social.model.impl.SocialEquitySettingImpl;
047 import com.liferay.portlet.social.model.impl.SocialEquitySettingModelImpl;
048
049 import java.io.Serializable;
050
051 import java.util.ArrayList;
052 import java.util.Collections;
053 import java.util.List;
054
055
061 public class SocialEquitySettingPersistenceImpl extends BasePersistenceImpl<SocialEquitySetting>
062 implements SocialEquitySettingPersistence {
063 public static final String FINDER_CLASS_NAME_ENTITY = SocialEquitySettingImpl.class.getName();
064 public static final String FINDER_CLASS_NAME_LIST = FINDER_CLASS_NAME_ENTITY +
065 ".List";
066 public static final FinderPath FINDER_PATH_FIND_BY_G_C_A = new FinderPath(SocialEquitySettingModelImpl.ENTITY_CACHE_ENABLED,
067 SocialEquitySettingModelImpl.FINDER_CACHE_ENABLED,
068 FINDER_CLASS_NAME_LIST, "findByG_C_A",
069 new String[] {
070 Long.class.getName(), Long.class.getName(),
071 String.class.getName(),
072
073 "java.lang.Integer", "java.lang.Integer",
074 "com.liferay.portal.kernel.util.OrderByComparator"
075 });
076 public static final FinderPath FINDER_PATH_COUNT_BY_G_C_A = new FinderPath(SocialEquitySettingModelImpl.ENTITY_CACHE_ENABLED,
077 SocialEquitySettingModelImpl.FINDER_CACHE_ENABLED,
078 FINDER_CLASS_NAME_LIST, "countByG_C_A",
079 new String[] {
080 Long.class.getName(), Long.class.getName(),
081 String.class.getName()
082 });
083 public static final FinderPath FINDER_PATH_FETCH_BY_G_C_A_T = new FinderPath(SocialEquitySettingModelImpl.ENTITY_CACHE_ENABLED,
084 SocialEquitySettingModelImpl.FINDER_CACHE_ENABLED,
085 FINDER_CLASS_NAME_ENTITY, "fetchByG_C_A_T",
086 new String[] {
087 Long.class.getName(), Long.class.getName(),
088 String.class.getName(), Integer.class.getName()
089 });
090 public static final FinderPath FINDER_PATH_COUNT_BY_G_C_A_T = new FinderPath(SocialEquitySettingModelImpl.ENTITY_CACHE_ENABLED,
091 SocialEquitySettingModelImpl.FINDER_CACHE_ENABLED,
092 FINDER_CLASS_NAME_LIST, "countByG_C_A_T",
093 new String[] {
094 Long.class.getName(), Long.class.getName(),
095 String.class.getName(), Integer.class.getName()
096 });
097 public static final FinderPath FINDER_PATH_FIND_ALL = new FinderPath(SocialEquitySettingModelImpl.ENTITY_CACHE_ENABLED,
098 SocialEquitySettingModelImpl.FINDER_CACHE_ENABLED,
099 FINDER_CLASS_NAME_LIST, "findAll", new String[0]);
100 public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(SocialEquitySettingModelImpl.ENTITY_CACHE_ENABLED,
101 SocialEquitySettingModelImpl.FINDER_CACHE_ENABLED,
102 FINDER_CLASS_NAME_LIST, "countAll", new String[0]);
103
104 public void cacheResult(SocialEquitySetting socialEquitySetting) {
105 EntityCacheUtil.putResult(SocialEquitySettingModelImpl.ENTITY_CACHE_ENABLED,
106 SocialEquitySettingImpl.class, socialEquitySetting.getPrimaryKey(),
107 socialEquitySetting);
108
109 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_C_A_T,
110 new Object[] {
111 new Long(socialEquitySetting.getGroupId()),
112 new Long(socialEquitySetting.getClassNameId()),
113
114 socialEquitySetting.getActionId(),
115 new Integer(socialEquitySetting.getType())
116 }, socialEquitySetting);
117 }
118
119 public void cacheResult(List<SocialEquitySetting> socialEquitySettings) {
120 for (SocialEquitySetting socialEquitySetting : socialEquitySettings) {
121 if (EntityCacheUtil.getResult(
122 SocialEquitySettingModelImpl.ENTITY_CACHE_ENABLED,
123 SocialEquitySettingImpl.class,
124 socialEquitySetting.getPrimaryKey(), this) == null) {
125 cacheResult(socialEquitySetting);
126 }
127 }
128 }
129
130 public void clearCache() {
131 CacheRegistryUtil.clear(SocialEquitySettingImpl.class.getName());
132 EntityCacheUtil.clearCache(SocialEquitySettingImpl.class.getName());
133 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
134 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
135 }
136
137 public void clearCache(SocialEquitySetting socialEquitySetting) {
138 EntityCacheUtil.removeResult(SocialEquitySettingModelImpl.ENTITY_CACHE_ENABLED,
139 SocialEquitySettingImpl.class, socialEquitySetting.getPrimaryKey());
140
141 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_C_A_T,
142 new Object[] {
143 new Long(socialEquitySetting.getGroupId()),
144 new Long(socialEquitySetting.getClassNameId()),
145
146 socialEquitySetting.getActionId(),
147 new Integer(socialEquitySetting.getType())
148 });
149 }
150
151 public SocialEquitySetting create(long equitySettingId) {
152 SocialEquitySetting socialEquitySetting = new SocialEquitySettingImpl();
153
154 socialEquitySetting.setNew(true);
155 socialEquitySetting.setPrimaryKey(equitySettingId);
156
157 return socialEquitySetting;
158 }
159
160 public SocialEquitySetting remove(Serializable primaryKey)
161 throws NoSuchModelException, SystemException {
162 return remove(((Long)primaryKey).longValue());
163 }
164
165 public SocialEquitySetting remove(long equitySettingId)
166 throws NoSuchEquitySettingException, SystemException {
167 Session session = null;
168
169 try {
170 session = openSession();
171
172 SocialEquitySetting socialEquitySetting = (SocialEquitySetting)session.get(SocialEquitySettingImpl.class,
173 new Long(equitySettingId));
174
175 if (socialEquitySetting == null) {
176 if (_log.isWarnEnabled()) {
177 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
178 equitySettingId);
179 }
180
181 throw new NoSuchEquitySettingException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
182 equitySettingId);
183 }
184
185 return remove(socialEquitySetting);
186 }
187 catch (NoSuchEquitySettingException nsee) {
188 throw nsee;
189 }
190 catch (Exception e) {
191 throw processException(e);
192 }
193 finally {
194 closeSession(session);
195 }
196 }
197
198 protected SocialEquitySetting removeImpl(
199 SocialEquitySetting socialEquitySetting) throws SystemException {
200 socialEquitySetting = toUnwrappedModel(socialEquitySetting);
201
202 Session session = null;
203
204 try {
205 session = openSession();
206
207 if (socialEquitySetting.isCachedModel() ||
208 BatchSessionUtil.isEnabled()) {
209 Object staleObject = session.get(SocialEquitySettingImpl.class,
210 socialEquitySetting.getPrimaryKeyObj());
211
212 if (staleObject != null) {
213 session.evict(staleObject);
214 }
215 }
216
217 session.delete(socialEquitySetting);
218
219 session.flush();
220 }
221 catch (Exception e) {
222 throw processException(e);
223 }
224 finally {
225 closeSession(session);
226 }
227
228 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
229
230 SocialEquitySettingModelImpl socialEquitySettingModelImpl = (SocialEquitySettingModelImpl)socialEquitySetting;
231
232 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_C_A_T,
233 new Object[] {
234 new Long(socialEquitySettingModelImpl.getOriginalGroupId()),
235 new Long(socialEquitySettingModelImpl.getOriginalClassNameId()),
236
237 socialEquitySettingModelImpl.getOriginalActionId(),
238 new Integer(socialEquitySettingModelImpl.getOriginalType())
239 });
240
241 EntityCacheUtil.removeResult(SocialEquitySettingModelImpl.ENTITY_CACHE_ENABLED,
242 SocialEquitySettingImpl.class, socialEquitySetting.getPrimaryKey());
243
244 return socialEquitySetting;
245 }
246
247 public SocialEquitySetting updateImpl(
248 com.liferay.portlet.social.model.SocialEquitySetting socialEquitySetting,
249 boolean merge) throws SystemException {
250 socialEquitySetting = toUnwrappedModel(socialEquitySetting);
251
252 boolean isNew = socialEquitySetting.isNew();
253
254 SocialEquitySettingModelImpl socialEquitySettingModelImpl = (SocialEquitySettingModelImpl)socialEquitySetting;
255
256 Session session = null;
257
258 try {
259 session = openSession();
260
261 BatchSessionUtil.update(session, socialEquitySetting, merge);
262
263 socialEquitySetting.setNew(false);
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 EntityCacheUtil.putResult(SocialEquitySettingModelImpl.ENTITY_CACHE_ENABLED,
275 SocialEquitySettingImpl.class, socialEquitySetting.getPrimaryKey(),
276 socialEquitySetting);
277
278 if (!isNew &&
279 ((socialEquitySetting.getGroupId() != socialEquitySettingModelImpl.getOriginalGroupId()) ||
280 (socialEquitySetting.getClassNameId() != socialEquitySettingModelImpl.getOriginalClassNameId()) ||
281 !Validator.equals(socialEquitySetting.getActionId(),
282 socialEquitySettingModelImpl.getOriginalActionId()) ||
283 (socialEquitySetting.getType() != socialEquitySettingModelImpl.getOriginalType()))) {
284 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_C_A_T,
285 new Object[] {
286 new Long(socialEquitySettingModelImpl.getOriginalGroupId()),
287 new Long(socialEquitySettingModelImpl.getOriginalClassNameId()),
288
289 socialEquitySettingModelImpl.getOriginalActionId(),
290 new Integer(socialEquitySettingModelImpl.getOriginalType())
291 });
292 }
293
294 if (isNew ||
295 ((socialEquitySetting.getGroupId() != socialEquitySettingModelImpl.getOriginalGroupId()) ||
296 (socialEquitySetting.getClassNameId() != socialEquitySettingModelImpl.getOriginalClassNameId()) ||
297 !Validator.equals(socialEquitySetting.getActionId(),
298 socialEquitySettingModelImpl.getOriginalActionId()) ||
299 (socialEquitySetting.getType() != socialEquitySettingModelImpl.getOriginalType()))) {
300 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_C_A_T,
301 new Object[] {
302 new Long(socialEquitySetting.getGroupId()),
303 new Long(socialEquitySetting.getClassNameId()),
304
305 socialEquitySetting.getActionId(),
306 new Integer(socialEquitySetting.getType())
307 }, socialEquitySetting);
308 }
309
310 return socialEquitySetting;
311 }
312
313 protected SocialEquitySetting toUnwrappedModel(
314 SocialEquitySetting socialEquitySetting) {
315 if (socialEquitySetting instanceof SocialEquitySettingImpl) {
316 return socialEquitySetting;
317 }
318
319 SocialEquitySettingImpl socialEquitySettingImpl = new SocialEquitySettingImpl();
320
321 socialEquitySettingImpl.setNew(socialEquitySetting.isNew());
322 socialEquitySettingImpl.setPrimaryKey(socialEquitySetting.getPrimaryKey());
323
324 socialEquitySettingImpl.setEquitySettingId(socialEquitySetting.getEquitySettingId());
325 socialEquitySettingImpl.setGroupId(socialEquitySetting.getGroupId());
326 socialEquitySettingImpl.setCompanyId(socialEquitySetting.getCompanyId());
327 socialEquitySettingImpl.setClassNameId(socialEquitySetting.getClassNameId());
328 socialEquitySettingImpl.setActionId(socialEquitySetting.getActionId());
329 socialEquitySettingImpl.setDailyLimit(socialEquitySetting.getDailyLimit());
330 socialEquitySettingImpl.setLifespan(socialEquitySetting.getLifespan());
331 socialEquitySettingImpl.setType(socialEquitySetting.getType());
332 socialEquitySettingImpl.setUniqueEntry(socialEquitySetting.isUniqueEntry());
333 socialEquitySettingImpl.setValue(socialEquitySetting.getValue());
334
335 return socialEquitySettingImpl;
336 }
337
338 public SocialEquitySetting findByPrimaryKey(Serializable primaryKey)
339 throws NoSuchModelException, SystemException {
340 return findByPrimaryKey(((Long)primaryKey).longValue());
341 }
342
343 public SocialEquitySetting findByPrimaryKey(long equitySettingId)
344 throws NoSuchEquitySettingException, SystemException {
345 SocialEquitySetting socialEquitySetting = fetchByPrimaryKey(equitySettingId);
346
347 if (socialEquitySetting == null) {
348 if (_log.isWarnEnabled()) {
349 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + equitySettingId);
350 }
351
352 throw new NoSuchEquitySettingException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
353 equitySettingId);
354 }
355
356 return socialEquitySetting;
357 }
358
359 public SocialEquitySetting fetchByPrimaryKey(Serializable primaryKey)
360 throws SystemException {
361 return fetchByPrimaryKey(((Long)primaryKey).longValue());
362 }
363
364 public SocialEquitySetting fetchByPrimaryKey(long equitySettingId)
365 throws SystemException {
366 SocialEquitySetting socialEquitySetting = (SocialEquitySetting)EntityCacheUtil.getResult(SocialEquitySettingModelImpl.ENTITY_CACHE_ENABLED,
367 SocialEquitySettingImpl.class, equitySettingId, this);
368
369 if (socialEquitySetting == null) {
370 Session session = null;
371
372 try {
373 session = openSession();
374
375 socialEquitySetting = (SocialEquitySetting)session.get(SocialEquitySettingImpl.class,
376 new Long(equitySettingId));
377 }
378 catch (Exception e) {
379 throw processException(e);
380 }
381 finally {
382 if (socialEquitySetting != null) {
383 cacheResult(socialEquitySetting);
384 }
385
386 closeSession(session);
387 }
388 }
389
390 return socialEquitySetting;
391 }
392
393 public List<SocialEquitySetting> findByG_C_A(long groupId,
394 long classNameId, String actionId) throws SystemException {
395 return findByG_C_A(groupId, classNameId, actionId, QueryUtil.ALL_POS,
396 QueryUtil.ALL_POS, null);
397 }
398
399 public List<SocialEquitySetting> findByG_C_A(long groupId,
400 long classNameId, String actionId, int start, int end)
401 throws SystemException {
402 return findByG_C_A(groupId, classNameId, actionId, start, end, null);
403 }
404
405 public List<SocialEquitySetting> findByG_C_A(long groupId,
406 long classNameId, String actionId, int start, int end,
407 OrderByComparator orderByComparator) throws SystemException {
408 Object[] finderArgs = new Object[] {
409 groupId, classNameId, actionId,
410
411 String.valueOf(start), String.valueOf(end),
412 String.valueOf(orderByComparator)
413 };
414
415 List<SocialEquitySetting> list = (List<SocialEquitySetting>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_G_C_A,
416 finderArgs, this);
417
418 if (list == null) {
419 Session session = null;
420
421 try {
422 session = openSession();
423
424 StringBundler query = null;
425
426 if (orderByComparator != null) {
427 query = new StringBundler(5 +
428 (orderByComparator.getOrderByFields().length * 3));
429 }
430 else {
431 query = new StringBundler(4);
432 }
433
434 query.append(_SQL_SELECT_SOCIALEQUITYSETTING_WHERE);
435
436 query.append(_FINDER_COLUMN_G_C_A_GROUPID_2);
437
438 query.append(_FINDER_COLUMN_G_C_A_CLASSNAMEID_2);
439
440 if (actionId == null) {
441 query.append(_FINDER_COLUMN_G_C_A_ACTIONID_1);
442 }
443 else {
444 if (actionId.equals(StringPool.BLANK)) {
445 query.append(_FINDER_COLUMN_G_C_A_ACTIONID_3);
446 }
447 else {
448 query.append(_FINDER_COLUMN_G_C_A_ACTIONID_2);
449 }
450 }
451
452 if (orderByComparator != null) {
453 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
454 orderByComparator);
455 }
456
457 String sql = query.toString();
458
459 Query q = session.createQuery(sql);
460
461 QueryPos qPos = QueryPos.getInstance(q);
462
463 qPos.add(groupId);
464
465 qPos.add(classNameId);
466
467 if (actionId != null) {
468 qPos.add(actionId);
469 }
470
471 list = (List<SocialEquitySetting>)QueryUtil.list(q,
472 getDialect(), start, end);
473 }
474 catch (Exception e) {
475 throw processException(e);
476 }
477 finally {
478 if (list == null) {
479 list = new ArrayList<SocialEquitySetting>();
480 }
481
482 cacheResult(list);
483
484 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_G_C_A,
485 finderArgs, list);
486
487 closeSession(session);
488 }
489 }
490
491 return list;
492 }
493
494 public SocialEquitySetting findByG_C_A_First(long groupId,
495 long classNameId, String actionId, OrderByComparator orderByComparator)
496 throws NoSuchEquitySettingException, SystemException {
497 List<SocialEquitySetting> list = findByG_C_A(groupId, classNameId,
498 actionId, 0, 1, orderByComparator);
499
500 if (list.isEmpty()) {
501 StringBundler msg = new StringBundler(8);
502
503 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
504
505 msg.append("groupId=");
506 msg.append(groupId);
507
508 msg.append(", classNameId=");
509 msg.append(classNameId);
510
511 msg.append(", actionId=");
512 msg.append(actionId);
513
514 msg.append(StringPool.CLOSE_CURLY_BRACE);
515
516 throw new NoSuchEquitySettingException(msg.toString());
517 }
518 else {
519 return list.get(0);
520 }
521 }
522
523 public SocialEquitySetting findByG_C_A_Last(long groupId, long classNameId,
524 String actionId, OrderByComparator orderByComparator)
525 throws NoSuchEquitySettingException, SystemException {
526 int count = countByG_C_A(groupId, classNameId, actionId);
527
528 List<SocialEquitySetting> list = findByG_C_A(groupId, classNameId,
529 actionId, count - 1, count, orderByComparator);
530
531 if (list.isEmpty()) {
532 StringBundler msg = new StringBundler(8);
533
534 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
535
536 msg.append("groupId=");
537 msg.append(groupId);
538
539 msg.append(", classNameId=");
540 msg.append(classNameId);
541
542 msg.append(", actionId=");
543 msg.append(actionId);
544
545 msg.append(StringPool.CLOSE_CURLY_BRACE);
546
547 throw new NoSuchEquitySettingException(msg.toString());
548 }
549 else {
550 return list.get(0);
551 }
552 }
553
554 public SocialEquitySetting[] findByG_C_A_PrevAndNext(long equitySettingId,
555 long groupId, long classNameId, String actionId,
556 OrderByComparator orderByComparator)
557 throws NoSuchEquitySettingException, SystemException {
558 SocialEquitySetting socialEquitySetting = findByPrimaryKey(equitySettingId);
559
560 Session session = null;
561
562 try {
563 session = openSession();
564
565 SocialEquitySetting[] array = new SocialEquitySettingImpl[3];
566
567 array[0] = getByG_C_A_PrevAndNext(session, socialEquitySetting,
568 groupId, classNameId, actionId, orderByComparator, true);
569
570 array[1] = socialEquitySetting;
571
572 array[2] = getByG_C_A_PrevAndNext(session, socialEquitySetting,
573 groupId, classNameId, actionId, orderByComparator, false);
574
575 return array;
576 }
577 catch (Exception e) {
578 throw processException(e);
579 }
580 finally {
581 closeSession(session);
582 }
583 }
584
585 protected SocialEquitySetting getByG_C_A_PrevAndNext(Session session,
586 SocialEquitySetting socialEquitySetting, long groupId,
587 long classNameId, String actionId, OrderByComparator orderByComparator,
588 boolean previous) {
589 StringBundler query = null;
590
591 if (orderByComparator != null) {
592 query = new StringBundler(6 +
593 (orderByComparator.getOrderByFields().length * 6));
594 }
595 else {
596 query = new StringBundler(3);
597 }
598
599 query.append(_SQL_SELECT_SOCIALEQUITYSETTING_WHERE);
600
601 query.append(_FINDER_COLUMN_G_C_A_GROUPID_2);
602
603 query.append(_FINDER_COLUMN_G_C_A_CLASSNAMEID_2);
604
605 if (actionId == null) {
606 query.append(_FINDER_COLUMN_G_C_A_ACTIONID_1);
607 }
608 else {
609 if (actionId.equals(StringPool.BLANK)) {
610 query.append(_FINDER_COLUMN_G_C_A_ACTIONID_3);
611 }
612 else {
613 query.append(_FINDER_COLUMN_G_C_A_ACTIONID_2);
614 }
615 }
616
617 if (orderByComparator != null) {
618 String[] orderByFields = orderByComparator.getOrderByFields();
619
620 if (orderByFields.length > 0) {
621 query.append(WHERE_AND);
622 }
623
624 for (int i = 0; i < orderByFields.length; i++) {
625 query.append(_ORDER_BY_ENTITY_ALIAS);
626 query.append(orderByFields[i]);
627
628 if ((i + 1) < orderByFields.length) {
629 if (orderByComparator.isAscending() ^ previous) {
630 query.append(WHERE_GREATER_THAN_HAS_NEXT);
631 }
632 else {
633 query.append(WHERE_LESSER_THAN_HAS_NEXT);
634 }
635 }
636 else {
637 if (orderByComparator.isAscending() ^ previous) {
638 query.append(WHERE_GREATER_THAN);
639 }
640 else {
641 query.append(WHERE_LESSER_THAN);
642 }
643 }
644 }
645
646 query.append(ORDER_BY_CLAUSE);
647
648 for (int i = 0; i < orderByFields.length; i++) {
649 query.append(_ORDER_BY_ENTITY_ALIAS);
650 query.append(orderByFields[i]);
651
652 if ((i + 1) < orderByFields.length) {
653 if (orderByComparator.isAscending() ^ previous) {
654 query.append(ORDER_BY_ASC_HAS_NEXT);
655 }
656 else {
657 query.append(ORDER_BY_DESC_HAS_NEXT);
658 }
659 }
660 else {
661 if (orderByComparator.isAscending() ^ previous) {
662 query.append(ORDER_BY_ASC);
663 }
664 else {
665 query.append(ORDER_BY_DESC);
666 }
667 }
668 }
669 }
670
671 String sql = query.toString();
672
673 Query q = session.createQuery(sql);
674
675 q.setFirstResult(0);
676 q.setMaxResults(2);
677
678 QueryPos qPos = QueryPos.getInstance(q);
679
680 qPos.add(groupId);
681
682 qPos.add(classNameId);
683
684 if (actionId != null) {
685 qPos.add(actionId);
686 }
687
688 if (orderByComparator != null) {
689 Object[] values = orderByComparator.getOrderByValues(socialEquitySetting);
690
691 for (Object value : values) {
692 qPos.add(value);
693 }
694 }
695
696 List<SocialEquitySetting> list = q.list();
697
698 if (list.size() == 2) {
699 return list.get(1);
700 }
701 else {
702 return null;
703 }
704 }
705
706 public SocialEquitySetting findByG_C_A_T(long groupId, long classNameId,
707 String actionId, int type)
708 throws NoSuchEquitySettingException, SystemException {
709 SocialEquitySetting socialEquitySetting = fetchByG_C_A_T(groupId,
710 classNameId, actionId, type);
711
712 if (socialEquitySetting == null) {
713 StringBundler msg = new StringBundler(10);
714
715 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
716
717 msg.append("groupId=");
718 msg.append(groupId);
719
720 msg.append(", classNameId=");
721 msg.append(classNameId);
722
723 msg.append(", actionId=");
724 msg.append(actionId);
725
726 msg.append(", type=");
727 msg.append(type);
728
729 msg.append(StringPool.CLOSE_CURLY_BRACE);
730
731 if (_log.isWarnEnabled()) {
732 _log.warn(msg.toString());
733 }
734
735 throw new NoSuchEquitySettingException(msg.toString());
736 }
737
738 return socialEquitySetting;
739 }
740
741 public SocialEquitySetting fetchByG_C_A_T(long groupId, long classNameId,
742 String actionId, int type) throws SystemException {
743 return fetchByG_C_A_T(groupId, classNameId, actionId, type, true);
744 }
745
746 public SocialEquitySetting fetchByG_C_A_T(long groupId, long classNameId,
747 String actionId, int type, boolean retrieveFromCache)
748 throws SystemException {
749 Object[] finderArgs = new Object[] { groupId, classNameId, actionId, type };
750
751 Object result = null;
752
753 if (retrieveFromCache) {
754 result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_G_C_A_T,
755 finderArgs, this);
756 }
757
758 if (result == null) {
759 Session session = null;
760
761 try {
762 session = openSession();
763
764 StringBundler query = new StringBundler(5);
765
766 query.append(_SQL_SELECT_SOCIALEQUITYSETTING_WHERE);
767
768 query.append(_FINDER_COLUMN_G_C_A_T_GROUPID_2);
769
770 query.append(_FINDER_COLUMN_G_C_A_T_CLASSNAMEID_2);
771
772 if (actionId == null) {
773 query.append(_FINDER_COLUMN_G_C_A_T_ACTIONID_1);
774 }
775 else {
776 if (actionId.equals(StringPool.BLANK)) {
777 query.append(_FINDER_COLUMN_G_C_A_T_ACTIONID_3);
778 }
779 else {
780 query.append(_FINDER_COLUMN_G_C_A_T_ACTIONID_2);
781 }
782 }
783
784 query.append(_FINDER_COLUMN_G_C_A_T_TYPE_2);
785
786 String sql = query.toString();
787
788 Query q = session.createQuery(sql);
789
790 QueryPos qPos = QueryPos.getInstance(q);
791
792 qPos.add(groupId);
793
794 qPos.add(classNameId);
795
796 if (actionId != null) {
797 qPos.add(actionId);
798 }
799
800 qPos.add(type);
801
802 List<SocialEquitySetting> list = q.list();
803
804 result = list;
805
806 SocialEquitySetting socialEquitySetting = null;
807
808 if (list.isEmpty()) {
809 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_C_A_T,
810 finderArgs, list);
811 }
812 else {
813 socialEquitySetting = list.get(0);
814
815 cacheResult(socialEquitySetting);
816
817 if ((socialEquitySetting.getGroupId() != groupId) ||
818 (socialEquitySetting.getClassNameId() != classNameId) ||
819 (socialEquitySetting.getActionId() == null) ||
820 !socialEquitySetting.getActionId().equals(actionId) ||
821 (socialEquitySetting.getType() != type)) {
822 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_C_A_T,
823 finderArgs, socialEquitySetting);
824 }
825 }
826
827 return socialEquitySetting;
828 }
829 catch (Exception e) {
830 throw processException(e);
831 }
832 finally {
833 if (result == null) {
834 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_C_A_T,
835 finderArgs, new ArrayList<SocialEquitySetting>());
836 }
837
838 closeSession(session);
839 }
840 }
841 else {
842 if (result instanceof List<?>) {
843 return null;
844 }
845 else {
846 return (SocialEquitySetting)result;
847 }
848 }
849 }
850
851 public List<SocialEquitySetting> findAll() throws SystemException {
852 return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
853 }
854
855 public List<SocialEquitySetting> findAll(int start, int end)
856 throws SystemException {
857 return findAll(start, end, null);
858 }
859
860 public List<SocialEquitySetting> findAll(int start, int end,
861 OrderByComparator orderByComparator) throws SystemException {
862 Object[] finderArgs = new Object[] {
863 String.valueOf(start), String.valueOf(end),
864 String.valueOf(orderByComparator)
865 };
866
867 List<SocialEquitySetting> list = (List<SocialEquitySetting>)FinderCacheUtil.getResult(FINDER_PATH_FIND_ALL,
868 finderArgs, this);
869
870 if (list == null) {
871 Session session = null;
872
873 try {
874 session = openSession();
875
876 StringBundler query = null;
877 String sql = null;
878
879 if (orderByComparator != null) {
880 query = new StringBundler(2 +
881 (orderByComparator.getOrderByFields().length * 3));
882
883 query.append(_SQL_SELECT_SOCIALEQUITYSETTING);
884
885 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
886 orderByComparator);
887
888 sql = query.toString();
889 }
890 else {
891 sql = _SQL_SELECT_SOCIALEQUITYSETTING;
892 }
893
894 Query q = session.createQuery(sql);
895
896 if (orderByComparator == null) {
897 list = (List<SocialEquitySetting>)QueryUtil.list(q,
898 getDialect(), start, end, false);
899
900 Collections.sort(list);
901 }
902 else {
903 list = (List<SocialEquitySetting>)QueryUtil.list(q,
904 getDialect(), start, end);
905 }
906 }
907 catch (Exception e) {
908 throw processException(e);
909 }
910 finally {
911 if (list == null) {
912 list = new ArrayList<SocialEquitySetting>();
913 }
914
915 cacheResult(list);
916
917 FinderCacheUtil.putResult(FINDER_PATH_FIND_ALL, finderArgs, list);
918
919 closeSession(session);
920 }
921 }
922
923 return list;
924 }
925
926 public void removeByG_C_A(long groupId, long classNameId, String actionId)
927 throws SystemException {
928 for (SocialEquitySetting socialEquitySetting : findByG_C_A(groupId,
929 classNameId, actionId)) {
930 remove(socialEquitySetting);
931 }
932 }
933
934 public void removeByG_C_A_T(long groupId, long classNameId,
935 String actionId, int type)
936 throws NoSuchEquitySettingException, SystemException {
937 SocialEquitySetting socialEquitySetting = findByG_C_A_T(groupId,
938 classNameId, actionId, type);
939
940 remove(socialEquitySetting);
941 }
942
943 public void removeAll() throws SystemException {
944 for (SocialEquitySetting socialEquitySetting : findAll()) {
945 remove(socialEquitySetting);
946 }
947 }
948
949 public int countByG_C_A(long groupId, long classNameId, String actionId)
950 throws SystemException {
951 Object[] finderArgs = new Object[] { groupId, classNameId, actionId };
952
953 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_G_C_A,
954 finderArgs, this);
955
956 if (count == null) {
957 Session session = null;
958
959 try {
960 session = openSession();
961
962 StringBundler query = new StringBundler(4);
963
964 query.append(_SQL_COUNT_SOCIALEQUITYSETTING_WHERE);
965
966 query.append(_FINDER_COLUMN_G_C_A_GROUPID_2);
967
968 query.append(_FINDER_COLUMN_G_C_A_CLASSNAMEID_2);
969
970 if (actionId == null) {
971 query.append(_FINDER_COLUMN_G_C_A_ACTIONID_1);
972 }
973 else {
974 if (actionId.equals(StringPool.BLANK)) {
975 query.append(_FINDER_COLUMN_G_C_A_ACTIONID_3);
976 }
977 else {
978 query.append(_FINDER_COLUMN_G_C_A_ACTIONID_2);
979 }
980 }
981
982 String sql = query.toString();
983
984 Query q = session.createQuery(sql);
985
986 QueryPos qPos = QueryPos.getInstance(q);
987
988 qPos.add(groupId);
989
990 qPos.add(classNameId);
991
992 if (actionId != null) {
993 qPos.add(actionId);
994 }
995
996 count = (Long)q.uniqueResult();
997 }
998 catch (Exception e) {
999 throw processException(e);
1000 }
1001 finally {
1002 if (count == null) {
1003 count = Long.valueOf(0);
1004 }
1005
1006 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_G_C_A,
1007 finderArgs, count);
1008
1009 closeSession(session);
1010 }
1011 }
1012
1013 return count.intValue();
1014 }
1015
1016 public int countByG_C_A_T(long groupId, long classNameId, String actionId,
1017 int type) throws SystemException {
1018 Object[] finderArgs = new Object[] { groupId, classNameId, actionId, type };
1019
1020 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_G_C_A_T,
1021 finderArgs, this);
1022
1023 if (count == null) {
1024 Session session = null;
1025
1026 try {
1027 session = openSession();
1028
1029 StringBundler query = new StringBundler(5);
1030
1031 query.append(_SQL_COUNT_SOCIALEQUITYSETTING_WHERE);
1032
1033 query.append(_FINDER_COLUMN_G_C_A_T_GROUPID_2);
1034
1035 query.append(_FINDER_COLUMN_G_C_A_T_CLASSNAMEID_2);
1036
1037 if (actionId == null) {
1038 query.append(_FINDER_COLUMN_G_C_A_T_ACTIONID_1);
1039 }
1040 else {
1041 if (actionId.equals(StringPool.BLANK)) {
1042 query.append(_FINDER_COLUMN_G_C_A_T_ACTIONID_3);
1043 }
1044 else {
1045 query.append(_FINDER_COLUMN_G_C_A_T_ACTIONID_2);
1046 }
1047 }
1048
1049 query.append(_FINDER_COLUMN_G_C_A_T_TYPE_2);
1050
1051 String sql = query.toString();
1052
1053 Query q = session.createQuery(sql);
1054
1055 QueryPos qPos = QueryPos.getInstance(q);
1056
1057 qPos.add(groupId);
1058
1059 qPos.add(classNameId);
1060
1061 if (actionId != null) {
1062 qPos.add(actionId);
1063 }
1064
1065 qPos.add(type);
1066
1067 count = (Long)q.uniqueResult();
1068 }
1069 catch (Exception e) {
1070 throw processException(e);
1071 }
1072 finally {
1073 if (count == null) {
1074 count = Long.valueOf(0);
1075 }
1076
1077 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_G_C_A_T,
1078 finderArgs, count);
1079
1080 closeSession(session);
1081 }
1082 }
1083
1084 return count.intValue();
1085 }
1086
1087 public int countAll() throws SystemException {
1088 Object[] finderArgs = new Object[0];
1089
1090 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
1091 finderArgs, this);
1092
1093 if (count == null) {
1094 Session session = null;
1095
1096 try {
1097 session = openSession();
1098
1099 Query q = session.createQuery(_SQL_COUNT_SOCIALEQUITYSETTING);
1100
1101 count = (Long)q.uniqueResult();
1102 }
1103 catch (Exception e) {
1104 throw processException(e);
1105 }
1106 finally {
1107 if (count == null) {
1108 count = Long.valueOf(0);
1109 }
1110
1111 FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL, finderArgs,
1112 count);
1113
1114 closeSession(session);
1115 }
1116 }
1117
1118 return count.intValue();
1119 }
1120
1121 public void afterPropertiesSet() {
1122 String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
1123 com.liferay.portal.util.PropsUtil.get(
1124 "value.object.listener.com.liferay.portlet.social.model.SocialEquitySetting")));
1125
1126 if (listenerClassNames.length > 0) {
1127 try {
1128 List<ModelListener<SocialEquitySetting>> listenersList = new ArrayList<ModelListener<SocialEquitySetting>>();
1129
1130 for (String listenerClassName : listenerClassNames) {
1131 listenersList.add((ModelListener<SocialEquitySetting>)InstanceFactory.newInstance(
1132 listenerClassName));
1133 }
1134
1135 listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
1136 }
1137 catch (Exception e) {
1138 _log.error(e);
1139 }
1140 }
1141 }
1142
1143 @BeanReference(type = SocialActivityPersistence.class)
1144 protected SocialActivityPersistence socialActivityPersistence;
1145 @BeanReference(type = SocialEquityAssetEntryPersistence.class)
1146 protected SocialEquityAssetEntryPersistence socialEquityAssetEntryPersistence;
1147 @BeanReference(type = SocialEquityHistoryPersistence.class)
1148 protected SocialEquityHistoryPersistence socialEquityHistoryPersistence;
1149 @BeanReference(type = SocialEquityLogPersistence.class)
1150 protected SocialEquityLogPersistence socialEquityLogPersistence;
1151 @BeanReference(type = SocialEquitySettingPersistence.class)
1152 protected SocialEquitySettingPersistence socialEquitySettingPersistence;
1153 @BeanReference(type = SocialEquityUserPersistence.class)
1154 protected SocialEquityUserPersistence socialEquityUserPersistence;
1155 @BeanReference(type = SocialRelationPersistence.class)
1156 protected SocialRelationPersistence socialRelationPersistence;
1157 @BeanReference(type = SocialRequestPersistence.class)
1158 protected SocialRequestPersistence socialRequestPersistence;
1159 @BeanReference(type = GroupPersistence.class)
1160 protected GroupPersistence groupPersistence;
1161 @BeanReference(type = ResourcePersistence.class)
1162 protected ResourcePersistence resourcePersistence;
1163 @BeanReference(type = UserPersistence.class)
1164 protected UserPersistence userPersistence;
1165 private static final String _SQL_SELECT_SOCIALEQUITYSETTING = "SELECT socialEquitySetting FROM SocialEquitySetting socialEquitySetting";
1166 private static final String _SQL_SELECT_SOCIALEQUITYSETTING_WHERE = "SELECT socialEquitySetting FROM SocialEquitySetting socialEquitySetting WHERE ";
1167 private static final String _SQL_COUNT_SOCIALEQUITYSETTING = "SELECT COUNT(socialEquitySetting) FROM SocialEquitySetting socialEquitySetting";
1168 private static final String _SQL_COUNT_SOCIALEQUITYSETTING_WHERE = "SELECT COUNT(socialEquitySetting) FROM SocialEquitySetting socialEquitySetting WHERE ";
1169 private static final String _FINDER_COLUMN_G_C_A_GROUPID_2 = "socialEquitySetting.groupId = ? AND ";
1170 private static final String _FINDER_COLUMN_G_C_A_CLASSNAMEID_2 = "socialEquitySetting.classNameId = ? AND ";
1171 private static final String _FINDER_COLUMN_G_C_A_ACTIONID_1 = "socialEquitySetting.actionId IS NULL";
1172 private static final String _FINDER_COLUMN_G_C_A_ACTIONID_2 = "socialEquitySetting.actionId = ?";
1173 private static final String _FINDER_COLUMN_G_C_A_ACTIONID_3 = "(socialEquitySetting.actionId IS NULL OR socialEquitySetting.actionId = ?)";
1174 private static final String _FINDER_COLUMN_G_C_A_T_GROUPID_2 = "socialEquitySetting.groupId = ? AND ";
1175 private static final String _FINDER_COLUMN_G_C_A_T_CLASSNAMEID_2 = "socialEquitySetting.classNameId = ? AND ";
1176 private static final String _FINDER_COLUMN_G_C_A_T_ACTIONID_1 = "socialEquitySetting.actionId IS NULL AND ";
1177 private static final String _FINDER_COLUMN_G_C_A_T_ACTIONID_2 = "socialEquitySetting.actionId = ? AND ";
1178 private static final String _FINDER_COLUMN_G_C_A_T_ACTIONID_3 = "(socialEquitySetting.actionId IS NULL OR socialEquitySetting.actionId = ?) AND ";
1179 private static final String _FINDER_COLUMN_G_C_A_T_TYPE_2 = "socialEquitySetting.type = ?";
1180 private static final String _ORDER_BY_ENTITY_ALIAS = "socialEquitySetting.";
1181 private static final String _NO_SUCH_ENTITY_WITH_PRIMARY_KEY = "No SocialEquitySetting exists with the primary key ";
1182 private static final String _NO_SUCH_ENTITY_WITH_KEY = "No SocialEquitySetting exists with the key {";
1183 private static Log _log = LogFactoryUtil.getLog(SocialEquitySettingPersistenceImpl.class);
1184 }