1
22
23 package com.liferay.portlet.ratings.service.impl;
24
25 import com.liferay.counter.service.CounterLocalServiceUtil;
26 import com.liferay.portal.PortalException;
27 import com.liferay.portal.SystemException;
28 import com.liferay.portal.util.PortalUtil;
29 import com.liferay.portlet.ratings.NoSuchStatsException;
30 import com.liferay.portlet.ratings.model.RatingsStats;
31 import com.liferay.portlet.ratings.service.base.RatingsStatsLocalServiceBaseImpl;
32 import com.liferay.portlet.ratings.service.persistence.RatingsEntryUtil;
33 import com.liferay.portlet.ratings.service.persistence.RatingsStatsUtil;
34
35 import org.apache.commons.logging.Log;
36 import org.apache.commons.logging.LogFactory;
37
38
45 public class RatingsStatsLocalServiceImpl
46 extends RatingsStatsLocalServiceBaseImpl {
47
48 public void deleteStats(String className, long classPK)
49 throws PortalException, SystemException {
50
51 long classNameId = PortalUtil.getClassNameId(className);
52
53 try {
54 RatingsStatsUtil.removeByC_C(classNameId, classPK);
55 }
56 catch (NoSuchStatsException nsse) {
57 _log.warn(nsse);
58 }
59
60 RatingsEntryUtil.removeByC_C(classNameId, classPK);
61 }
62
63 public RatingsStats getStats(long statsId)
64 throws PortalException, SystemException {
65
66 return RatingsStatsUtil.findByPrimaryKey(statsId);
67 }
68
69 public RatingsStats getStats(String className, long classPK)
70 throws PortalException, SystemException {
71
72 long classNameId = PortalUtil.getClassNameId(className);
73
74 RatingsStats stats = null;
75
76 try {
77 stats = RatingsStatsUtil.findByC_C(classNameId, classPK);
78 }
79 catch (NoSuchStatsException nsse) {
80 long statsId = CounterLocalServiceUtil.increment();
81
82 stats = RatingsStatsUtil.create(statsId);
83
84 stats.setClassNameId(classNameId);
85 stats.setClassPK(classPK);
86 stats.setTotalEntries(0);
87 stats.setTotalScore(0.0);
88 stats.setAverageScore(0.0);
89
90 RatingsStatsUtil.update(stats);
91 }
92
93 return stats;
94 }
95
96 private static Log _log =
97 LogFactory.getLog(RatingsStatsLocalServiceImpl.class);
98
99 }