001
014
015 package com.liferay.portlet.asset.service.impl;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.exception.SystemException;
019 import com.liferay.portal.kernel.log.Log;
020 import com.liferay.portal.kernel.log.LogFactoryUtil;
021 import com.liferay.portlet.asset.model.AssetTag;
022 import com.liferay.portlet.asset.model.AssetTagStats;
023 import com.liferay.portlet.asset.service.base.AssetTagStatsLocalServiceBaseImpl;
024
025 import java.util.List;
026
027
033 public class AssetTagStatsLocalServiceImpl
034 extends AssetTagStatsLocalServiceBaseImpl {
035
036
043 @Override
044 public AssetTagStats addTagStats(long tagId, long classNameId) {
045 long tagStatsId = counterLocalService.increment();
046
047 AssetTagStats tagStats = assetTagStatsPersistence.create(tagStatsId);
048
049 tagStats.setTagId(tagId);
050 tagStats.setClassNameId(classNameId);
051
052 try {
053 assetTagStatsPersistence.update(tagStats);
054 }
055 catch (SystemException se) {
056 if (_log.isWarnEnabled()) {
057 _log.warn(
058 "Add failed, fetch {tagId=" + tagId + ", classNameId=" +
059 classNameId + "}");
060 }
061
062 tagStats = assetTagStatsPersistence.fetchByT_C(
063 tagId, classNameId, false);
064
065 if (tagStats == null) {
066 throw se;
067 }
068 }
069
070 return tagStats;
071 }
072
073
078 @Override
079 public void deleteTagStats(AssetTagStats tagStats) {
080 assetTagStatsPersistence.remove(tagStats);
081 }
082
083
090 @Override
091 public void deleteTagStats(long tagStatsId) throws PortalException {
092 AssetTagStats tagStats = assetTagStatsPersistence.findByPrimaryKey(
093 tagStatsId);
094
095 deleteTagStats(tagStats);
096 }
097
098
104 @Override
105 public void deleteTagStatsByClassNameId(long classNameId) {
106 List<AssetTagStats> tagStatsList =
107 assetTagStatsPersistence.findByClassNameId(classNameId);
108
109 for (AssetTagStats tagStats : tagStatsList) {
110 deleteTagStats(tagStats);
111 }
112 }
113
114
119 @Override
120 public void deleteTagStatsByTagId(long tagId) {
121 List<AssetTagStats> tagStatsList = assetTagStatsPersistence.findByTagId(
122 tagId);
123
124 for (AssetTagStats tagStats : tagStatsList) {
125 deleteTagStats(tagStats);
126 }
127 }
128
129
149 @Override
150 public List<AssetTagStats> getTagStats(
151 long classNameId, int start, int end) {
152
153 return assetTagStatsPersistence.findByClassNameId(
154 classNameId, start, end);
155 }
156
157
166 @Override
167 public AssetTagStats getTagStats(long tagId, long classNameId) {
168 AssetTagStats tagStats = assetTagStatsPersistence.fetchByT_C(
169 tagId, classNameId);
170
171 if (tagStats == null) {
172 tagStats = assetTagStatsLocalService.addTagStats(
173 tagId, classNameId);
174 }
175
176 return tagStats;
177 }
178
179
188 @Override
189 public AssetTagStats updateTagStats(long tagId, long classNameId)
190 throws PortalException {
191
192 AssetTag tag = assetTagPersistence.findByPrimaryKey(tagId);
193
194 int assetCount = assetTagFinder.countByG_C_N(
195 tag.getGroupId(), classNameId, tag.getName());
196
197 AssetTagStats tagStats = getTagStats(tagId, classNameId);
198
199 tagStats.setAssetCount(assetCount);
200
201 assetTagStatsPersistence.update(tagStats);
202
203 return tagStats;
204 }
205
206 private static final Log _log = LogFactoryUtil.getLog(
207 AssetTagStatsLocalServiceImpl.class);
208
209 }