001
014
015 package com.liferay.portlet.exportimport.configuration;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.util.ParamUtil;
019 import com.liferay.portal.kernel.util.WebKeys;
020 import com.liferay.portal.model.User;
021 import com.liferay.portal.theme.ThemeDisplay;
022 import com.liferay.portlet.exportimport.lar.ExportImportDateUtil;
023 import com.liferay.portlet.exportimport.lar.ExportImportHelperUtil;
024 import com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys;
025 import com.liferay.portlet.exportimport.model.ExportImportConfiguration;
026 import com.liferay.portlet.exportimport.service.ExportImportConfigurationLocalServiceUtil;
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.PORTLET_CONFIGURATION,
161 new String[] {Boolean.TRUE.toString()});
162 parameterMap.put(
163 PortletDataHandlerKeys.PORTLET_CONFIGURATION_ALL,
164 new String[] {Boolean.TRUE.toString()});
165 parameterMap.put(
166 PortletDataHandlerKeys.PORTLET_DATA,
167 new String[] {Boolean.TRUE.toString()});
168 parameterMap.put(
169 PortletDataHandlerKeys.PORTLET_DATA_ALL,
170 new String[] {Boolean.TRUE.toString()});
171 parameterMap.put(
172 PortletDataHandlerKeys.PORTLET_SETUP_ALL,
173 new String[] {Boolean.TRUE.toString()});
174 parameterMap.put(
175 ExportImportDateUtil.RANGE,
176 new String[] {ExportImportDateUtil.RANGE_FROM_LAST_PUBLISH_DATE});
177
178 return parameterMap;
179 }
180
181 protected static ExportImportConfiguration
182 buildDefaultRemotePublishingExportImportConfiguration(
183 User user, long sourceGroupId, boolean privateLayout,
184 String remoteAddress, int remotePort, String remotePathContext,
185 boolean secureConnection, long remoteGroupId,
186 Map<String, String[]> parameterMap)
187 throws PortalException {
188
189 Map<String, Serializable> publishLayoutRemoteSettingsMap =
190 ExportImportConfigurationSettingsMapFactory.
191 buildPublishLayoutRemoteSettingsMap(
192 user.getUserId(), sourceGroupId, privateLayout,
193 ExportImportHelperUtil.getAllLayoutIdsMap(
194 sourceGroupId, privateLayout),
195 parameterMap, remoteAddress, remotePort, remotePathContext,
196 secureConnection, remoteGroupId, privateLayout,
197 user.getLocale(), user.getTimeZone());
198
199 return ExportImportConfigurationLocalServiceUtil.
200 addDraftExportImportConfiguration(
201 user.getUserId(),
202 ExportImportConfigurationConstants.TYPE_PUBLISH_LAYOUT_REMOTE,
203 publishLayoutRemoteSettingsMap);
204 }
205
206 protected static Map<String, String[]> getDefaultPublishingParameters() {
207 Map<String, String[]> parameterMap =
208 ExportImportConfigurationParameterMapFactory.buildParameterMap();
209
210 return addDefaultPublishingParameters(parameterMap);
211 }
212
213 }