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