1
22
23 package com.liferay.portal.service.impl;
24
25 import com.liferay.portal.PortalException;
26 import com.liferay.portal.SystemException;
27 import com.liferay.portal.kernel.security.permission.ActionKeys;
28 import com.liferay.portal.kernel.util.LocaleUtil;
29 import com.liferay.portal.model.Layout;
30 import com.liferay.portal.model.LayoutReference;
31 import com.liferay.portal.model.impl.ThemeImpl;
32 import com.liferay.portal.service.base.LayoutServiceBaseImpl;
33 import com.liferay.portal.service.permission.GroupPermissionUtil;
34 import com.liferay.portal.service.permission.LayoutPermissionUtil;
35
36 import java.io.File;
37 import java.io.InputStream;
38
39 import java.util.HashMap;
40 import java.util.Locale;
41 import java.util.Map;
42
43
49 public class LayoutServiceImpl extends LayoutServiceBaseImpl {
50
51 public Layout addLayout(
52 long groupId, boolean privateLayout, long parentLayoutId,
53 String name, String title, String description, String type,
54 boolean hidden, String friendlyURL)
55 throws PortalException, SystemException {
56
57 Map localeNamesMap = new HashMap();
58
59 Locale defaultLocale = LocaleUtil.getDefault();
60
61 localeNamesMap.put(defaultLocale, name);
62
63 return addLayout(
64 groupId, privateLayout, parentLayoutId, localeNamesMap,
65 new HashMap(), description, type, hidden, friendlyURL);
66 }
67
68 public Layout addLayout(
69 long groupId, boolean privateLayout, long parentLayoutId,
70 Map localeNamesMap, Map localeTitlesMap, String description,
71 String type, boolean hidden, String friendlyURL)
72 throws PortalException, SystemException {
73
74 GroupPermissionUtil.check(
75 getPermissionChecker(), groupId, ActionKeys.MANAGE_LAYOUTS);
76
77 return layoutLocalService.addLayout(
78 getUserId(), groupId, privateLayout, parentLayoutId, localeNamesMap,
79 localeTitlesMap, description, type, hidden, friendlyURL);
80 }
81
82 public void deleteLayout(long plid)
83 throws PortalException, SystemException {
84
85 LayoutPermissionUtil.check(
86 getPermissionChecker(), plid, ActionKeys.DELETE);
87
88 layoutLocalService.deleteLayout(plid);
89 }
90
91 public void deleteLayout(long groupId, boolean privateLayout, long layoutId)
92 throws PortalException, SystemException {
93
94 LayoutPermissionUtil.check(
95 getPermissionChecker(), groupId, privateLayout, layoutId,
96 ActionKeys.DELETE);
97
98 layoutLocalService.deleteLayout(groupId, privateLayout, layoutId);
99 }
100
101 public String getLayoutName(
102 long groupId, boolean privateLayout, long layoutId,
103 String languageId)
104 throws PortalException, SystemException {
105
106 Layout layout = layoutLocalService.getLayout(
107 groupId, privateLayout, layoutId);
108
109 return layout.getName(languageId);
110 }
111
112 public LayoutReference[] getLayoutReferences(
113 long companyId, String portletId, String prefsKey,
114 String prefsValue)
115 throws SystemException {
116
117 return layoutLocalService.getLayouts(
118 companyId, portletId, prefsKey, prefsValue);
119 }
120
121 public byte[] exportLayouts(
122 long groupId, boolean privateLayout, Map parameterMap)
123 throws PortalException, SystemException {
124
125 GroupPermissionUtil.check(
126 getPermissionChecker(), groupId, ActionKeys.MANAGE_LAYOUTS);
127
128 return layoutLocalService.exportLayouts(
129 groupId, privateLayout, parameterMap);
130 }
131
132 public byte[] exportLayouts(
133 long groupId, boolean privateLayout, long[] layoutIds,
134 Map parameterMap)
135 throws PortalException, SystemException {
136
137 GroupPermissionUtil.check(
138 getPermissionChecker(), groupId, ActionKeys.MANAGE_LAYOUTS);
139
140 return layoutLocalService.exportLayouts(
141 groupId, privateLayout, layoutIds, parameterMap);
142 }
143
144 public byte[] exportPortletInfo(
145 long plid, String portletId, Map parameterMap)
146 throws PortalException, SystemException {
147
148 Layout layout = layoutLocalService.getLayout(plid);
149
150 GroupPermissionUtil.check(
151 getPermissionChecker(), layout.getGroupId(),
152 ActionKeys.MANAGE_LAYOUTS);
153
154 return layoutLocalService.exportPortletInfo(
155 plid, portletId, parameterMap);
156 }
157
158 public void importLayouts(
159 long groupId, boolean privateLayout, Map parameterMap, File file)
160 throws PortalException, SystemException {
161
162 GroupPermissionUtil.check(
163 getPermissionChecker(), groupId, ActionKeys.MANAGE_LAYOUTS);
164
165 layoutLocalService.importLayouts(
166 getUserId(), groupId, privateLayout, parameterMap, file);
167 }
168
169 public void importLayouts(
170 long groupId, boolean privateLayout, Map parameterMap,
171 InputStream is)
172 throws PortalException, SystemException {
173
174 GroupPermissionUtil.check(
175 getPermissionChecker(), groupId, ActionKeys.MANAGE_LAYOUTS);
176
177 layoutLocalService.importLayouts(
178 getUserId(), groupId, privateLayout, parameterMap, is);
179 }
180
181 public void importPortletInfo(
182 long plid, String portletId, Map parameterMap, File file)
183 throws PortalException, SystemException {
184
185 Layout layout = layoutLocalService.getLayout(plid);
186
187 GroupPermissionUtil.check(
188 getPermissionChecker(), layout.getGroupId(),
189 ActionKeys.MANAGE_LAYOUTS);
190
191 layoutLocalService.importPortletInfo(
192 getUserId(), plid, portletId, parameterMap, file);
193 }
194
195 public void importPortletInfo(
196 long plid, String portletId, Map parameterMap, InputStream is)
197 throws PortalException, SystemException {
198
199 Layout layout = layoutLocalService.getLayout(plid);
200
201 GroupPermissionUtil.check(
202 getPermissionChecker(), layout.getGroupId(),
203 ActionKeys.MANAGE_LAYOUTS);
204
205 layoutLocalService.importPortletInfo(
206 getUserId(), plid, portletId, parameterMap, is);
207 }
208
209 public void setLayouts(
210 long groupId, boolean privateLayout, long parentLayoutId,
211 long[] layoutIds)
212 throws PortalException, SystemException {
213
214 GroupPermissionUtil.check(
215 getPermissionChecker(), groupId, ActionKeys.MANAGE_LAYOUTS);
216
217 layoutLocalService.setLayouts(
218 groupId, privateLayout, parentLayoutId, layoutIds);
219 }
220
221 public Layout updateLayout(
222 long groupId, boolean privateLayout, long layoutId,
223 long parentLayoutId, Map localeNamesMap, Map localeTitlesMap,
224 String description, String type, boolean hidden, String friendlyURL)
225 throws PortalException, SystemException {
226
227 LayoutPermissionUtil.check(
228 getPermissionChecker(), groupId, privateLayout, layoutId,
229 ActionKeys.UPDATE);
230
231 return layoutLocalService.updateLayout(
232 groupId, privateLayout, layoutId, parentLayoutId, localeNamesMap,
233 localeTitlesMap, description, type, hidden, friendlyURL);
234 }
235
236 public Layout updateLayout(
237 long groupId, boolean privateLayout, long layoutId,
238 long parentLayoutId, Map localeNamesMap, Map localeTitlesMap,
239 String description, String type, boolean hidden, String friendlyURL,
240 Boolean iconImage, byte[] iconBytes)
241 throws PortalException, SystemException {
242
243 LayoutPermissionUtil.check(
244 getPermissionChecker(), groupId, privateLayout, layoutId,
245 ActionKeys.UPDATE);
246
247 return layoutLocalService.updateLayout(
248 groupId, privateLayout, layoutId, parentLayoutId, localeNamesMap,
249 localeTitlesMap, description, type, hidden, friendlyURL, iconImage,
250 iconBytes);
251 }
252
253 public Layout updateLayout(
254 long groupId, boolean privateLayout, long layoutId,
255 String typeSettings)
256 throws PortalException, SystemException {
257
258 LayoutPermissionUtil.check(
259 getPermissionChecker(), groupId, privateLayout, layoutId,
260 ActionKeys.UPDATE);
261
262 return layoutLocalService.updateLayout(
263 groupId, privateLayout, layoutId, typeSettings);
264 }
265
266 public Layout updateLookAndFeel(
267 long groupId, boolean privateLayout, long layoutId, String themeId,
268 String colorSchemeId, String css, boolean wapTheme)
269 throws PortalException, SystemException {
270
271 LayoutPermissionUtil.check(
272 getPermissionChecker(), groupId, privateLayout, layoutId,
273 ActionKeys.UPDATE);
274
275 pluginSettingLocalService.checkPermission(
276 getUserId(), themeId, ThemeImpl.PLUGIN_TYPE);
277
278 return layoutLocalService.updateLookAndFeel(
279 groupId, privateLayout, layoutId, themeId, colorSchemeId, css,
280 wapTheme);
281 }
282
283 public Layout updateName(long plid, String name, String languageId)
284 throws PortalException, SystemException {
285
286 LayoutPermissionUtil.check(
287 getPermissionChecker(), plid, ActionKeys.UPDATE);
288
289 return layoutLocalService.updateName(plid, name, languageId);
290 }
291
292 public Layout updateName(
293 long groupId, boolean privateLayout, long layoutId, String name,
294 String languageId)
295 throws PortalException, SystemException {
296
297 LayoutPermissionUtil.check(
298 getPermissionChecker(), groupId, privateLayout, layoutId,
299 ActionKeys.UPDATE);
300
301 return layoutLocalService.updateName(
302 groupId, privateLayout, layoutId, name, languageId);
303 }
304
305 public Layout updateParentLayoutId(long plid, long parentPlid)
306 throws PortalException, SystemException {
307
308 LayoutPermissionUtil.check(
309 getPermissionChecker(), plid, ActionKeys.UPDATE);
310
311 return layoutLocalService.updateParentLayoutId(plid, parentPlid);
312 }
313
314 public Layout updateParentLayoutId(
315 long groupId, boolean privateLayout, long layoutId,
316 long parentLayoutId)
317 throws PortalException, SystemException {
318
319 LayoutPermissionUtil.check(
320 getPermissionChecker(), groupId, privateLayout, layoutId,
321 ActionKeys.UPDATE);
322
323 return layoutLocalService.updateParentLayoutId(
324 groupId, privateLayout, layoutId, parentLayoutId);
325 }
326
327 public Layout updatePriority(long plid, int priority)
328 throws PortalException, SystemException {
329
330 LayoutPermissionUtil.check(
331 getPermissionChecker(), plid, ActionKeys.UPDATE);
332
333 return layoutLocalService.updatePriority(plid, priority);
334 }
335
336 public Layout updatePriority(
337 long groupId, boolean privateLayout, long layoutId, int priority)
338 throws PortalException, SystemException {
339
340 LayoutPermissionUtil.check(
341 getPermissionChecker(), groupId, privateLayout, layoutId,
342 ActionKeys.UPDATE);
343
344 return layoutLocalService.updatePriority(
345 groupId, privateLayout, layoutId, priority);
346 }
347
348 }