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