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