001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.kernel.lar;
016    
017    import com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.repository.model.FileEntry;
020    import com.liferay.portal.kernel.security.pacl.permission.PortalRuntimePermission;
021    import com.liferay.portal.kernel.util.DateRange;
022    import com.liferay.portal.kernel.xml.Document;
023    import com.liferay.portal.kernel.xml.Element;
024    import com.liferay.portal.model.Layout;
025    import com.liferay.portal.model.Portlet;
026    import com.liferay.portal.model.StagedModel;
027    import com.liferay.portal.theme.ThemeDisplay;
028    
029    import java.io.File;
030    
031    import java.util.Calendar;
032    import java.util.List;
033    import java.util.Map;
034    
035    import javax.portlet.PortletPreferences;
036    import javax.portlet.PortletRequest;
037    
038    /**
039     * @author Zsolt Berentey
040     */
041    public class ExportImportHelperUtil {
042    
043            public static Calendar getCalendar(
044                    PortletRequest portletRequest, String paramPrefix,
045                    boolean timeZoneSensitive) {
046    
047                    return getExportImportHelper().getCalendar(
048                            portletRequest, paramPrefix, timeZoneSensitive);
049            }
050    
051            public static DateRange getDateRange(
052                            PortletRequest portletRequest, long groupId, boolean privateLayout,
053                            long plid, String portletId)
054                    throws Exception {
055    
056                    return getExportImportHelper().getDateRange(
057                            portletRequest, groupId, privateLayout, plid, portletId);
058            }
059    
060            public static Layout getExportableLayout(ThemeDisplay themeDisplay)
061                    throws PortalException, SystemException {
062    
063                    return getExportImportHelper().getExportableLayout(themeDisplay);
064            }
065    
066            public static String getExportableRootPortletId(
067                            long companyId, String portletId)
068                    throws Exception {
069    
070                    return getExportImportHelper().getExportableRootPortletId(
071                            companyId, portletId);
072            }
073    
074            public static ExportImportHelper getExportImportHelper() {
075                    PortalRuntimePermission.checkGetBeanProperty(
076                            ExportImportHelperUtil.class);
077    
078                    return _exportImportHelper;
079            }
080    
081            public static Map<Long, Boolean> getLayoutIdMap(
082                            PortletRequest portletRequest)
083                    throws Exception {
084    
085                    return getExportImportHelper().getLayoutIdMap(portletRequest);
086            }
087    
088            public static long[] getLayoutIds(List<Layout> layouts) {
089                    return getExportImportHelper().getLayoutIds(layouts);
090            }
091    
092            public static ManifestSummary getManifestSummary(
093                            long userId, long groupId, Map<String, String[]> parameterMap,
094                            File file)
095                    throws Exception {
096    
097                    return getExportImportHelper().getManifestSummary(
098                            userId, groupId, parameterMap, file);
099            }
100    
101            public static ManifestSummary getManifestSummary(
102                            long userId, long groupId, Map<String, String[]> parameterMap,
103                            FileEntry fileEntry)
104                    throws Exception {
105    
106                    return getExportImportHelper().getManifestSummary(
107                            userId, groupId, parameterMap, fileEntry);
108            }
109    
110            public static long getModelDeletionCount(
111                            final PortletDataContext portletDataContext,
112                            final StagedModelType stagedModelType)
113                    throws PortalException, SystemException {
114    
115                    return getExportImportHelper().getModelDeletionCount(
116                            portletDataContext, stagedModelType);
117            }
118    
119            public static FileEntry getTempFileEntry(
120                            long groupId, long userId, String folderName)
121                    throws PortalException, SystemException {
122    
123                    return getExportImportHelper().getTempFileEntry(
124                            groupId, userId, folderName);
125            }
126    
127            public static String replaceExportContentReferences(
128                            PortletDataContext portletDataContext,
129                            StagedModel entityStagedModel, Element entityElement,
130                            String content, boolean exportReferencedContent)
131                    throws Exception {
132    
133                    return getExportImportHelper().replaceExportContentReferences(
134                            portletDataContext, entityStagedModel, entityElement, content,
135                            exportReferencedContent);
136            }
137    
138            public static String replaceExportDLReferences(
139                            PortletDataContext portletDataContext,
140                            StagedModel entityStagedModel, Element entityElement,
141                            String content, boolean exportReferencedContent)
142                    throws Exception {
143    
144                    return getExportImportHelper().replaceExportDLReferences(
145                            portletDataContext, entityStagedModel, entityElement, content,
146                            exportReferencedContent);
147            }
148    
149            public static String replaceExportLayoutReferences(
150                            PortletDataContext portletDataContext, String content,
151                            boolean exportReferencedContent)
152                    throws Exception {
153    
154                    return getExportImportHelper().replaceExportLayoutReferences(
155                            portletDataContext, content, exportReferencedContent);
156            }
157    
158            public static String replaceExportLinksToLayouts(
159                            PortletDataContext portletDataContext,
160                            StagedModel entityStagedModel, Element entityElement,
161                            String content, boolean exportReferencedContent)
162                    throws Exception {
163    
164                    return getExportImportHelper().replaceExportLinksToLayouts(
165                            portletDataContext, entityStagedModel, entityElement, content,
166                            exportReferencedContent);
167            }
168    
169            public static String replaceImportContentReferences(
170                            PortletDataContext portletDataContext, Element entityElement,
171                            String content, boolean importReferencedContent)
172                    throws Exception {
173    
174                    return getExportImportHelper().replaceImportContentReferences(
175                            portletDataContext, entityElement, content,
176                            importReferencedContent);
177            }
178    
179            public static String replaceImportDLReferences(
180                            PortletDataContext portletDataContext, Element entityElement,
181                            String content, boolean importReferencedContent)
182                    throws Exception {
183    
184                    return getExportImportHelper().replaceImportDLReferences(
185                            portletDataContext, entityElement, content,
186                            importReferencedContent);
187            }
188    
189            public static String replaceImportLayoutReferences(
190                            PortletDataContext portletDataContext, String content,
191                            boolean importReferencedContent)
192                    throws Exception {
193    
194                    return getExportImportHelper().replaceImportLayoutReferences(
195                            portletDataContext, content, importReferencedContent);
196            }
197    
198            public static String replaceImportLinksToLayouts(
199                            PortletDataContext portletDataContext, String content,
200                            boolean importReferencedContent)
201                    throws Exception {
202    
203                    return getExportImportHelper().replaceImportLinksToLayouts(
204                            portletDataContext, content, importReferencedContent);
205            }
206    
207            public static void updateExportPortletPreferencesClassPKs(
208                            PortletDataContext portletDataContext, Portlet portlet,
209                            PortletPreferences portletPreferences, String key, String className,
210                            Element rootElement)
211                    throws Exception {
212    
213                    getExportImportHelper().updateExportPortletPreferencesClassPKs(
214                            portletDataContext, portlet, portletPreferences, key, className,
215                            rootElement);
216            }
217    
218            public static void updateImportPortletPreferencesClassPKs(
219                            PortletDataContext portletDataContext,
220                            PortletPreferences portletPreferences, String key, Class<?> clazz,
221                            long companyGroupId)
222                    throws Exception {
223    
224                    getExportImportHelper().updateImportPortletPreferencesClassPKs(
225                            portletDataContext, portletPreferences, key, clazz, companyGroupId);
226            }
227    
228            public static MissingReferences validateMissingReferences(
229                            long userId, long groupId, Map<String, String[]> parameterMap,
230                            File file)
231                    throws Exception {
232    
233                    return getExportImportHelper().validateMissingReferences(
234                            userId, groupId, parameterMap, file);
235            }
236    
237            public static void writeManifestSummary(
238                    Document document, ManifestSummary manifestSummary) {
239    
240                    getExportImportHelper().writeManifestSummary(document, manifestSummary);
241            }
242    
243            public void setExportImportHelper(ExportImportHelper exportImportHelper) {
244                    PortalRuntimePermission.checkSetBeanProperty(getClass());
245    
246                    _exportImportHelper = exportImportHelper;
247            }
248    
249            private static ExportImportHelper _exportImportHelper;
250    
251    }