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(
200 long groupId, String articleId, double version)
201 throws PortalException, SystemException {
202
203 JournalArticlePermission.check(
204 getPermissionChecker(), groupId, articleId, ActionKeys.VIEW);
205
206 return journalArticleLocalService.getArticle(
207 groupId, articleId, version);
208 }
209
210 public String getArticleContent(
211 long groupId, String articleId, String languageId,
212 ThemeDisplay themeDisplay)
213 throws PortalException, SystemException {
214
215 JournalArticlePermission.check(
216 getPermissionChecker(), groupId, articleId, ActionKeys.VIEW);
217
218 return journalArticleLocalService.getArticleContent(
219 groupId, articleId, null, languageId, themeDisplay);
220 }
221
222 public String getArticleContent(
223 long groupId, String articleId, double version, String languageId,
224 ThemeDisplay themeDisplay)
225 throws PortalException, SystemException {
226
227 JournalArticlePermission.check(
228 getPermissionChecker(), groupId, articleId, ActionKeys.VIEW);
229
230 return journalArticleLocalService.getArticleContent(
231 groupId, articleId, version, null, languageId, themeDisplay);
232 }
233
234 public void deleteArticle(
235 long groupId, String articleId, double version, String articleURL,
236 PortletPreferences preferences)
237 throws PortalException, SystemException {
238
239 JournalArticlePermission.check(
240 getPermissionChecker(), groupId, articleId, ActionKeys.DELETE);
241
242 journalArticleLocalService.deleteArticle(
243 groupId, articleId, version, articleURL, preferences);
244 }
245
246 public void expireArticle(
247 long groupId, String articleId, double version, String articleURL,
248 PortletPreferences preferences)
249 throws PortalException, SystemException {
250
251 JournalArticlePermission.check(
252 getPermissionChecker(), groupId, articleId, ActionKeys.EXPIRE);
253
254 journalArticleLocalService.expireArticle(
255 groupId, articleId, version, articleURL, preferences);
256 }
257
258 public void removeArticleLocale(long companyId, String languageId)
259 throws PortalException, SystemException {
260
261 for (JournalArticle article :
262 journalArticlePersistence.findByCompanyId(companyId)) {
263
264 removeArticleLocale(
265 article.getGroupId(), article.getArticleId(),
266 article.getVersion(), languageId);
267 }
268 }
269
270 public JournalArticle removeArticleLocale(
271 long groupId, String articleId, double version, String languageId)
272 throws PortalException, SystemException {
273
274 JournalArticlePermission.check(
275 getPermissionChecker(), groupId, articleId, ActionKeys.UPDATE);
276
277 return journalArticleLocalService.removeArticleLocale(
278 groupId, articleId, version, languageId);
279 }
280
281 public JournalArticle updateArticle(
282 long groupId, String articleId, double version,
283 boolean incrementVersion, String title, String description,
284 String content, String type, String structureId, String templateId,
285 int displayDateMonth, int displayDateDay, int displayDateYear,
286 int displayDateHour, int displayDateMinute, int expirationDateMonth,
287 int expirationDateDay, int expirationDateYear,
288 int expirationDateHour, int expirationDateMinute,
289 boolean neverExpire, int reviewDateMonth, int reviewDateDay,
290 int reviewDateYear, int reviewDateHour, int reviewDateMinute,
291 boolean neverReview, boolean indexable, boolean smallImage,
292 String smallImageURL, File smallFile, Map<String, byte[]> images,
293 String articleURL, PortletPreferences preferences,
294 String[] tagsCategories, String[] tagsEntries)
295 throws PortalException, SystemException {
296
297 JournalArticlePermission.check(
298 getPermissionChecker(), groupId, articleId, ActionKeys.UPDATE);
299
300 return journalArticleLocalService.updateArticle(
301 getUserId(), groupId, articleId, version, incrementVersion, title,
302 description, content, type, structureId, templateId,
303 displayDateMonth, displayDateDay, displayDateYear, displayDateHour,
304 displayDateMinute, expirationDateMonth, expirationDateDay,
305 expirationDateYear, expirationDateHour, expirationDateMinute,
306 neverExpire, reviewDateMonth, reviewDateDay, reviewDateYear,
307 reviewDateHour, reviewDateMinute, neverReview, indexable,
308 smallImage, smallImageURL, smallFile, images, articleURL,
309 preferences, tagsCategories, tagsEntries);
310 }
311
312 public JournalArticle updateContent(
313 long groupId, String articleId, double version, String content)
314 throws PortalException, SystemException {
315
316 JournalArticlePermission.check(
317 getPermissionChecker(), groupId, articleId, ActionKeys.UPDATE);
318
319 return journalArticleLocalService.updateContent(
320 groupId, articleId, version, content);
321 }
322
323 }