001
014
015 package com.liferay.portlet.journal.service.impl;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.log.Log;
019 import com.liferay.portal.kernel.log.LogFactoryUtil;
020 import com.liferay.portlet.journal.DuplicateArticleImageIdException;
021 import com.liferay.portlet.journal.model.JournalArticleImage;
022 import com.liferay.portlet.journal.service.base.JournalArticleImageLocalServiceBaseImpl;
023
024 import java.util.List;
025
026
029 public class JournalArticleImageLocalServiceImpl
030 extends JournalArticleImageLocalServiceBaseImpl {
031
032 @Override
033 public void addArticleImageId(
034 long articleImageId, long groupId, String articleId, double version,
035 String elInstanceId, String elName, String languageId)
036 throws PortalException {
037
038 if (articleImageId <= 0) {
039 return;
040 }
041
042 JournalArticleImage articleImage =
043 journalArticleImagePersistence.fetchByG_A_V_E_E_L(
044 groupId, articleId, version, elInstanceId, elName, languageId);
045
046 if (articleImage == null) {
047 articleImage = journalArticleImagePersistence.create(
048 articleImageId);
049
050 articleImage.setGroupId(groupId);
051 articleImage.setArticleId(articleId);
052 articleImage.setVersion(version);
053 articleImage.setElInstanceId(elInstanceId);
054 articleImage.setElName(elName);
055 articleImage.setLanguageId(languageId);
056 articleImage.setTempImage(false);
057
058 journalArticleImagePersistence.update(articleImage);
059 }
060 else if (articleImage.getArticleImageId() != articleImageId) {
061 throw new DuplicateArticleImageIdException(
062 "{articleImageId=" + articleImageId + "}");
063 }
064 }
065
066 @Override
067 public void deleteArticleImage(JournalArticleImage articleImage) {
068 try {
069 imageLocalService.deleteImage(articleImage.getArticleImageId());
070 }
071 catch (PortalException pe) {
072 if (_log.isWarnEnabled()) {
073 _log.warn(
074 "Unable to delete image " +
075 articleImage.getArticleImageId(),
076 pe);
077 }
078 }
079
080 journalArticleImagePersistence.remove(articleImage);
081 }
082
083 @Override
084 public void deleteArticleImage(long articleImageId) {
085 JournalArticleImage articleImage =
086 journalArticleImagePersistence.fetchByPrimaryKey(articleImageId);
087
088 if (articleImage != null) {
089 deleteArticleImage(articleImage);
090 }
091 }
092
093 @Override
094 public void deleteArticleImage(
095 long groupId, String articleId, double version, String elInstanceId,
096 String elName, String languageId) {
097
098 JournalArticleImage articleImage =
099 journalArticleImagePersistence.fetchByG_A_V_E_E_L(
100 groupId, articleId, version, elInstanceId, elName, languageId);
101
102 if (articleImage != null) {
103 deleteArticleImage(articleImage);
104 }
105 }
106
107 @Override
108 public void deleteImages(long groupId, String articleId, double version) {
109 for (JournalArticleImage articleImage :
110 journalArticleImagePersistence.findByG_A_V(
111 groupId, articleId, version)) {
112
113 deleteArticleImage(articleImage);
114 }
115 }
116
117 @Override
118 public JournalArticleImage getArticleImage(long articleImageId)
119 throws PortalException {
120
121 return journalArticleImagePersistence.findByPrimaryKey(articleImageId);
122 }
123
124 @Override
125 public long getArticleImageId(
126 long groupId, String articleId, double version, String elInstanceId,
127 String elName, String languageId) {
128
129 return getArticleImageId(
130 groupId, articleId, version, elInstanceId, elName, languageId,
131 false);
132 }
133
134 @Override
135 public long getArticleImageId(
136 long groupId, String articleId, double version, String elInstanceId,
137 String elName, String languageId, boolean tempImage) {
138
139 JournalArticleImage articleImage =
140 journalArticleImagePersistence.fetchByG_A_V_E_E_L(
141 groupId, articleId, version, elInstanceId, elName, languageId);
142
143 if (articleImage == null) {
144 long articleImageId = counterLocalService.increment();
145
146 articleImage = journalArticleImagePersistence.create(
147 articleImageId);
148
149 articleImage.setGroupId(groupId);
150 articleImage.setArticleId(articleId);
151 articleImage.setVersion(version);
152 articleImage.setElInstanceId(elInstanceId);
153 articleImage.setElName(elName);
154 articleImage.setLanguageId(languageId);
155 articleImage.setTempImage(tempImage);
156
157 journalArticleImagePersistence.update(articleImage);
158 }
159
160 return articleImage.getArticleImageId();
161 }
162
163 @Override
164 public List<JournalArticleImage> getArticleImages(long groupId) {
165 return journalArticleImagePersistence.findByGroupId(groupId);
166 }
167
168 @Override
169 public List<JournalArticleImage> getArticleImages(
170 long groupId, String articleId, double version) {
171
172 return journalArticleImagePersistence.findByG_A_V(
173 groupId, articleId, version);
174 }
175
176 @Override
177 public int getArticleImagesCount(long groupId) {
178 return journalArticleImagePersistence.countByGroupId(groupId);
179 }
180
181 private static final Log _log = LogFactoryUtil.getLog(
182 JournalArticleImageLocalServiceImpl.class);
183
184 }