1
22
23 package com.liferay.portlet.communities.action;
24
25 import com.liferay.portal.LARFileException;
26 import com.liferay.portal.LARTypeException;
27 import com.liferay.portal.LayoutImportException;
28 import com.liferay.portal.kernel.log.Log;
29 import com.liferay.portal.kernel.log.LogFactoryUtil;
30 import com.liferay.portal.kernel.servlet.SessionErrors;
31 import com.liferay.portal.kernel.servlet.SessionMessages;
32 import com.liferay.portal.kernel.upload.UploadPortletRequest;
33 import com.liferay.portal.kernel.util.ParamUtil;
34 import com.liferay.portal.service.LayoutServiceUtil;
35 import com.liferay.portal.util.PortalUtil;
36
37 import java.io.File;
38
39 import javax.portlet.ActionRequest;
40 import javax.portlet.ActionResponse;
41 import javax.portlet.PortletConfig;
42
43 import org.apache.struts.action.ActionForm;
44 import org.apache.struts.action.ActionMapping;
45
46
52 public class ImportPagesAction extends EditPagesAction {
53
54 public void processAction(
55 ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
56 ActionRequest actionRequest, ActionResponse actionResponse)
57 throws Exception {
58
59 try {
60 UploadPortletRequest uploadRequest =
61 PortalUtil.getUploadPortletRequest(actionRequest);
62
63 long groupId = ParamUtil.getLong(uploadRequest, "groupId");
64 boolean privateLayout = ParamUtil.getBoolean(
65 uploadRequest, "privateLayout");
66 File file = uploadRequest.getFile("importFileName");
67
68 if (!file.exists()) {
69 throw new LARFileException("Import file does not exist");
70 }
71
72 LayoutServiceUtil.importLayouts(
73 groupId, privateLayout, actionRequest.getParameterMap(), file);
74
75 SessionMessages.add(actionRequest, "request_processed");
76 }
77 catch (Exception e) {
78 if ((e instanceof LARFileException) ||
79 (e instanceof LARTypeException)) {
80
81 SessionErrors.add(actionRequest, e.getClass().getName());
82 }
83 else {
84 _log.error(e, e);
85
86 SessionErrors.add(
87 actionRequest, LayoutImportException.class.getName());
88 }
89 }
90 }
91
92 private static Log _log = LogFactoryUtil.getLog(ImportPagesAction.class);
93
94 }