001
014
015 package com.liferay.portal.kernel.lar.exportimportconfiguration;
016
017 import aQute.bnd.annotation.ProviderType;
018
019 import com.liferay.portal.kernel.exception.PortalException;
020 import com.liferay.portal.kernel.lar.PortletDataHandlerKeys;
021 import com.liferay.portal.kernel.util.ParamUtil;
022 import com.liferay.portal.kernel.util.WebKeys;
023 import com.liferay.portal.model.ExportImportConfiguration;
024 import com.liferay.portal.service.ExportImportConfigurationLocalServiceUtil;
025 import com.liferay.portal.service.ServiceContext;
026 import com.liferay.portal.theme.ThemeDisplay;
027
028 import java.io.Serializable;
029
030 import java.util.Map;
031
032 import javax.portlet.PortletRequest;
033
034
037 @ProviderType
038 public class ExportImportConfigurationHelper {
039
040 public static ExportImportConfiguration
041 addExportLayoutExportImportConfiguration(
042 PortletRequest portletRequest)
043 throws PortalException {
044
045 return addExportImportConfiguration(
046 portletRequest,
047 ExportImportConfigurationConstants.TYPE_EXPORT_LAYOUT);
048 }
049
050 public static ExportImportConfiguration
051 addPublishLayoutLocalExportImportConfiguration(
052 PortletRequest portletRequest)
053 throws PortalException {
054
055 return addExportImportConfiguration(
056 portletRequest,
057 ExportImportConfigurationConstants.TYPE_PUBLISH_LAYOUT_LOCAL);
058 }
059
060 public static ExportImportConfiguration
061 addPublishLayoutRemoteExportImportConfiguration(
062 PortletRequest portletRequest)
063 throws PortalException {
064
065 return addExportImportConfiguration(
066 portletRequest,
067 ExportImportConfigurationConstants.TYPE_PUBLISH_LAYOUT_REMOTE);
068 }
069
070 public static ExportImportConfiguration
071 updateExportLayoutExportImportConfiguration(
072 PortletRequest portletRequest)
073 throws PortalException {
074
075 return updateExportImportConfiguration(
076 portletRequest,
077 ExportImportConfigurationConstants.TYPE_EXPORT_LAYOUT);
078 }
079
080 public static ExportImportConfiguration
081 updatePublishLayoutLocalExportImportConfiguration(
082 PortletRequest portletRequest)
083 throws PortalException {
084
085 return updateExportImportConfiguration(
086 portletRequest,
087 ExportImportConfigurationConstants.TYPE_PUBLISH_LAYOUT_LOCAL);
088 }
089
090 public static ExportImportConfiguration
091 updatePublishLayoutRemoteExportImportConfiguration(
092 PortletRequest portletRequest)
093 throws PortalException {
094
095 return updateExportImportConfiguration(
096 portletRequest,
097 ExportImportConfigurationConstants.TYPE_PUBLISH_LAYOUT_REMOTE);
098 }
099
100 protected static ExportImportConfiguration addExportImportConfiguration(
101 PortletRequest portletRequest, int type)
102 throws PortalException {
103
104 ThemeDisplay themeDisplay = (ThemeDisplay)portletRequest.getAttribute(
105 WebKeys.THEME_DISPLAY);
106
107 long groupId = ParamUtil.getLong(portletRequest, "groupId");
108 String name = ParamUtil.getString(portletRequest, "name");
109 String description = ParamUtil.getString(portletRequest, "description");
110
111 Map<String, Serializable> settingsMap =
112 ExportImportConfigurationSettingsMapFactory.buildSettingsMap(
113 portletRequest, groupId, type);
114
115 Map<String, String[]> parameterMap =
116 (Map<String, String[]>)settingsMap.get("parameterMap");
117
118 if ((parameterMap != null) &&
119 (type ==
120 ExportImportConfigurationConstants.TYPE_PUBLISH_LAYOUT_LOCAL)) {
121
122 parameterMap.put(
123 PortletDataHandlerKeys.PERFORM_DIRECT_BINARY_IMPORT,
124 new String[]{Boolean.TRUE.toString()});
125 }
126
127 return ExportImportConfigurationLocalServiceUtil.
128 addExportImportConfiguration(
129 themeDisplay.getUserId(), groupId, name, description, type,
130 settingsMap, new ServiceContext());
131 }
132
133 protected static ExportImportConfiguration updateExportImportConfiguration(
134 PortletRequest portletRequest, int type)
135 throws PortalException {
136
137 ThemeDisplay themeDisplay = (ThemeDisplay)portletRequest.getAttribute(
138 WebKeys.THEME_DISPLAY);
139
140 long exportImportConfigurationId = ParamUtil.getLong(
141 portletRequest, "exportImportConfigurationId");
142
143 long groupId = ParamUtil.getLong(portletRequest, "groupId");
144 String name = ParamUtil.getString(portletRequest, "name");
145 String description = ParamUtil.getString(portletRequest, "description");
146
147 Map<String, Serializable> settingsMap =
148 ExportImportConfigurationSettingsMapFactory.buildSettingsMap(
149 portletRequest, groupId, type);
150
151 return ExportImportConfigurationLocalServiceUtil.
152 updateExportImportConfiguration(
153 themeDisplay.getUserId(), exportImportConfigurationId, name,
154 description, settingsMap, new ServiceContext());
155 }
156
157 }