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
088 @Override
089 public void deleteTagStats(long tagStatsId) throws PortalException {
090 AssetTagStats tagStats = assetTagStatsPersistence.findByPrimaryKey(
091 tagStatsId);
092
093 deleteTagStats(tagStats);
094 }
095
096
102 @Override
103 public void deleteTagStatsByClassNameId(long classNameId) {
104 List<AssetTagStats> tagStatsList =
105 assetTagStatsPersistence.findByClassNameId(classNameId);
106
107 for (AssetTagStats tagStats : tagStatsList) {
108 deleteTagStats(tagStats);
109 }
110 }
111
112
117 @Override
118 public void deleteTagStatsByTagId(long tagId) {
119 List<AssetTagStats> tagStatsList = assetTagStatsPersistence.findByTagId(
120 tagId);
121
122 for (AssetTagStats tagStats : tagStatsList) {
123 deleteTagStats(tagStats);
124 }
125 }
126
127
147 @Override
148 public List<AssetTagStats> getTagStats(
149 long classNameId, int start, int end) {
150
151 return assetTagStatsPersistence.findByClassNameId(
152 classNameId, start, end);
153 }
154
155
164 @Override
165 public AssetTagStats getTagStats(long tagId, long classNameId) {
166 AssetTagStats tagStats = assetTagStatsPersistence.fetchByT_C(
167 tagId, classNameId);
168
169 if (tagStats == null) {
170 tagStats = assetTagStatsLocalService.addTagStats(
171 tagId, classNameId);
172 }
173
174 return tagStats;
175 }
176
177
184 @Override
185 public AssetTagStats updateTagStats(long tagId, long classNameId)
186 throws PortalException {
187
188 AssetTag tag = assetTagPersistence.findByPrimaryKey(tagId);
189
190 int assetCount = assetTagFinder.countByG_C_N(
191 tag.getGroupId(), classNameId, tag.getName());
192
193 AssetTagStats tagStats = getTagStats(tagId, classNameId);
194
195 tagStats.setAssetCount(assetCount);
196
197 assetTagStatsPersistence.update(tagStats);
198
199 return tagStats;
200 }
201
202 private static final Log _log = LogFactoryUtil.getLog(
203 AssetTagStatsLocalServiceImpl.class);
204
205 }