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