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