001
014
015 package com.liferay.exportimport.kernel.configuration;
016
017 import com.liferay.exportimport.kernel.lar.ExportImportDateUtil;
018 import com.liferay.exportimport.kernel.lar.ExportImportHelperUtil;
019 import com.liferay.exportimport.kernel.lar.PortletDataHandlerKeys;
020 import com.liferay.exportimport.kernel.model.ExportImportConfiguration;
021 import com.liferay.exportimport.kernel.service.ExportImportConfigurationLocalServiceUtil;
022 import com.liferay.portal.kernel.exception.PortalException;
023 import com.liferay.portal.kernel.model.User;
024 import com.liferay.portal.kernel.theme.ThemeDisplay;
025 import com.liferay.portal.kernel.util.ParamUtil;
026 import com.liferay.portal.kernel.util.WebKeys;
027
028 import java.io.Serializable;
029
030 import java.util.Map;
031
032 import javax.portlet.PortletRequest;
033
034
037 public class ExportImportConfigurationFactory {
038
039 public static ExportImportConfiguration
040 buildDefaultLocalPublishingExportImportConfiguration(
041 PortletRequest portletRequest)
042 throws PortalException {
043
044 ThemeDisplay themeDisplay = (ThemeDisplay)portletRequest.getAttribute(
045 WebKeys.THEME_DISPLAY);
046
047 long sourceGroupId = ParamUtil.getLong(portletRequest, "sourceGroupId");
048 long targetGroupId = ParamUtil.getLong(portletRequest, "targetGroupId");
049 boolean privateLayout = ParamUtil.getBoolean(
050 portletRequest, "privateLayout");
051
052 Map<String, String[]> parameterMap = getDefaultPublishingParameters(
053 portletRequest);
054
055 return buildDefaultLocalPublishingExportImportConfiguration(
056 themeDisplay.getUser(), sourceGroupId, targetGroupId, privateLayout,
057 parameterMap);
058 }
059
060 public static ExportImportConfiguration
061 buildDefaultLocalPublishingExportImportConfiguration(
062 User user, long sourceGroupId, long targetGroupId,
063 boolean privateLayout)
064 throws PortalException {
065
066 return buildDefaultLocalPublishingExportImportConfiguration(
067 user, sourceGroupId, targetGroupId, privateLayout,
068 getDefaultPublishingParameters());
069 }
070
071 public static ExportImportConfiguration
072 buildDefaultLocalPublishingExportImportConfiguration(
073 User user, long sourceGroupId, long targetGroupId,
074 boolean privateLayout, Map<String, String[]> parameterMap)
075 throws PortalException {
076
077 Map<String, Serializable> publishLayoutLocalSettingsMap =
078 ExportImportConfigurationSettingsMapFactory.
079 buildPublishLayoutLocalSettingsMap(
080 user, sourceGroupId, targetGroupId, privateLayout,
081 ExportImportHelperUtil.getAllLayoutIds(
082 sourceGroupId, privateLayout),
083 parameterMap);
084
085 return ExportImportConfigurationLocalServiceUtil.
086 addDraftExportImportConfiguration(
087 user.getUserId(),
088 ExportImportConfigurationConstants.TYPE_PUBLISH_LAYOUT_LOCAL,
089 publishLayoutLocalSettingsMap);
090 }
091
092 public static ExportImportConfiguration
093 buildDefaultRemotePublishingExportImportConfiguration(
094 PortletRequest portletRequest)
095 throws PortalException {
096
097 ThemeDisplay themeDisplay = (ThemeDisplay)portletRequest.getAttribute(
098 WebKeys.THEME_DISPLAY);
099
100 long sourceGroupId = ParamUtil.getLong(portletRequest, "sourceGroupId");
101 boolean privateLayout = ParamUtil.getBoolean(
102 portletRequest, "privateLayout");
103 String remoteAddress = ParamUtil.getString(
104 portletRequest, "remoteAddress");
105 int remotePort = ParamUtil.getInteger(portletRequest, "remotePort");
106 String remotePathContext = ParamUtil.getString(
107 portletRequest, "remotePathContext");
108 boolean secureConnection = ParamUtil.getBoolean(
109 portletRequest, "secureConnection");
110 long remoteGroupId = ParamUtil.getLong(portletRequest, "remoteGroupId");
111
112 Map<String, String[]> parameterMap = getDefaultPublishingParameters(
113 portletRequest);
114
115 return buildDefaultRemotePublishingExportImportConfiguration(
116 themeDisplay.getUser(), sourceGroupId, privateLayout, remoteAddress,
117 remotePort, remotePathContext, secureConnection, remoteGroupId,
118 parameterMap);
119 }
120
121 public static ExportImportConfiguration
122 buildDefaultRemotePublishingExportImportConfiguration(
123 User user, long sourceGroupId, boolean privateLayout,
124 String remoteAddress, int remotePort, String remotePathContext,
125 boolean secureConnection, long remoteGroupId)
126 throws PortalException {
127
128 return buildDefaultRemotePublishingExportImportConfiguration(
129 user, sourceGroupId, privateLayout, remoteAddress, remotePort,
130 remotePathContext, secureConnection, remoteGroupId,
131 getDefaultPublishingParameters());
132 }
133
134 public static Map<String, String[]> getDefaultPublishingParameters(
135 PortletRequest portletRequest) {
136
137 Map<String, String[]> parameterMap =
138 ExportImportConfigurationParameterMapFactory.buildParameterMap(
139 portletRequest);
140
141 return addDefaultPublishingParameters(parameterMap);
142 }
143
144 protected static Map<String, String[]> addDefaultPublishingParameters(
145 Map<String, String[]> parameterMap) {
146
147 parameterMap.put(
148 PortletDataHandlerKeys.DELETIONS,
149 new String[] {Boolean.TRUE.toString()});
150 parameterMap.put(
151 PortletDataHandlerKeys.IGNORE_LAST_PUBLISH_DATE,
152 new String[] {Boolean.FALSE.toString()});
153 parameterMap.put(
154 PortletDataHandlerKeys.LAYOUT_SET_SETTINGS,
155 new String[] {Boolean.TRUE.toString()});
156 parameterMap.put(
157 PortletDataHandlerKeys.LOGO,
158 new String[] {Boolean.TRUE.toString()});
159 parameterMap.put(
160 PortletDataHandlerKeys.PERMISSIONS,
161 new String[] {Boolean.TRUE.toString()});
162 parameterMap.put(
163 PortletDataHandlerKeys.PORTLET_CONFIGURATION,
164 new String[] {Boolean.TRUE.toString()});
165 parameterMap.put(
166 PortletDataHandlerKeys.PORTLET_CONFIGURATION_ALL,
167 new String[] {Boolean.TRUE.toString()});
168 parameterMap.put(
169 PortletDataHandlerKeys.PORTLET_DATA,
170 new String[] {Boolean.TRUE.toString()});
171 parameterMap.put(
172 PortletDataHandlerKeys.PORTLET_DATA_ALL,
173 new String[] {Boolean.TRUE.toString()});
174 parameterMap.put(
175 PortletDataHandlerKeys.PORTLET_SETUP_ALL,
176 new String[] {Boolean.TRUE.toString()});
177 parameterMap.put(
178 ExportImportDateUtil.RANGE,
179 new String[] {ExportImportDateUtil.RANGE_FROM_LAST_PUBLISH_DATE});
180
181 return parameterMap;
182 }
183
184 protected static ExportImportConfiguration
185 buildDefaultRemotePublishingExportImportConfiguration(
186 User user, long sourceGroupId, boolean privateLayout,
187 String remoteAddress, int remotePort, String remotePathContext,
188 boolean secureConnection, long remoteGroupId,
189 Map<String, String[]> parameterMap)
190 throws PortalException {
191
192 Map<String, Serializable> publishLayoutRemoteSettingsMap =
193 ExportImportConfigurationSettingsMapFactory.
194 buildPublishLayoutRemoteSettingsMap(
195 user.getUserId(), sourceGroupId, privateLayout,
196 ExportImportHelperUtil.getAllLayoutIdsMap(
197 sourceGroupId, privateLayout),
198 parameterMap, remoteAddress, remotePort, remotePathContext,
199 secureConnection, remoteGroupId, privateLayout,
200 user.getLocale(), user.getTimeZone());
201
202 return ExportImportConfigurationLocalServiceUtil.
203 addDraftExportImportConfiguration(
204 user.getUserId(),
205 ExportImportConfigurationConstants.TYPE_PUBLISH_LAYOUT_REMOTE,
206 publishLayoutRemoteSettingsMap);
207 }
208
209 protected static Map<String, String[]> getDefaultPublishingParameters() {
210 Map<String, String[]> parameterMap =
211 ExportImportConfigurationParameterMapFactory.buildParameterMap();
212
213 return addDefaultPublishingParameters(parameterMap);
214 }
215
216 }