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