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, String defaultRange)
054                    throws Exception {
055    
056                    return getExportImportHelper().getDateRange(
057                            portletRequest, groupId, privateLayout, plid, portletId,
058                            defaultRange);
059            }
060    
061            public static Layout getExportableLayout(ThemeDisplay themeDisplay)
062                    throws PortalException, SystemException {
063    
064                    return getExportImportHelper().getExportableLayout(themeDisplay);
065            }
066    
067            public static String getExportableRootPortletId(
068                            long companyId, String portletId)
069                    throws Exception {
070    
071                    return getExportImportHelper().getExportableRootPortletId(
072                            companyId, portletId);
073            }
074    
075            public static ExportImportHelper getExportImportHelper() {
076                    PortalRuntimePermission.checkGetBeanProperty(
077                            ExportImportHelperUtil.class);
078    
079                    return _exportImportHelper;
080            }
081    
082            public static Map<Long, Boolean> getLayoutIdMap(
083                            PortletRequest portletRequest)
084                    throws Exception {
085    
086                    return getExportImportHelper().getLayoutIdMap(portletRequest);
087            }
088    
089            public static long[] getLayoutIds(List<Layout> layouts) {
090                    return getExportImportHelper().getLayoutIds(layouts);
091            }
092    
093            public static ManifestSummary getManifestSummary(
094                            long userId, long groupId, Map<String, String[]> parameterMap,
095                            File file)
096                    throws Exception {
097    
098                    return getExportImportHelper().getManifestSummary(
099                            userId, groupId, parameterMap, file);
100            }
101    
102            public static ManifestSummary getManifestSummary(
103                            long userId, long groupId, Map<String, String[]> parameterMap,
104                            FileEntry fileEntry)
105                    throws Exception {
106    
107                    return getExportImportHelper().getManifestSummary(
108                            userId, groupId, parameterMap, fileEntry);
109            }
110    
111            public static long getModelDeletionCount(
112                            final PortletDataContext portletDataContext,
113                            final StagedModelType stagedModelType)
114                    throws PortalException, SystemException {
115    
116                    return getExportImportHelper().getModelDeletionCount(
117                            portletDataContext, stagedModelType);
118            }
119    
120            public static FileEntry getTempFileEntry(
121                            long groupId, long userId, String folderName)
122                    throws PortalException, SystemException {
123    
124                    return getExportImportHelper().getTempFileEntry(
125                            groupId, userId, folderName);
126            }
127    
128            public static String replaceExportContentReferences(
129                            PortletDataContext portletDataContext,
130                            StagedModel entityStagedModel, Element entityElement,
131                            String content, boolean exportReferencedContent)
132                    throws Exception {
133    
134                    return getExportImportHelper().replaceExportContentReferences(
135                            portletDataContext, entityStagedModel, entityElement, content,
136                            exportReferencedContent);
137            }
138    
139            public static String replaceExportDLReferences(
140                            PortletDataContext portletDataContext,
141                            StagedModel entityStagedModel, Element entityElement,
142                            String content, boolean exportReferencedContent)
143                    throws Exception {
144    
145                    return getExportImportHelper().replaceExportDLReferences(
146                            portletDataContext, entityStagedModel, entityElement, content,
147                            exportReferencedContent);
148            }
149    
150            public static String replaceExportLayoutReferences(
151                            PortletDataContext portletDataContext, String content,
152                            boolean exportReferencedContent)
153                    throws Exception {
154    
155                    return getExportImportHelper().replaceExportLayoutReferences(
156                            portletDataContext, content, exportReferencedContent);
157            }
158    
159            public static String replaceExportLinksToLayouts(
160                            PortletDataContext portletDataContext,
161                            StagedModel entityStagedModel, Element entityElement,
162                            String content, boolean exportReferencedContent)
163                    throws Exception {
164    
165                    return getExportImportHelper().replaceExportLinksToLayouts(
166                            portletDataContext, entityStagedModel, entityElement, content,
167                            exportReferencedContent);
168            }
169    
170            public static String replaceImportContentReferences(
171                            PortletDataContext portletDataContext, Element entityElement,
172                            String content, boolean importReferencedContent)
173                    throws Exception {
174    
175                    return getExportImportHelper().replaceImportContentReferences(
176                            portletDataContext, entityElement, content,
177                            importReferencedContent);
178            }
179    
180            public static String replaceImportDLReferences(
181                            PortletDataContext portletDataContext, Element entityElement,
182                            String content, boolean importReferencedContent)
183                    throws Exception {
184    
185                    return getExportImportHelper().replaceImportDLReferences(
186                            portletDataContext, entityElement, content,
187                            importReferencedContent);
188            }
189    
190            public static String replaceImportLayoutReferences(
191                            PortletDataContext portletDataContext, String content,
192                            boolean importReferencedContent)
193                    throws Exception {
194    
195                    return getExportImportHelper().replaceImportLayoutReferences(
196                            portletDataContext, content, importReferencedContent);
197            }
198    
199            public static String replaceImportLinksToLayouts(
200                            PortletDataContext portletDataContext, String content,
201                            boolean importReferencedContent)
202                    throws Exception {
203    
204                    return getExportImportHelper().replaceImportLinksToLayouts(
205                            portletDataContext, content, importReferencedContent);
206            }
207    
208            public static void updateExportPortletPreferencesClassPKs(
209                            PortletDataContext portletDataContext, Portlet portlet,
210                            PortletPreferences portletPreferences, String key, String className,
211                            Element rootElement)
212                    throws Exception {
213    
214                    getExportImportHelper().updateExportPortletPreferencesClassPKs(
215                            portletDataContext, portlet, portletPreferences, key, className,
216                            rootElement);
217            }
218    
219            public static void updateImportPortletPreferencesClassPKs(
220                            PortletDataContext portletDataContext,
221                            PortletPreferences portletPreferences, String key, Class<?> clazz,
222                            long companyGroupId)
223                    throws Exception {
224    
225                    getExportImportHelper().updateImportPortletPreferencesClassPKs(
226                            portletDataContext, portletPreferences, key, clazz, companyGroupId);
227            }
228    
229            public static MissingReferences validateMissingReferences(
230                            long userId, long groupId, Map<String, String[]> parameterMap,
231                            File file)
232                    throws Exception {
233    
234                    return getExportImportHelper().validateMissingReferences(
235                            userId, groupId, parameterMap, file);
236            }
237    
238            public static void writeManifestSummary(
239                    Document document, ManifestSummary manifestSummary) {
240    
241                    getExportImportHelper().writeManifestSummary(document, manifestSummary);
242            }
243    
244            public void setExportImportHelper(ExportImportHelper exportImportHelper) {
245                    PortalRuntimePermission.checkSetBeanProperty(getClass());
246    
247                    _exportImportHelper = exportImportHelper;
248            }
249    
250            private static ExportImportHelper _exportImportHelper;
251    
252    }