1
14
15 package com.liferay.portlet.asset.service.persistence;
16
17 import com.liferay.portal.NoSuchModelException;
18 import com.liferay.portal.kernel.annotation.BeanReference;
19 import com.liferay.portal.kernel.cache.CacheRegistry;
20 import com.liferay.portal.kernel.dao.orm.EntityCacheUtil;
21 import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
22 import com.liferay.portal.kernel.dao.orm.FinderPath;
23 import com.liferay.portal.kernel.dao.orm.Query;
24 import com.liferay.portal.kernel.dao.orm.QueryPos;
25 import com.liferay.portal.kernel.dao.orm.QueryUtil;
26 import com.liferay.portal.kernel.dao.orm.Session;
27 import com.liferay.portal.kernel.exception.SystemException;
28 import com.liferay.portal.kernel.log.Log;
29 import com.liferay.portal.kernel.log.LogFactoryUtil;
30 import com.liferay.portal.kernel.util.GetterUtil;
31 import com.liferay.portal.kernel.util.InstanceFactory;
32 import com.liferay.portal.kernel.util.OrderByComparator;
33 import com.liferay.portal.kernel.util.StringBundler;
34 import com.liferay.portal.kernel.util.StringPool;
35 import com.liferay.portal.kernel.util.StringUtil;
36 import com.liferay.portal.model.ModelListener;
37 import com.liferay.portal.service.persistence.BatchSessionUtil;
38 import com.liferay.portal.service.persistence.ResourcePersistence;
39 import com.liferay.portal.service.persistence.UserPersistence;
40 import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
41
42 import com.liferay.portlet.asset.NoSuchTagStatsException;
43 import com.liferay.portlet.asset.model.AssetTagStats;
44 import com.liferay.portlet.asset.model.impl.AssetTagStatsImpl;
45 import com.liferay.portlet.asset.model.impl.AssetTagStatsModelImpl;
46
47 import java.io.Serializable;
48
49 import java.util.ArrayList;
50 import java.util.Collections;
51 import java.util.List;
52
53
66 public class AssetTagStatsPersistenceImpl extends BasePersistenceImpl<AssetTagStats>
67 implements AssetTagStatsPersistence {
68 public static final String FINDER_CLASS_NAME_ENTITY = AssetTagStatsImpl.class.getName();
69 public static final String FINDER_CLASS_NAME_LIST = FINDER_CLASS_NAME_ENTITY +
70 ".List";
71 public static final FinderPath FINDER_PATH_FIND_BY_TAGID = new FinderPath(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
72 AssetTagStatsModelImpl.FINDER_CACHE_ENABLED,
73 FINDER_CLASS_NAME_LIST, "findByTagId",
74 new String[] {
75 Long.class.getName(),
76
77 "java.lang.Integer", "java.lang.Integer",
78 "com.liferay.portal.kernel.util.OrderByComparator"
79 });
80 public static final FinderPath FINDER_PATH_COUNT_BY_TAGID = new FinderPath(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
81 AssetTagStatsModelImpl.FINDER_CACHE_ENABLED,
82 FINDER_CLASS_NAME_LIST, "countByTagId",
83 new String[] { Long.class.getName() });
84 public static final FinderPath FINDER_PATH_FIND_BY_CLASSNAMEID = new FinderPath(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
85 AssetTagStatsModelImpl.FINDER_CACHE_ENABLED,
86 FINDER_CLASS_NAME_LIST, "findByClassNameId",
87 new String[] {
88 Long.class.getName(),
89
90 "java.lang.Integer", "java.lang.Integer",
91 "com.liferay.portal.kernel.util.OrderByComparator"
92 });
93 public static final FinderPath FINDER_PATH_COUNT_BY_CLASSNAMEID = new FinderPath(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
94 AssetTagStatsModelImpl.FINDER_CACHE_ENABLED,
95 FINDER_CLASS_NAME_LIST, "countByClassNameId",
96 new String[] { Long.class.getName() });
97 public static final FinderPath FINDER_PATH_FETCH_BY_T_C = new FinderPath(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
98 AssetTagStatsModelImpl.FINDER_CACHE_ENABLED,
99 FINDER_CLASS_NAME_ENTITY, "fetchByT_C",
100 new String[] { Long.class.getName(), Long.class.getName() });
101 public static final FinderPath FINDER_PATH_COUNT_BY_T_C = new FinderPath(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
102 AssetTagStatsModelImpl.FINDER_CACHE_ENABLED,
103 FINDER_CLASS_NAME_LIST, "countByT_C",
104 new String[] { Long.class.getName(), Long.class.getName() });
105 public static final FinderPath FINDER_PATH_FIND_ALL = new FinderPath(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
106 AssetTagStatsModelImpl.FINDER_CACHE_ENABLED,
107 FINDER_CLASS_NAME_LIST, "findAll", new String[0]);
108 public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
109 AssetTagStatsModelImpl.FINDER_CACHE_ENABLED,
110 FINDER_CLASS_NAME_LIST, "countAll", new String[0]);
111
112 public void cacheResult(AssetTagStats assetTagStats) {
113 EntityCacheUtil.putResult(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
114 AssetTagStatsImpl.class, assetTagStats.getPrimaryKey(),
115 assetTagStats);
116
117 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_T_C,
118 new Object[] {
119 new Long(assetTagStats.getTagId()),
120 new Long(assetTagStats.getClassNameId())
121 }, assetTagStats);
122 }
123
124 public void cacheResult(List<AssetTagStats> assetTagStatses) {
125 for (AssetTagStats assetTagStats : assetTagStatses) {
126 if (EntityCacheUtil.getResult(
127 AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
128 AssetTagStatsImpl.class, assetTagStats.getPrimaryKey(),
129 this) == null) {
130 cacheResult(assetTagStats);
131 }
132 }
133 }
134
135 public void clearCache() {
136 CacheRegistry.clear(AssetTagStatsImpl.class.getName());
137 EntityCacheUtil.clearCache(AssetTagStatsImpl.class.getName());
138 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
139 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
140 }
141
142 public void clearCache(AssetTagStats assetTagStats) {
143 EntityCacheUtil.removeResult(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
144 AssetTagStatsImpl.class, assetTagStats.getPrimaryKey());
145
146 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_T_C,
147 new Object[] {
148 new Long(assetTagStats.getTagId()),
149 new Long(assetTagStats.getClassNameId())
150 });
151 }
152
153 public AssetTagStats create(long tagStatsId) {
154 AssetTagStats assetTagStats = new AssetTagStatsImpl();
155
156 assetTagStats.setNew(true);
157 assetTagStats.setPrimaryKey(tagStatsId);
158
159 return assetTagStats;
160 }
161
162 public AssetTagStats remove(Serializable primaryKey)
163 throws NoSuchModelException, SystemException {
164 return remove(((Long)primaryKey).longValue());
165 }
166
167 public AssetTagStats remove(long tagStatsId)
168 throws NoSuchTagStatsException, SystemException {
169 Session session = null;
170
171 try {
172 session = openSession();
173
174 AssetTagStats assetTagStats = (AssetTagStats)session.get(AssetTagStatsImpl.class,
175 new Long(tagStatsId));
176
177 if (assetTagStats == null) {
178 if (_log.isWarnEnabled()) {
179 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + tagStatsId);
180 }
181
182 throw new NoSuchTagStatsException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
183 tagStatsId);
184 }
185
186 return remove(assetTagStats);
187 }
188 catch (NoSuchTagStatsException nsee) {
189 throw nsee;
190 }
191 catch (Exception e) {
192 throw processException(e);
193 }
194 finally {
195 closeSession(session);
196 }
197 }
198
199 public AssetTagStats remove(AssetTagStats assetTagStats)
200 throws SystemException {
201 for (ModelListener<AssetTagStats> listener : listeners) {
202 listener.onBeforeRemove(assetTagStats);
203 }
204
205 assetTagStats = removeImpl(assetTagStats);
206
207 for (ModelListener<AssetTagStats> listener : listeners) {
208 listener.onAfterRemove(assetTagStats);
209 }
210
211 return assetTagStats;
212 }
213
214 protected AssetTagStats removeImpl(AssetTagStats assetTagStats)
215 throws SystemException {
216 assetTagStats = toUnwrappedModel(assetTagStats);
217
218 Session session = null;
219
220 try {
221 session = openSession();
222
223 if (assetTagStats.isCachedModel() || BatchSessionUtil.isEnabled()) {
224 Object staleObject = session.get(AssetTagStatsImpl.class,
225 assetTagStats.getPrimaryKeyObj());
226
227 if (staleObject != null) {
228 session.evict(staleObject);
229 }
230 }
231
232 session.delete(assetTagStats);
233
234 session.flush();
235 }
236 catch (Exception e) {
237 throw processException(e);
238 }
239 finally {
240 closeSession(session);
241 }
242
243 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
244
245 AssetTagStatsModelImpl assetTagStatsModelImpl = (AssetTagStatsModelImpl)assetTagStats;
246
247 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_T_C,
248 new Object[] {
249 new Long(assetTagStatsModelImpl.getOriginalTagId()),
250 new Long(assetTagStatsModelImpl.getOriginalClassNameId())
251 });
252
253 EntityCacheUtil.removeResult(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
254 AssetTagStatsImpl.class, assetTagStats.getPrimaryKey());
255
256 return assetTagStats;
257 }
258
259 public AssetTagStats updateImpl(
260 com.liferay.portlet.asset.model.AssetTagStats assetTagStats,
261 boolean merge) throws SystemException {
262 assetTagStats = toUnwrappedModel(assetTagStats);
263
264 boolean isNew = assetTagStats.isNew();
265
266 AssetTagStatsModelImpl assetTagStatsModelImpl = (AssetTagStatsModelImpl)assetTagStats;
267
268 Session session = null;
269
270 try {
271 session = openSession();
272
273 BatchSessionUtil.update(session, assetTagStats, merge);
274
275 assetTagStats.setNew(false);
276 }
277 catch (Exception e) {
278 throw processException(e);
279 }
280 finally {
281 closeSession(session);
282 }
283
284 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
285
286 EntityCacheUtil.putResult(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
287 AssetTagStatsImpl.class, assetTagStats.getPrimaryKey(),
288 assetTagStats);
289
290 if (!isNew &&
291 ((assetTagStats.getTagId() != assetTagStatsModelImpl.getOriginalTagId()) ||
292 (assetTagStats.getClassNameId() != assetTagStatsModelImpl.getOriginalClassNameId()))) {
293 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_T_C,
294 new Object[] {
295 new Long(assetTagStatsModelImpl.getOriginalTagId()),
296 new Long(assetTagStatsModelImpl.getOriginalClassNameId())
297 });
298 }
299
300 if (isNew ||
301 ((assetTagStats.getTagId() != assetTagStatsModelImpl.getOriginalTagId()) ||
302 (assetTagStats.getClassNameId() != assetTagStatsModelImpl.getOriginalClassNameId()))) {
303 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_T_C,
304 new Object[] {
305 new Long(assetTagStats.getTagId()),
306 new Long(assetTagStats.getClassNameId())
307 }, assetTagStats);
308 }
309
310 return assetTagStats;
311 }
312
313 protected AssetTagStats toUnwrappedModel(AssetTagStats assetTagStats) {
314 if (assetTagStats instanceof AssetTagStatsImpl) {
315 return assetTagStats;
316 }
317
318 AssetTagStatsImpl assetTagStatsImpl = new AssetTagStatsImpl();
319
320 assetTagStatsImpl.setNew(assetTagStats.isNew());
321 assetTagStatsImpl.setPrimaryKey(assetTagStats.getPrimaryKey());
322
323 assetTagStatsImpl.setTagStatsId(assetTagStats.getTagStatsId());
324 assetTagStatsImpl.setTagId(assetTagStats.getTagId());
325 assetTagStatsImpl.setClassNameId(assetTagStats.getClassNameId());
326 assetTagStatsImpl.setAssetCount(assetTagStats.getAssetCount());
327
328 return assetTagStatsImpl;
329 }
330
331 public AssetTagStats findByPrimaryKey(Serializable primaryKey)
332 throws NoSuchModelException, SystemException {
333 return findByPrimaryKey(((Long)primaryKey).longValue());
334 }
335
336 public AssetTagStats findByPrimaryKey(long tagStatsId)
337 throws NoSuchTagStatsException, SystemException {
338 AssetTagStats assetTagStats = fetchByPrimaryKey(tagStatsId);
339
340 if (assetTagStats == null) {
341 if (_log.isWarnEnabled()) {
342 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + tagStatsId);
343 }
344
345 throw new NoSuchTagStatsException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
346 tagStatsId);
347 }
348
349 return assetTagStats;
350 }
351
352 public AssetTagStats fetchByPrimaryKey(Serializable primaryKey)
353 throws SystemException {
354 return fetchByPrimaryKey(((Long)primaryKey).longValue());
355 }
356
357 public AssetTagStats fetchByPrimaryKey(long tagStatsId)
358 throws SystemException {
359 AssetTagStats assetTagStats = (AssetTagStats)EntityCacheUtil.getResult(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
360 AssetTagStatsImpl.class, tagStatsId, this);
361
362 if (assetTagStats == null) {
363 Session session = null;
364
365 try {
366 session = openSession();
367
368 assetTagStats = (AssetTagStats)session.get(AssetTagStatsImpl.class,
369 new Long(tagStatsId));
370 }
371 catch (Exception e) {
372 throw processException(e);
373 }
374 finally {
375 if (assetTagStats != null) {
376 cacheResult(assetTagStats);
377 }
378
379 closeSession(session);
380 }
381 }
382
383 return assetTagStats;
384 }
385
386 public List<AssetTagStats> findByTagId(long tagId)
387 throws SystemException {
388 return findByTagId(tagId, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
389 }
390
391 public List<AssetTagStats> findByTagId(long tagId, int start, int end)
392 throws SystemException {
393 return findByTagId(tagId, start, end, null);
394 }
395
396 public List<AssetTagStats> findByTagId(long tagId, int start, int end,
397 OrderByComparator orderByComparator) throws SystemException {
398 Object[] finderArgs = new Object[] {
399 new Long(tagId),
400
401 String.valueOf(start), String.valueOf(end),
402 String.valueOf(orderByComparator)
403 };
404
405 List<AssetTagStats> list = (List<AssetTagStats>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_TAGID,
406 finderArgs, this);
407
408 if (list == null) {
409 Session session = null;
410
411 try {
412 session = openSession();
413
414 StringBundler query = null;
415
416 if (orderByComparator != null) {
417 query = new StringBundler(3 +
418 (orderByComparator.getOrderByFields().length * 3));
419 }
420 else {
421 query = new StringBundler(3);
422 }
423
424 query.append(_SQL_SELECT_ASSETTAGSTATS_WHERE);
425
426 query.append(_FINDER_COLUMN_TAGID_TAGID_2);
427
428 if (orderByComparator != null) {
429 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
430 orderByComparator);
431 }
432
433 else {
434 query.append(AssetTagStatsModelImpl.ORDER_BY_JPQL);
435 }
436
437 String sql = query.toString();
438
439 Query q = session.createQuery(sql);
440
441 QueryPos qPos = QueryPos.getInstance(q);
442
443 qPos.add(tagId);
444
445 list = (List<AssetTagStats>)QueryUtil.list(q, getDialect(),
446 start, end);
447 }
448 catch (Exception e) {
449 throw processException(e);
450 }
451 finally {
452 if (list == null) {
453 list = new ArrayList<AssetTagStats>();
454 }
455
456 cacheResult(list);
457
458 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_TAGID,
459 finderArgs, list);
460
461 closeSession(session);
462 }
463 }
464
465 return list;
466 }
467
468 public AssetTagStats findByTagId_First(long tagId,
469 OrderByComparator orderByComparator)
470 throws NoSuchTagStatsException, SystemException {
471 List<AssetTagStats> list = findByTagId(tagId, 0, 1, orderByComparator);
472
473 if (list.isEmpty()) {
474 StringBundler msg = new StringBundler(4);
475
476 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
477
478 msg.append("tagId=");
479 msg.append(tagId);
480
481 msg.append(StringPool.CLOSE_CURLY_BRACE);
482
483 throw new NoSuchTagStatsException(msg.toString());
484 }
485 else {
486 return list.get(0);
487 }
488 }
489
490 public AssetTagStats findByTagId_Last(long tagId,
491 OrderByComparator orderByComparator)
492 throws NoSuchTagStatsException, SystemException {
493 int count = countByTagId(tagId);
494
495 List<AssetTagStats> list = findByTagId(tagId, count - 1, count,
496 orderByComparator);
497
498 if (list.isEmpty()) {
499 StringBundler msg = new StringBundler(4);
500
501 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
502
503 msg.append("tagId=");
504 msg.append(tagId);
505
506 msg.append(StringPool.CLOSE_CURLY_BRACE);
507
508 throw new NoSuchTagStatsException(msg.toString());
509 }
510 else {
511 return list.get(0);
512 }
513 }
514
515 public AssetTagStats[] findByTagId_PrevAndNext(long tagStatsId, long tagId,
516 OrderByComparator orderByComparator)
517 throws NoSuchTagStatsException, SystemException {
518 AssetTagStats assetTagStats = findByPrimaryKey(tagStatsId);
519
520 Session session = null;
521
522 try {
523 session = openSession();
524
525 AssetTagStats[] array = new AssetTagStatsImpl[3];
526
527 array[0] = getByTagId_PrevAndNext(session, assetTagStats, tagId,
528 orderByComparator, true);
529
530 array[1] = assetTagStats;
531
532 array[2] = getByTagId_PrevAndNext(session, assetTagStats, tagId,
533 orderByComparator, false);
534
535 return array;
536 }
537 catch (Exception e) {
538 throw processException(e);
539 }
540 finally {
541 closeSession(session);
542 }
543 }
544
545 protected AssetTagStats getByTagId_PrevAndNext(Session session,
546 AssetTagStats assetTagStats, long tagId,
547 OrderByComparator orderByComparator, boolean previous) {
548 StringBundler query = null;
549
550 if (orderByComparator != null) {
551 query = new StringBundler(6 +
552 (orderByComparator.getOrderByFields().length * 6));
553 }
554 else {
555 query = new StringBundler(3);
556 }
557
558 query.append(_SQL_SELECT_ASSETTAGSTATS_WHERE);
559
560 query.append(_FINDER_COLUMN_TAGID_TAGID_2);
561
562 if (orderByComparator != null) {
563 String[] orderByFields = orderByComparator.getOrderByFields();
564
565 if (orderByFields.length > 0) {
566 query.append(WHERE_AND);
567 }
568
569 for (int i = 0; i < orderByFields.length; i++) {
570 query.append(_ORDER_BY_ENTITY_ALIAS);
571 query.append(orderByFields[i]);
572
573 if ((i + 1) < orderByFields.length) {
574 if (orderByComparator.isAscending() ^ previous) {
575 query.append(WHERE_GREATER_THAN_HAS_NEXT);
576 }
577 else {
578 query.append(WHERE_LESSER_THAN_HAS_NEXT);
579 }
580 }
581 else {
582 if (orderByComparator.isAscending() ^ previous) {
583 query.append(WHERE_GREATER_THAN);
584 }
585 else {
586 query.append(WHERE_LESSER_THAN);
587 }
588 }
589 }
590
591 query.append(ORDER_BY_CLAUSE);
592
593 for (int i = 0; i < orderByFields.length; i++) {
594 query.append(_ORDER_BY_ENTITY_ALIAS);
595 query.append(orderByFields[i]);
596
597 if ((i + 1) < orderByFields.length) {
598 if (orderByComparator.isAscending() ^ previous) {
599 query.append(ORDER_BY_ASC_HAS_NEXT);
600 }
601 else {
602 query.append(ORDER_BY_DESC_HAS_NEXT);
603 }
604 }
605 else {
606 if (orderByComparator.isAscending() ^ previous) {
607 query.append(ORDER_BY_ASC);
608 }
609 else {
610 query.append(ORDER_BY_DESC);
611 }
612 }
613 }
614 }
615
616 else {
617 query.append(AssetTagStatsModelImpl.ORDER_BY_JPQL);
618 }
619
620 String sql = query.toString();
621
622 Query q = session.createQuery(sql);
623
624 q.setFirstResult(0);
625 q.setMaxResults(2);
626
627 QueryPos qPos = QueryPos.getInstance(q);
628
629 qPos.add(tagId);
630
631 if (orderByComparator != null) {
632 Object[] values = orderByComparator.getOrderByValues(assetTagStats);
633
634 for (Object value : values) {
635 qPos.add(value);
636 }
637 }
638
639 List<AssetTagStats> list = q.list();
640
641 if (list.size() == 2) {
642 return list.get(1);
643 }
644 else {
645 return null;
646 }
647 }
648
649 public List<AssetTagStats> findByClassNameId(long classNameId)
650 throws SystemException {
651 return findByClassNameId(classNameId, QueryUtil.ALL_POS,
652 QueryUtil.ALL_POS, null);
653 }
654
655 public List<AssetTagStats> findByClassNameId(long classNameId, int start,
656 int end) throws SystemException {
657 return findByClassNameId(classNameId, start, end, null);
658 }
659
660 public List<AssetTagStats> findByClassNameId(long classNameId, int start,
661 int end, OrderByComparator orderByComparator) throws SystemException {
662 Object[] finderArgs = new Object[] {
663 new Long(classNameId),
664
665 String.valueOf(start), String.valueOf(end),
666 String.valueOf(orderByComparator)
667 };
668
669 List<AssetTagStats> list = (List<AssetTagStats>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_CLASSNAMEID,
670 finderArgs, this);
671
672 if (list == null) {
673 Session session = null;
674
675 try {
676 session = openSession();
677
678 StringBundler query = null;
679
680 if (orderByComparator != null) {
681 query = new StringBundler(3 +
682 (orderByComparator.getOrderByFields().length * 3));
683 }
684 else {
685 query = new StringBundler(3);
686 }
687
688 query.append(_SQL_SELECT_ASSETTAGSTATS_WHERE);
689
690 query.append(_FINDER_COLUMN_CLASSNAMEID_CLASSNAMEID_2);
691
692 if (orderByComparator != null) {
693 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
694 orderByComparator);
695 }
696
697 else {
698 query.append(AssetTagStatsModelImpl.ORDER_BY_JPQL);
699 }
700
701 String sql = query.toString();
702
703 Query q = session.createQuery(sql);
704
705 QueryPos qPos = QueryPos.getInstance(q);
706
707 qPos.add(classNameId);
708
709 list = (List<AssetTagStats>)QueryUtil.list(q, getDialect(),
710 start, end);
711 }
712 catch (Exception e) {
713 throw processException(e);
714 }
715 finally {
716 if (list == null) {
717 list = new ArrayList<AssetTagStats>();
718 }
719
720 cacheResult(list);
721
722 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_CLASSNAMEID,
723 finderArgs, list);
724
725 closeSession(session);
726 }
727 }
728
729 return list;
730 }
731
732 public AssetTagStats findByClassNameId_First(long classNameId,
733 OrderByComparator orderByComparator)
734 throws NoSuchTagStatsException, SystemException {
735 List<AssetTagStats> list = findByClassNameId(classNameId, 0, 1,
736 orderByComparator);
737
738 if (list.isEmpty()) {
739 StringBundler msg = new StringBundler(4);
740
741 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
742
743 msg.append("classNameId=");
744 msg.append(classNameId);
745
746 msg.append(StringPool.CLOSE_CURLY_BRACE);
747
748 throw new NoSuchTagStatsException(msg.toString());
749 }
750 else {
751 return list.get(0);
752 }
753 }
754
755 public AssetTagStats findByClassNameId_Last(long classNameId,
756 OrderByComparator orderByComparator)
757 throws NoSuchTagStatsException, SystemException {
758 int count = countByClassNameId(classNameId);
759
760 List<AssetTagStats> list = findByClassNameId(classNameId, count - 1,
761 count, orderByComparator);
762
763 if (list.isEmpty()) {
764 StringBundler msg = new StringBundler(4);
765
766 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
767
768 msg.append("classNameId=");
769 msg.append(classNameId);
770
771 msg.append(StringPool.CLOSE_CURLY_BRACE);
772
773 throw new NoSuchTagStatsException(msg.toString());
774 }
775 else {
776 return list.get(0);
777 }
778 }
779
780 public AssetTagStats[] findByClassNameId_PrevAndNext(long tagStatsId,
781 long classNameId, OrderByComparator orderByComparator)
782 throws NoSuchTagStatsException, SystemException {
783 AssetTagStats assetTagStats = findByPrimaryKey(tagStatsId);
784
785 Session session = null;
786
787 try {
788 session = openSession();
789
790 AssetTagStats[] array = new AssetTagStatsImpl[3];
791
792 array[0] = getByClassNameId_PrevAndNext(session, assetTagStats,
793 classNameId, orderByComparator, true);
794
795 array[1] = assetTagStats;
796
797 array[2] = getByClassNameId_PrevAndNext(session, assetTagStats,
798 classNameId, orderByComparator, false);
799
800 return array;
801 }
802 catch (Exception e) {
803 throw processException(e);
804 }
805 finally {
806 closeSession(session);
807 }
808 }
809
810 protected AssetTagStats getByClassNameId_PrevAndNext(Session session,
811 AssetTagStats assetTagStats, long classNameId,
812 OrderByComparator orderByComparator, boolean previous) {
813 StringBundler query = null;
814
815 if (orderByComparator != null) {
816 query = new StringBundler(6 +
817 (orderByComparator.getOrderByFields().length * 6));
818 }
819 else {
820 query = new StringBundler(3);
821 }
822
823 query.append(_SQL_SELECT_ASSETTAGSTATS_WHERE);
824
825 query.append(_FINDER_COLUMN_CLASSNAMEID_CLASSNAMEID_2);
826
827 if (orderByComparator != null) {
828 String[] orderByFields = orderByComparator.getOrderByFields();
829
830 if (orderByFields.length > 0) {
831 query.append(WHERE_AND);
832 }
833
834 for (int i = 0; i < orderByFields.length; i++) {
835 query.append(_ORDER_BY_ENTITY_ALIAS);
836 query.append(orderByFields[i]);
837
838 if ((i + 1) < orderByFields.length) {
839 if (orderByComparator.isAscending() ^ previous) {
840 query.append(WHERE_GREATER_THAN_HAS_NEXT);
841 }
842 else {
843 query.append(WHERE_LESSER_THAN_HAS_NEXT);
844 }
845 }
846 else {
847 if (orderByComparator.isAscending() ^ previous) {
848 query.append(WHERE_GREATER_THAN);
849 }
850 else {
851 query.append(WHERE_LESSER_THAN);
852 }
853 }
854 }
855
856 query.append(ORDER_BY_CLAUSE);
857
858 for (int i = 0; i < orderByFields.length; i++) {
859 query.append(_ORDER_BY_ENTITY_ALIAS);
860 query.append(orderByFields[i]);
861
862 if ((i + 1) < orderByFields.length) {
863 if (orderByComparator.isAscending() ^ previous) {
864 query.append(ORDER_BY_ASC_HAS_NEXT);
865 }
866 else {
867 query.append(ORDER_BY_DESC_HAS_NEXT);
868 }
869 }
870 else {
871 if (orderByComparator.isAscending() ^ previous) {
872 query.append(ORDER_BY_ASC);
873 }
874 else {
875 query.append(ORDER_BY_DESC);
876 }
877 }
878 }
879 }
880
881 else {
882 query.append(AssetTagStatsModelImpl.ORDER_BY_JPQL);
883 }
884
885 String sql = query.toString();
886
887 Query q = session.createQuery(sql);
888
889 q.setFirstResult(0);
890 q.setMaxResults(2);
891
892 QueryPos qPos = QueryPos.getInstance(q);
893
894 qPos.add(classNameId);
895
896 if (orderByComparator != null) {
897 Object[] values = orderByComparator.getOrderByValues(assetTagStats);
898
899 for (Object value : values) {
900 qPos.add(value);
901 }
902 }
903
904 List<AssetTagStats> list = q.list();
905
906 if (list.size() == 2) {
907 return list.get(1);
908 }
909 else {
910 return null;
911 }
912 }
913
914 public AssetTagStats findByT_C(long tagId, long classNameId)
915 throws NoSuchTagStatsException, SystemException {
916 AssetTagStats assetTagStats = fetchByT_C(tagId, classNameId);
917
918 if (assetTagStats == null) {
919 StringBundler msg = new StringBundler(6);
920
921 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
922
923 msg.append("tagId=");
924 msg.append(tagId);
925
926 msg.append(", classNameId=");
927 msg.append(classNameId);
928
929 msg.append(StringPool.CLOSE_CURLY_BRACE);
930
931 if (_log.isWarnEnabled()) {
932 _log.warn(msg.toString());
933 }
934
935 throw new NoSuchTagStatsException(msg.toString());
936 }
937
938 return assetTagStats;
939 }
940
941 public AssetTagStats fetchByT_C(long tagId, long classNameId)
942 throws SystemException {
943 return fetchByT_C(tagId, classNameId, true);
944 }
945
946 public AssetTagStats fetchByT_C(long tagId, long classNameId,
947 boolean retrieveFromCache) throws SystemException {
948 Object[] finderArgs = new Object[] {
949 new Long(tagId), new Long(classNameId)
950 };
951
952 Object result = null;
953
954 if (retrieveFromCache) {
955 result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_T_C,
956 finderArgs, this);
957 }
958
959 if (result == null) {
960 Session session = null;
961
962 try {
963 session = openSession();
964
965 StringBundler query = new StringBundler(4);
966
967 query.append(_SQL_SELECT_ASSETTAGSTATS_WHERE);
968
969 query.append(_FINDER_COLUMN_T_C_TAGID_2);
970
971 query.append(_FINDER_COLUMN_T_C_CLASSNAMEID_2);
972
973 query.append(AssetTagStatsModelImpl.ORDER_BY_JPQL);
974
975 String sql = query.toString();
976
977 Query q = session.createQuery(sql);
978
979 QueryPos qPos = QueryPos.getInstance(q);
980
981 qPos.add(tagId);
982
983 qPos.add(classNameId);
984
985 List<AssetTagStats> list = q.list();
986
987 result = list;
988
989 AssetTagStats assetTagStats = null;
990
991 if (list.isEmpty()) {
992 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_T_C,
993 finderArgs, list);
994 }
995 else {
996 assetTagStats = list.get(0);
997
998 cacheResult(assetTagStats);
999
1000 if ((assetTagStats.getTagId() != tagId) ||
1001 (assetTagStats.getClassNameId() != classNameId)) {
1002 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_T_C,
1003 finderArgs, assetTagStats);
1004 }
1005 }
1006
1007 return assetTagStats;
1008 }
1009 catch (Exception e) {
1010 throw processException(e);
1011 }
1012 finally {
1013 if (result == null) {
1014 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_T_C,
1015 finderArgs, new ArrayList<AssetTagStats>());
1016 }
1017
1018 closeSession(session);
1019 }
1020 }
1021 else {
1022 if (result instanceof List<?>) {
1023 return null;
1024 }
1025 else {
1026 return (AssetTagStats)result;
1027 }
1028 }
1029 }
1030
1031 public List<AssetTagStats> findAll() throws SystemException {
1032 return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
1033 }
1034
1035 public List<AssetTagStats> findAll(int start, int end)
1036 throws SystemException {
1037 return findAll(start, end, null);
1038 }
1039
1040 public List<AssetTagStats> findAll(int start, int end,
1041 OrderByComparator orderByComparator) throws SystemException {
1042 Object[] finderArgs = new Object[] {
1043 String.valueOf(start), String.valueOf(end),
1044 String.valueOf(orderByComparator)
1045 };
1046
1047 List<AssetTagStats> list = (List<AssetTagStats>)FinderCacheUtil.getResult(FINDER_PATH_FIND_ALL,
1048 finderArgs, this);
1049
1050 if (list == null) {
1051 Session session = null;
1052
1053 try {
1054 session = openSession();
1055
1056 StringBundler query = null;
1057 String sql = null;
1058
1059 if (orderByComparator != null) {
1060 query = new StringBundler(2 +
1061 (orderByComparator.getOrderByFields().length * 3));
1062
1063 query.append(_SQL_SELECT_ASSETTAGSTATS);
1064
1065 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
1066 orderByComparator);
1067
1068 sql = query.toString();
1069 }
1070
1071 else {
1072 sql = _SQL_SELECT_ASSETTAGSTATS.concat(AssetTagStatsModelImpl.ORDER_BY_JPQL);
1073 }
1074
1075 Query q = session.createQuery(sql);
1076
1077 if (orderByComparator == null) {
1078 list = (List<AssetTagStats>)QueryUtil.list(q, getDialect(),
1079 start, end, false);
1080
1081 Collections.sort(list);
1082 }
1083 else {
1084 list = (List<AssetTagStats>)QueryUtil.list(q, getDialect(),
1085 start, end);
1086 }
1087 }
1088 catch (Exception e) {
1089 throw processException(e);
1090 }
1091 finally {
1092 if (list == null) {
1093 list = new ArrayList<AssetTagStats>();
1094 }
1095
1096 cacheResult(list);
1097
1098 FinderCacheUtil.putResult(FINDER_PATH_FIND_ALL, finderArgs, list);
1099
1100 closeSession(session);
1101 }
1102 }
1103
1104 return list;
1105 }
1106
1107 public void removeByTagId(long tagId) throws SystemException {
1108 for (AssetTagStats assetTagStats : findByTagId(tagId)) {
1109 remove(assetTagStats);
1110 }
1111 }
1112
1113 public void removeByClassNameId(long classNameId) throws SystemException {
1114 for (AssetTagStats assetTagStats : findByClassNameId(classNameId)) {
1115 remove(assetTagStats);
1116 }
1117 }
1118
1119 public void removeByT_C(long tagId, long classNameId)
1120 throws NoSuchTagStatsException, SystemException {
1121 AssetTagStats assetTagStats = findByT_C(tagId, classNameId);
1122
1123 remove(assetTagStats);
1124 }
1125
1126 public void removeAll() throws SystemException {
1127 for (AssetTagStats assetTagStats : findAll()) {
1128 remove(assetTagStats);
1129 }
1130 }
1131
1132 public int countByTagId(long tagId) throws SystemException {
1133 Object[] finderArgs = new Object[] { new Long(tagId) };
1134
1135 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_TAGID,
1136 finderArgs, this);
1137
1138 if (count == null) {
1139 Session session = null;
1140
1141 try {
1142 session = openSession();
1143
1144 StringBundler query = new StringBundler(2);
1145
1146 query.append(_SQL_COUNT_ASSETTAGSTATS_WHERE);
1147
1148 query.append(_FINDER_COLUMN_TAGID_TAGID_2);
1149
1150 String sql = query.toString();
1151
1152 Query q = session.createQuery(sql);
1153
1154 QueryPos qPos = QueryPos.getInstance(q);
1155
1156 qPos.add(tagId);
1157
1158 count = (Long)q.uniqueResult();
1159 }
1160 catch (Exception e) {
1161 throw processException(e);
1162 }
1163 finally {
1164 if (count == null) {
1165 count = Long.valueOf(0);
1166 }
1167
1168 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_TAGID,
1169 finderArgs, count);
1170
1171 closeSession(session);
1172 }
1173 }
1174
1175 return count.intValue();
1176 }
1177
1178 public int countByClassNameId(long classNameId) throws SystemException {
1179 Object[] finderArgs = new Object[] { new Long(classNameId) };
1180
1181 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_CLASSNAMEID,
1182 finderArgs, this);
1183
1184 if (count == null) {
1185 Session session = null;
1186
1187 try {
1188 session = openSession();
1189
1190 StringBundler query = new StringBundler(2);
1191
1192 query.append(_SQL_COUNT_ASSETTAGSTATS_WHERE);
1193
1194 query.append(_FINDER_COLUMN_CLASSNAMEID_CLASSNAMEID_2);
1195
1196 String sql = query.toString();
1197
1198 Query q = session.createQuery(sql);
1199
1200 QueryPos qPos = QueryPos.getInstance(q);
1201
1202 qPos.add(classNameId);
1203
1204 count = (Long)q.uniqueResult();
1205 }
1206 catch (Exception e) {
1207 throw processException(e);
1208 }
1209 finally {
1210 if (count == null) {
1211 count = Long.valueOf(0);
1212 }
1213
1214 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_CLASSNAMEID,
1215 finderArgs, count);
1216
1217 closeSession(session);
1218 }
1219 }
1220
1221 return count.intValue();
1222 }
1223
1224 public int countByT_C(long tagId, long classNameId)
1225 throws SystemException {
1226 Object[] finderArgs = new Object[] {
1227 new Long(tagId), new Long(classNameId)
1228 };
1229
1230 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_T_C,
1231 finderArgs, this);
1232
1233 if (count == null) {
1234 Session session = null;
1235
1236 try {
1237 session = openSession();
1238
1239 StringBundler query = new StringBundler(3);
1240
1241 query.append(_SQL_COUNT_ASSETTAGSTATS_WHERE);
1242
1243 query.append(_FINDER_COLUMN_T_C_TAGID_2);
1244
1245 query.append(_FINDER_COLUMN_T_C_CLASSNAMEID_2);
1246
1247 String sql = query.toString();
1248
1249 Query q = session.createQuery(sql);
1250
1251 QueryPos qPos = QueryPos.getInstance(q);
1252
1253 qPos.add(tagId);
1254
1255 qPos.add(classNameId);
1256
1257 count = (Long)q.uniqueResult();
1258 }
1259 catch (Exception e) {
1260 throw processException(e);
1261 }
1262 finally {
1263 if (count == null) {
1264 count = Long.valueOf(0);
1265 }
1266
1267 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_T_C, finderArgs,
1268 count);
1269
1270 closeSession(session);
1271 }
1272 }
1273
1274 return count.intValue();
1275 }
1276
1277 public int countAll() throws SystemException {
1278 Object[] finderArgs = new Object[0];
1279
1280 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
1281 finderArgs, this);
1282
1283 if (count == null) {
1284 Session session = null;
1285
1286 try {
1287 session = openSession();
1288
1289 Query q = session.createQuery(_SQL_COUNT_ASSETTAGSTATS);
1290
1291 count = (Long)q.uniqueResult();
1292 }
1293 catch (Exception e) {
1294 throw processException(e);
1295 }
1296 finally {
1297 if (count == null) {
1298 count = Long.valueOf(0);
1299 }
1300
1301 FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL, finderArgs,
1302 count);
1303
1304 closeSession(session);
1305 }
1306 }
1307
1308 return count.intValue();
1309 }
1310
1311 public void afterPropertiesSet() {
1312 String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
1313 com.liferay.portal.util.PropsUtil.get(
1314 "value.object.listener.com.liferay.portlet.asset.model.AssetTagStats")));
1315
1316 if (listenerClassNames.length > 0) {
1317 try {
1318 List<ModelListener<AssetTagStats>> listenersList = new ArrayList<ModelListener<AssetTagStats>>();
1319
1320 for (String listenerClassName : listenerClassNames) {
1321 listenersList.add((ModelListener<AssetTagStats>)InstanceFactory.newInstance(
1322 listenerClassName));
1323 }
1324
1325 listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
1326 }
1327 catch (Exception e) {
1328 _log.error(e);
1329 }
1330 }
1331 }
1332
1333 @BeanReference(type = AssetCategoryPersistence.class)
1334 protected AssetCategoryPersistence assetCategoryPersistence;
1335 @BeanReference(type = AssetCategoryPropertyPersistence.class)
1336 protected AssetCategoryPropertyPersistence assetCategoryPropertyPersistence;
1337 @BeanReference(type = AssetEntryPersistence.class)
1338 protected AssetEntryPersistence assetEntryPersistence;
1339 @BeanReference(type = AssetLinkPersistence.class)
1340 protected AssetLinkPersistence assetLinkPersistence;
1341 @BeanReference(type = AssetTagPersistence.class)
1342 protected AssetTagPersistence assetTagPersistence;
1343 @BeanReference(type = AssetTagPropertyPersistence.class)
1344 protected AssetTagPropertyPersistence assetTagPropertyPersistence;
1345 @BeanReference(type = AssetTagStatsPersistence.class)
1346 protected AssetTagStatsPersistence assetTagStatsPersistence;
1347 @BeanReference(type = AssetVocabularyPersistence.class)
1348 protected AssetVocabularyPersistence assetVocabularyPersistence;
1349 @BeanReference(type = ResourcePersistence.class)
1350 protected ResourcePersistence resourcePersistence;
1351 @BeanReference(type = UserPersistence.class)
1352 protected UserPersistence userPersistence;
1353 private static final String _SQL_SELECT_ASSETTAGSTATS = "SELECT assetTagStats FROM AssetTagStats assetTagStats";
1354 private static final String _SQL_SELECT_ASSETTAGSTATS_WHERE = "SELECT assetTagStats FROM AssetTagStats assetTagStats WHERE ";
1355 private static final String _SQL_COUNT_ASSETTAGSTATS = "SELECT COUNT(assetTagStats) FROM AssetTagStats assetTagStats";
1356 private static final String _SQL_COUNT_ASSETTAGSTATS_WHERE = "SELECT COUNT(assetTagStats) FROM AssetTagStats assetTagStats WHERE ";
1357 private static final String _FINDER_COLUMN_TAGID_TAGID_2 = "assetTagStats.tagId = ?";
1358 private static final String _FINDER_COLUMN_CLASSNAMEID_CLASSNAMEID_2 = "assetTagStats.classNameId = ?";
1359 private static final String _FINDER_COLUMN_T_C_TAGID_2 = "assetTagStats.tagId = ? AND ";
1360 private static final String _FINDER_COLUMN_T_C_CLASSNAMEID_2 = "assetTagStats.classNameId = ?";
1361 private static final String _ORDER_BY_ENTITY_ALIAS = "assetTagStats.";
1362 private static final String _NO_SUCH_ENTITY_WITH_PRIMARY_KEY = "No AssetTagStats exists with the primary key ";
1363 private static final String _NO_SUCH_ENTITY_WITH_KEY = "No AssetTagStats exists with the key {";
1364 private static Log _log = LogFactoryUtil.getLog(AssetTagStatsPersistenceImpl.class);
1365}