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