1
14
15 package com.liferay.portlet.journal.service.impl;
16
17 import com.liferay.portal.PortalException;
18 import com.liferay.portal.SystemException;
19 import com.liferay.portal.model.User;
20 import com.liferay.portal.security.permission.ActionKeys;
21 import com.liferay.portal.service.ServiceContext;
22 import com.liferay.portal.theme.ThemeDisplay;
23 import com.liferay.portlet.journal.model.JournalArticle;
24 import com.liferay.portlet.journal.service.base.JournalArticleServiceBaseImpl;
25 import com.liferay.portlet.journal.service.permission.JournalArticlePermission;
26 import com.liferay.portlet.journal.service.permission.JournalPermission;
27
28 import java.io.File;
29
30 import java.util.Map;
31
32
38 public class JournalArticleServiceImpl extends JournalArticleServiceBaseImpl {
39
40 public JournalArticle addArticle(
41 long groupId, String articleId, boolean autoArticleId, String title,
42 String description, String content, String type, String structureId,
43 String templateId, int displayDateMonth, int displayDateDay,
44 int displayDateYear, int displayDateHour, int displayDateMinute,
45 int expirationDateMonth, int expirationDateDay,
46 int expirationDateYear, int expirationDateHour,
47 int expirationDateMinute, boolean neverExpire, int reviewDateMonth,
48 int reviewDateDay, int reviewDateYear, int reviewDateHour,
49 int reviewDateMinute, boolean neverReview, boolean indexable,
50 String articleURL, ServiceContext serviceContext)
51 throws PortalException, SystemException {
52
53 JournalPermission.check(
54 getPermissionChecker(), groupId, ActionKeys.ADD_ARTICLE);
55
56 return journalArticleLocalService.addArticle(
57 getUserId(), groupId, articleId, autoArticleId, title, description,
58 content, type, structureId, templateId, displayDateMonth,
59 displayDateDay, displayDateYear, displayDateHour, displayDateMinute,
60 expirationDateMonth, expirationDateDay, expirationDateYear,
61 expirationDateHour, expirationDateMinute, neverExpire,
62 reviewDateMonth, reviewDateDay, reviewDateYear, reviewDateHour,
63 reviewDateMinute, neverReview, indexable, false, null, null, null,
64 articleURL, serviceContext);
65 }
66
67 public JournalArticle addArticle(
68 long groupId, String articleId, boolean autoArticleId, String title,
69 String description, String content, String type, String structureId,
70 String templateId, int displayDateMonth, int displayDateDay,
71 int displayDateYear, int displayDateHour, int displayDateMinute,
72 int expirationDateMonth, int expirationDateDay,
73 int expirationDateYear, int expirationDateHour,
74 int expirationDateMinute, boolean neverExpire, int reviewDateMonth,
75 int reviewDateDay, int reviewDateYear, int reviewDateHour,
76 int reviewDateMinute, boolean neverReview, boolean indexable,
77 boolean smallImage, String smallImageURL, File smallFile,
78 Map<String, byte[]> images, String articleURL,
79 ServiceContext serviceContext)
80 throws PortalException, SystemException {
81
82 JournalPermission.check(
83 getPermissionChecker(), groupId, ActionKeys.ADD_ARTICLE);
84
85 return journalArticleLocalService.addArticle(
86 getUserId(), groupId, articleId, autoArticleId, title, description,
87 content, type, structureId, templateId, displayDateMonth,
88 displayDateDay, displayDateYear, displayDateHour, displayDateMinute,
89 expirationDateMonth, expirationDateDay, expirationDateYear,
90 expirationDateHour, expirationDateMinute, neverExpire,
91 reviewDateMonth, reviewDateDay, reviewDateYear, reviewDateHour,
92 reviewDateMinute, neverReview, indexable, smallImage, smallImageURL,
93 smallFile, images, articleURL, serviceContext);
94 }
95
96 public JournalArticle approveArticle(
97 long groupId, String articleId, double version, String articleURL,
98 ServiceContext serviceContext)
99 throws PortalException, SystemException {
100
101 User user = getUser();
102
103 JournalPermission.check(
104 getPermissionChecker(), groupId, ActionKeys.APPROVE_ARTICLE);
105
106 return journalArticleLocalService.approveArticle(
107 user.getUserId(), groupId, articleId, version, articleURL,
108 serviceContext);
109 }
110
111 public JournalArticle copyArticle(
112 long groupId, String oldArticleId, String newArticleId,
113 boolean autoArticleId, double version)
114 throws PortalException, SystemException {
115
116 JournalPermission.check(
117 getPermissionChecker(), groupId, ActionKeys.ADD_ARTICLE);
118
119 return journalArticleLocalService.copyArticle(
120 getUserId(), groupId, oldArticleId, newArticleId, autoArticleId,
121 version);
122 }
123
124 public JournalArticle getArticle(long groupId, String articleId)
125 throws PortalException, SystemException {
126
127 JournalArticlePermission.check(
128 getPermissionChecker(), groupId, articleId, ActionKeys.VIEW);
129
130 return journalArticleLocalService.getArticle(groupId, articleId);
131 }
132
133 public JournalArticle getArticle(
134 long groupId, String articleId, double version)
135 throws PortalException, SystemException {
136
137 JournalArticlePermission.check(
138 getPermissionChecker(), groupId, articleId, version,
139 ActionKeys.VIEW);
140
141 return journalArticleLocalService.getArticle(
142 groupId, articleId, version);
143 }
144
145 public JournalArticle getArticleByUrlTitle(long groupId, String urlTitle)
146 throws PortalException, SystemException {
147
148 JournalArticle article =
149 journalArticleLocalService.getArticleByUrlTitle(groupId, urlTitle);
150
151 JournalArticlePermission.check(
152 getPermissionChecker(), article, ActionKeys.VIEW);
153
154 return article;
155 }
156
157 public String getArticleContent(
158 long groupId, String articleId, String languageId,
159 ThemeDisplay themeDisplay)
160 throws PortalException, SystemException {
161
162 JournalArticlePermission.check(
163 getPermissionChecker(), groupId, articleId, ActionKeys.VIEW);
164
165 return journalArticleLocalService.getArticleContent(
166 groupId, articleId, null, languageId, themeDisplay);
167 }
168
169 public String getArticleContent(
170 long groupId, String articleId, double version, String languageId,
171 ThemeDisplay themeDisplay)
172 throws PortalException, SystemException {
173
174 JournalArticlePermission.check(
175 getPermissionChecker(), groupId, articleId, version,
176 ActionKeys.VIEW);
177
178 return journalArticleLocalService.getArticleContent(
179 groupId, articleId, version, null, languageId, themeDisplay);
180 }
181
182 public void deleteArticle(
183 long groupId, String articleId, double version, String articleURL,
184 ServiceContext serviceContext)
185 throws PortalException, SystemException {
186
187 JournalArticlePermission.check(
188 getPermissionChecker(), groupId, articleId, version,
189 ActionKeys.DELETE);
190
191 journalArticleLocalService.deleteArticle(
192 groupId, articleId, version, articleURL, serviceContext);
193 }
194
195 public void expireArticle(
196 long groupId, String articleId, double version, String articleURL,
197 ServiceContext serviceContext)
198 throws PortalException, SystemException {
199
200 JournalArticlePermission.check(
201 getPermissionChecker(), groupId, articleId, version,
202 ActionKeys.EXPIRE);
203
204 journalArticleLocalService.expireArticle(
205 groupId, articleId, version, articleURL, serviceContext);
206 }
207
208 public void removeArticleLocale(long companyId, String languageId)
209 throws PortalException, SystemException {
210
211 for (JournalArticle article :
212 journalArticlePersistence.findByCompanyId(companyId)) {
213
214 removeArticleLocale(
215 article.getGroupId(), article.getArticleId(),
216 article.getVersion(), languageId);
217 }
218 }
219
220 public JournalArticle removeArticleLocale(
221 long groupId, String articleId, double version, String languageId)
222 throws PortalException, SystemException {
223
224 JournalArticlePermission.check(
225 getPermissionChecker(), groupId, articleId, version,
226 ActionKeys.UPDATE);
227
228 return journalArticleLocalService.removeArticleLocale(
229 groupId, articleId, version, languageId);
230 }
231
232 public JournalArticle updateArticle(
233 long groupId, String articleId, double version,
234 boolean incrementVersion, String content)
235 throws PortalException, SystemException {
236
237 JournalArticlePermission.check(
238 getPermissionChecker(), groupId, articleId, version,
239 ActionKeys.UPDATE);
240
241 return journalArticleLocalService.updateArticle(
242 getUserId(), groupId, articleId, version, incrementVersion,
243 content);
244 }
245
246 public JournalArticle updateArticle(
247 long groupId, String articleId, double version,
248 boolean incrementVersion, String title, String description,
249 String content, String type, String structureId, String templateId,
250 int displayDateMonth, int displayDateDay, int displayDateYear,
251 int displayDateHour, int displayDateMinute, int expirationDateMonth,
252 int expirationDateDay, int expirationDateYear,
253 int expirationDateHour, int expirationDateMinute,
254 boolean neverExpire, int reviewDateMonth, int reviewDateDay,
255 int reviewDateYear, int reviewDateHour, int reviewDateMinute,
256 boolean neverReview, boolean indexable, boolean smallImage,
257 String smallImageURL, File smallFile, Map<String, byte[]> images,
258 String articleURL, ServiceContext serviceContext)
259 throws PortalException, SystemException {
260
261 JournalArticlePermission.check(
262 getPermissionChecker(), groupId, articleId, version,
263 ActionKeys.UPDATE);
264
265 return journalArticleLocalService.updateArticle(
266 getUserId(), groupId, articleId, version, incrementVersion, title,
267 description, content, type, structureId, templateId,
268 displayDateMonth, displayDateDay, displayDateYear, displayDateHour,
269 displayDateMinute, expirationDateMonth, expirationDateDay,
270 expirationDateYear, expirationDateHour, expirationDateMinute,
271 neverExpire, reviewDateMonth, reviewDateDay, reviewDateYear,
272 reviewDateHour, reviewDateMinute, neverReview, indexable,
273 smallImage, smallImageURL, smallFile, images, articleURL,
274 serviceContext);
275 }
276
277 public JournalArticle updateContent(
278 long groupId, String articleId, double version, String content)
279 throws PortalException, SystemException {
280
281 JournalArticlePermission.check(
282 getPermissionChecker(), groupId, articleId, version,
283 ActionKeys.UPDATE);
284
285 return journalArticleLocalService.updateContent(
286 groupId, articleId, version, content);
287 }
288
289 }