1
19
20 package com.liferay.portlet.journal.service.impl;
21
22 import com.liferay.portal.PortalException;
23 import com.liferay.portal.SystemException;
24 import com.liferay.portal.model.User;
25 import com.liferay.portal.security.permission.ActionKeys;
26 import com.liferay.portal.service.permission.PortletPermissionUtil;
27 import com.liferay.portal.theme.ThemeDisplay;
28 import com.liferay.portal.util.PortletKeys;
29 import com.liferay.portlet.journal.model.JournalArticle;
30 import com.liferay.portlet.journal.service.base.JournalArticleServiceBaseImpl;
31 import com.liferay.portlet.journal.service.permission.JournalArticlePermission;
32
33 import java.io.File;
34
35 import java.util.Map;
36
37 import javax.portlet.PortletPreferences;
38
39
45 public class JournalArticleServiceImpl extends JournalArticleServiceBaseImpl {
46
47 public JournalArticle addArticle(
48 String articleId, boolean autoArticleId, long plid, String title,
49 String description, String content, String type, String structureId,
50 String templateId, int displayDateMonth, int displayDateDay,
51 int displayDateYear, int displayDateHour, int displayDateMinute,
52 int expirationDateMonth, int expirationDateDay,
53 int expirationDateYear, int expirationDateHour,
54 int expirationDateMinute, boolean neverExpire, int reviewDateMonth,
55 int reviewDateDay, int reviewDateYear, int reviewDateHour,
56 int reviewDateMinute, boolean neverReview, boolean indexable,
57 String articleURL, String[] tagsEntries,
58 boolean addCommunityPermissions, boolean addGuestPermissions)
59 throws PortalException, SystemException {
60
61 PortletPermissionUtil.check(
62 getPermissionChecker(), plid, PortletKeys.JOURNAL,
63 ActionKeys.ADD_ARTICLE);
64
65 return journalArticleLocalService.addArticle(
66 getUserId(), articleId, autoArticleId, plid, title, description,
67 content, type, structureId, templateId, displayDateMonth,
68 displayDateDay, displayDateYear, displayDateHour, displayDateMinute,
69 expirationDateMonth, expirationDateDay, expirationDateYear,
70 expirationDateHour, expirationDateMinute, neverExpire,
71 reviewDateMonth, reviewDateDay, reviewDateYear, reviewDateHour,
72 reviewDateMinute, neverReview, indexable, false, null, null, null,
73 articleURL, null, tagsEntries, addCommunityPermissions,
74 addGuestPermissions);
75 }
76
77 public JournalArticle addArticle(
78 String articleId, boolean autoArticleId, long plid, String title,
79 String description, String content, String type, String structureId,
80 String templateId, int displayDateMonth, int displayDateDay,
81 int displayDateYear, int displayDateHour, int displayDateMinute,
82 int expirationDateMonth, int expirationDateDay,
83 int expirationDateYear, int expirationDateHour,
84 int expirationDateMinute, boolean neverExpire, int reviewDateMonth,
85 int reviewDateDay, int reviewDateYear, int reviewDateHour,
86 int reviewDateMinute, boolean neverReview, boolean indexable,
87 boolean smallImage, String smallImageURL, File smallFile,
88 Map<String, byte[]> images, String articleURL,
89 PortletPreferences prefs, String[] tagsEntries,
90 boolean addCommunityPermissions, boolean addGuestPermissions)
91 throws PortalException, SystemException {
92
93 PortletPermissionUtil.check(
94 getPermissionChecker(), plid, PortletKeys.JOURNAL,
95 ActionKeys.ADD_ARTICLE);
96
97 return journalArticleLocalService.addArticle(
98 getUserId(), articleId, autoArticleId, plid, title, description,
99 content, type, structureId, templateId, displayDateMonth,
100 displayDateDay, displayDateYear, displayDateHour, displayDateMinute,
101 expirationDateMonth, expirationDateDay, expirationDateYear,
102 expirationDateHour, expirationDateMinute, neverExpire,
103 reviewDateMonth, reviewDateDay, reviewDateYear, reviewDateHour,
104 reviewDateMinute, neverReview, indexable, smallImage, smallImageURL,
105 smallFile, images, articleURL, prefs, tagsEntries,
106 addCommunityPermissions, addGuestPermissions);
107 }
108
109 public JournalArticle addArticle(
110 String articleId, boolean autoArticleId, long plid, String title,
111 String description, String content, String type, String structureId,
112 String templateId, int displayDateMonth, int displayDateDay,
113 int displayDateYear, int displayDateHour, int displayDateMinute,
114 int expirationDateMonth, int expirationDateDay,
115 int expirationDateYear, int expirationDateHour,
116 int expirationDateMinute, boolean neverExpire, int reviewDateMonth,
117 int reviewDateDay, int reviewDateYear, int reviewDateHour,
118 int reviewDateMinute, boolean neverReview, boolean indexable,
119 String articleURL, String[] tagsEntries,
120 String[] communityPermissions, String[] guestPermissions)
121 throws PortalException, SystemException {
122
123 PortletPermissionUtil.check(
124 getPermissionChecker(), plid, PortletKeys.JOURNAL,
125 ActionKeys.ADD_ARTICLE);
126
127 return journalArticleLocalService.addArticle(
128 getUserId(), articleId, autoArticleId, plid, 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, tagsEntries, communityPermissions,
136 guestPermissions);
137 }
138
139 public JournalArticle addArticle(
140 String articleId, boolean autoArticleId, long plid, 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 prefs, String[] tagsEntries,
152 String[] communityPermissions, String[] guestPermissions)
153 throws PortalException, SystemException {
154
155 PortletPermissionUtil.check(
156 getPermissionChecker(), plid, PortletKeys.JOURNAL,
157 ActionKeys.ADD_ARTICLE);
158
159 return journalArticleLocalService.addArticle(
160 getUserId(), articleId, autoArticleId, plid, 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, prefs, tagsEntries,
168 communityPermissions, guestPermissions);
169 }
170
171 public JournalArticle approveArticle(
172 long groupId, String articleId, double version, long plid,
173 String articleURL, PortletPreferences prefs)
174 throws PortalException, SystemException {
175
176 User user = getUser();
177
178 PortletPermissionUtil.check(
179 getPermissionChecker(), plid, PortletKeys.JOURNAL,
180 ActionKeys.APPROVE_ARTICLE);
181
182 return journalArticleLocalService.approveArticle(
183 user.getUserId(), groupId, articleId, version, articleURL, prefs);
184 }
185
186 public JournalArticle copyArticle(
187 long groupId, String oldArticleId, String newArticleId,
188 boolean autoArticleId, double version)
189 throws PortalException, SystemException {
190
191 JournalArticlePermission.check(
192 getPermissionChecker(), groupId, oldArticleId,
193 ActionKeys.ADD_ARTICLE);
194
195 return journalArticleLocalService.copyArticle(
196 getUserId(), groupId, oldArticleId, newArticleId, autoArticleId,
197 version);
198 }
199
200 public JournalArticle getArticle(
201 long groupId, String articleId, double version)
202 throws PortalException, SystemException {
203
204 JournalArticlePermission.check(
205 getPermissionChecker(), groupId, articleId, ActionKeys.VIEW);
206
207 return journalArticleLocalService.getArticle(
208 groupId, articleId, version);
209 }
210
211 public String getArticleContent(
212 long groupId, String articleId, String languageId,
213 ThemeDisplay themeDisplay)
214 throws PortalException, SystemException {
215
216 JournalArticlePermission.check(
217 getPermissionChecker(), groupId, articleId, ActionKeys.VIEW);
218
219 return journalArticleLocalService.getArticleContent(
220 groupId, articleId, languageId, themeDisplay);
221 }
222
223 public String getArticleContent(
224 long groupId, String articleId, double version, 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, version, languageId, themeDisplay);
233 }
234
235 public void deleteArticle(
236 long groupId, String articleId, double version, String articleURL,
237 PortletPreferences prefs)
238 throws PortalException, SystemException {
239
240 JournalArticlePermission.check(
241 getPermissionChecker(), groupId, articleId, ActionKeys.DELETE);
242
243 journalArticleLocalService.deleteArticle(
244 groupId, articleId, version, articleURL, prefs);
245 }
246
247 public void expireArticle(
248 long groupId, String articleId, double version, String articleURL,
249 PortletPreferences prefs)
250 throws PortalException, SystemException {
251
252 JournalArticlePermission.check(
253 getPermissionChecker(), groupId, articleId, ActionKeys.EXPIRE);
254
255 journalArticleLocalService.expireArticle(
256 groupId, articleId, version, articleURL, prefs);
257 }
258
259 public void removeArticleLocale(long companyId, String languageId)
260 throws PortalException, SystemException {
261
262 for (JournalArticle article :
263 journalArticlePersistence.findByCompanyId(companyId)) {
264
265 removeArticleLocale(
266 article.getGroupId(), article.getArticleId(),
267 article.getVersion(), languageId);
268 }
269 }
270
271 public JournalArticle removeArticleLocale(
272 long groupId, String articleId, double version, String languageId)
273 throws PortalException, SystemException {
274
275 JournalArticlePermission.check(
276 getPermissionChecker(), groupId, articleId, ActionKeys.UPDATE);
277
278 return journalArticleLocalService.removeArticleLocale(
279 groupId, articleId, version, languageId);
280 }
281
282 public JournalArticle updateArticle(
283 long groupId, String articleId, double version,
284 boolean incrementVersion, String title, String description,
285 String content, String type, String structureId, String templateId,
286 int displayDateMonth, int displayDateDay, int displayDateYear,
287 int displayDateHour, int displayDateMinute, int expirationDateMonth,
288 int expirationDateDay, int expirationDateYear,
289 int expirationDateHour, int expirationDateMinute,
290 boolean neverExpire, int reviewDateMonth, int reviewDateDay,
291 int reviewDateYear, int reviewDateHour, int reviewDateMinute,
292 boolean neverReview, boolean indexable, boolean smallImage,
293 String smallImageURL, File smallFile, Map<String, byte[]> images,
294 String articleURL, PortletPreferences prefs, 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, prefs,
309 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 }