001    /**
002     * Copyright (c) 2000-present 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 aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.exception.PortalException;
020    import com.liferay.portal.kernel.repository.model.FileEntry;
021    import com.liferay.portal.kernel.security.pacl.permission.PortalRuntimePermission;
022    import com.liferay.portal.kernel.util.DateRange;
023    import com.liferay.portal.kernel.xml.Document;
024    import com.liferay.portal.kernel.xml.Element;
025    import com.liferay.portal.model.Layout;
026    import com.liferay.portal.model.Portlet;
027    import com.liferay.portal.model.StagedModel;
028    import com.liferay.portal.theme.ThemeDisplay;
029    
030    import java.io.File;
031    
032    import java.util.Calendar;
033    import java.util.List;
034    import java.util.Map;
035    
036    import javax.portlet.PortletPreferences;
037    import javax.portlet.PortletRequest;
038    
039    /**
040     * @author Zsolt Berentey
041     */
042    @ProviderType
043    public class ExportImportHelperUtil {
044    
045            /**
046             * @deprecated As of 7.0.0, moved to {@link
047             *             ExportImportDateUtil#getCalendar(PortletRequest, String,
048             *             boolean)}
049             */
050            @Deprecated
051            public static Calendar getCalendar(
052                    PortletRequest portletRequest, String paramPrefix,
053                    boolean timeZoneSensitive) {
054    
055                    return getExportImportHelper().getCalendar(
056                            portletRequest, paramPrefix, timeZoneSensitive);
057            }
058    
059            /**
060             * @deprecated As of 7.0.0, moved to {@link
061             *             ExportImportDateUtil#getDateRange(PortletRequest, long,
062             *             boolean, long, String, String)}
063             */
064            @Deprecated
065            public static DateRange getDateRange(
066                            PortletRequest portletRequest, long groupId, boolean privateLayout,
067                            long plid, String portletId, String defaultRange)
068                    throws Exception {
069    
070                    return getExportImportHelper().getDateRange(
071                            portletRequest, groupId, privateLayout, plid, portletId,
072                            defaultRange);
073            }
074    
075            public static Layout getExportableLayout(ThemeDisplay themeDisplay)
076                    throws PortalException {
077    
078                    return getExportImportHelper().getExportableLayout(themeDisplay);
079            }
080    
081            public static String getExportableRootPortletId(
082                            long companyId, String portletId)
083                    throws Exception {
084    
085                    return getExportImportHelper().getExportableRootPortletId(
086                            companyId, portletId);
087            }
088    
089            public static ExportImportHelper getExportImportHelper() {
090                    PortalRuntimePermission.checkGetBeanProperty(
091                            ExportImportHelperUtil.class);
092    
093                    return _exportImportHelper;
094            }
095    
096            /**
097             * @deprecated As of 7.0.0, replaced by {@link
098             *             #getExportPortletControlsMap(long, String, Map)}
099             */
100            @Deprecated
101            public static boolean[] getExportPortletControls(
102                            long companyId, String portletId,
103                            Map<String, String[]> parameterMap)
104                    throws Exception {
105    
106                    return getExportImportHelper().getExportPortletControls(
107                            companyId, portletId, parameterMap);
108            }
109    
110            /**
111             * @deprecated As of 7.0.0, replaced by {@link
112             *             #getExportPortletControlsMap(long, String, Map, String)}
113             */
114            @Deprecated
115            public static boolean[] getExportPortletControls(
116                            long companyId, String portletId,
117                            Map<String, String[]> parameterMap, String type)
118                    throws Exception {
119    
120                    return getExportImportHelper().getExportPortletControls(
121                            companyId, portletId, parameterMap, type);
122            }
123    
124            public static Map<String, Boolean> getExportPortletControlsMap(
125                            long companyId, String portletId,
126                            Map<String, String[]> parameterMap)
127                    throws Exception {
128    
129                    return getExportImportHelper().getExportPortletControlsMap(
130                            companyId, portletId, parameterMap);
131            }
132    
133            public static Map<String, Boolean> getExportPortletControlsMap(
134                            long companyId, String portletId,
135                            Map<String, String[]> parameterMap, String type)
136                    throws Exception {
137    
138                    return getExportImportHelper().getExportPortletControlsMap(
139                            companyId, portletId, parameterMap, type);
140            }
141    
142            /**
143             * @deprecated As of 7.0.0, replaced by {@link
144             *             #getImportPortletControlsMap(long, String, Map, Element,
145             *             ManifestSummary)}
146             */
147            @Deprecated
148            public static boolean[] getImportPortletControls(
149                            long companyId, String portletId,
150                            Map<String, String[]> parameterMap, Element portletDataElement)
151                    throws Exception {
152    
153                    return getExportImportHelper().getImportPortletControls(
154                            companyId, portletId, parameterMap, portletDataElement);
155            }
156    
157            /**
158             * @deprecated As of 7.0.0, replaced by {@link
159             *             #getImportPortletControlsMap(long, String, Map, Element,
160             *             ManifestSummary)}
161             */
162            @Deprecated
163            public static boolean[] getImportPortletControls(
164                            long companyId, String portletId,
165                            Map<String, String[]> parameterMap, Element portletDataElement,
166                            ManifestSummary manifestSummary)
167                    throws Exception {
168    
169                    return getExportImportHelper().getImportPortletControls(
170                            companyId, portletId, parameterMap, portletDataElement,
171                            manifestSummary);
172            }
173    
174            public static Map<String, Boolean> getImportPortletControlsMap(
175                            long companyId, String portletId,
176                            Map<String, String[]> parameterMap, Element portletDataElement,
177                            ManifestSummary manifestSummary)
178                    throws Exception {
179    
180                    return getExportImportHelper().getImportPortletControlsMap(
181                            companyId, portletId, parameterMap, portletDataElement,
182                            manifestSummary);
183            }
184    
185            public static Map<Long, Boolean> getLayoutIdMap(
186                            PortletRequest portletRequest)
187                    throws PortalException {
188    
189                    return getExportImportHelper().getLayoutIdMap(portletRequest);
190            }
191    
192            public static long[] getLayoutIds(List<Layout> layouts) {
193                    return getExportImportHelper().getLayoutIds(layouts);
194            }
195    
196            public static long[] getLayoutIds(Map<Long, Boolean> layoutIdMap)
197                    throws PortalException {
198    
199                    return getExportImportHelper().getLayoutIds(layoutIdMap);
200            }
201    
202            public static long[] getLayoutIds(
203                            Map<Long, Boolean> layoutIdMap, long targetGroupId)
204                    throws PortalException {
205    
206                    return getExportImportHelper().getLayoutIds(layoutIdMap, targetGroupId);
207            }
208    
209            public static long[] getLayoutIds(PortletRequest portletRequest)
210                    throws PortalException {
211    
212                    return getExportImportHelper().getLayoutIds(portletRequest);
213            }
214    
215            public static long[] getLayoutIds(
216                            PortletRequest portletRequest, long targetGroupId)
217                    throws PortalException {
218    
219                    return getExportImportHelper().getLayoutIds(
220                            portletRequest, targetGroupId);
221            }
222    
223            /**
224             * @deprecated As of 7.0.0, replaced by {@link
225             *             #getManifestSummary(PortletDataContext)}
226             */
227            @Deprecated
228            public static ManifestSummary getManifestSummary(
229                            long userId, long groupId, Map<String, String[]> parameterMap,
230                            File file)
231                    throws Exception {
232    
233                    return getExportImportHelper().getManifestSummary(
234                            userId, groupId, parameterMap, file);
235            }
236    
237            public static ManifestSummary getManifestSummary(
238                            long userId, long groupId, Map<String, String[]> parameterMap,
239                            FileEntry fileEntry)
240                    throws Exception {
241    
242                    return getExportImportHelper().getManifestSummary(
243                            userId, groupId, parameterMap, fileEntry);
244            }
245    
246            public static ManifestSummary getManifestSummary(
247                            PortletDataContext portletDataContext)
248                    throws Exception {
249    
250                    return getExportImportHelper().getManifestSummary(portletDataContext);
251            }
252    
253            public static List<Layout> getMissingParentLayouts(
254                            Layout layout, long liveGroupId)
255                    throws PortalException {
256    
257                    return getExportImportHelper().getMissingParentLayouts(
258                            layout, liveGroupId);
259            }
260    
261            public static long getModelDeletionCount(
262                            final PortletDataContext portletDataContext,
263                            final StagedModelType stagedModelType)
264                    throws PortalException {
265    
266                    return getExportImportHelper().getModelDeletionCount(
267                            portletDataContext, stagedModelType);
268            }
269    
270            public static String getSelectedLayoutsJSON(
271                    long groupId, boolean privateLayout, String selectedNodes) {
272    
273                    return getExportImportHelper().getSelectedLayoutsJSON(
274                            groupId, privateLayout, selectedNodes);
275            }
276    
277            public static FileEntry getTempFileEntry(
278                            long groupId, long userId, String folderName)
279                    throws PortalException {
280    
281                    return getExportImportHelper().getTempFileEntry(
282                            groupId, userId, folderName);
283            }
284    
285            public static UserIdStrategy getUserIdStrategy(
286                            long userId, String userIdStrategy)
287                    throws PortalException {
288    
289                    return getExportImportHelper().getUserIdStrategy(
290                            userId, userIdStrategy);
291            }
292    
293            public static boolean isReferenceWithinExportScope(
294                    PortletDataContext portletDataContext, StagedModel stagedModel) {
295    
296                    return getExportImportHelper().isReferenceWithinExportScope(
297                            portletDataContext, stagedModel);
298            }
299    
300            /**
301             * @deprecated As of 7.0.0, replaced by {@link
302             *             #replaceExportContentReferences(PortletDataContext,
303             *             StagedModel, String, boolean)}
304             */
305            @Deprecated
306            public static String replaceExportContentReferences(
307                            PortletDataContext portletDataContext,
308                            StagedModel entityStagedModel, Element entityElement,
309                            String content, boolean exportReferencedContent)
310                    throws Exception {
311    
312                    return getExportImportHelper().replaceExportContentReferences(
313                            portletDataContext, entityStagedModel, entityElement, content,
314                            exportReferencedContent);
315            }
316    
317            public static String replaceExportContentReferences(
318                            PortletDataContext portletDataContext,
319                            StagedModel entityStagedModel, String content,
320                            boolean exportReferencedContent)
321                    throws Exception {
322    
323                    return getExportImportHelper().replaceExportContentReferences(
324                            portletDataContext, entityStagedModel, content,
325                            exportReferencedContent);
326            }
327    
328            /**
329             * @deprecated As of 7.0.0, replaced by {@link
330             *             #replaceExportDLReferences(PortletDataContext, StagedModel,
331             *             String, boolean)}
332             */
333            @Deprecated
334            public static String replaceExportDLReferences(
335                            PortletDataContext portletDataContext,
336                            StagedModel entityStagedModel, Element entityElement,
337                            String content, boolean exportReferencedContent)
338                    throws Exception {
339    
340                    return getExportImportHelper().replaceExportDLReferences(
341                            portletDataContext, entityStagedModel, entityElement, content,
342                            exportReferencedContent);
343            }
344    
345            public static String replaceExportDLReferences(
346                            PortletDataContext portletDataContext,
347                            StagedModel entityStagedModel, String content,
348                            boolean exportReferencedContent)
349                    throws Exception {
350    
351                    return getExportImportHelper().replaceExportDLReferences(
352                            portletDataContext, entityStagedModel, content,
353                            exportReferencedContent);
354            }
355    
356            public static String replaceExportLayoutReferences(
357                            PortletDataContext portletDataContext, String content)
358                    throws Exception {
359    
360                    return getExportImportHelper().replaceExportLayoutReferences(
361                            portletDataContext, content);
362            }
363    
364            /**
365             * @deprecated As of 7.0.0, replaced by {@link
366             *             #replaceExportLayoutReferences(PortletDataContext, String)}
367             */
368            @Deprecated
369            public static String replaceExportLayoutReferences(
370                            PortletDataContext portletDataContext, String content,
371                            boolean exportReferencedContent)
372                    throws Exception {
373    
374                    return getExportImportHelper().replaceExportLayoutReferences(
375                            portletDataContext, content, exportReferencedContent);
376            }
377    
378            /**
379             * @deprecated As of 7.0.0, replaced by {@link
380             *             #replaceExportLinksToLayouts(PortletDataContext, StagedModel,
381             *             String)}
382             */
383            @Deprecated
384            public static String replaceExportLinksToLayouts(
385                            PortletDataContext portletDataContext,
386                            StagedModel entityStagedModel, Element entityElement,
387                            String content, boolean exportReferencedContent)
388                    throws Exception {
389    
390                    return getExportImportHelper().replaceExportLinksToLayouts(
391                            portletDataContext, entityStagedModel, entityElement, content,
392                            exportReferencedContent);
393            }
394    
395            public static String replaceExportLinksToLayouts(
396                            PortletDataContext portletDataContext,
397                            StagedModel entityStagedModel, String content)
398                    throws Exception {
399    
400                    return getExportImportHelper().replaceExportLinksToLayouts(
401                            portletDataContext, entityStagedModel, content);
402            }
403    
404            /**
405             * @deprecated As of 7.0.0, replaced by {@link
406             *             #replaceImportContentReferences(PortletDataContext,
407             *             StagedModel, String)}
408             */
409            @Deprecated
410            public static String replaceImportContentReferences(
411                            PortletDataContext portletDataContext, Element entityElement,
412                            String content, boolean importReferencedContent)
413                    throws Exception {
414    
415                    return getExportImportHelper().replaceImportContentReferences(
416                            portletDataContext, entityElement, content,
417                            importReferencedContent);
418            }
419    
420            public static String replaceImportContentReferences(
421                            PortletDataContext portletDataContext,
422                            StagedModel entityStagedModel, String content)
423                    throws Exception {
424    
425                    return getExportImportHelper().replaceImportContentReferences(
426                            portletDataContext, entityStagedModel, content);
427            }
428    
429            /**
430             * @deprecated As of 7.0.0, replaced by {@link
431             *             #replaceImportDLReferences(PortletDataContext, StagedModel,
432             *             String)}
433             */
434            @Deprecated
435            public static String replaceImportDLReferences(
436                            PortletDataContext portletDataContext, Element entityElement,
437                            String content, boolean importReferencedContent)
438                    throws Exception {
439    
440                    return getExportImportHelper().replaceImportDLReferences(
441                            portletDataContext, entityElement, content,
442                            importReferencedContent);
443            }
444    
445            public static String replaceImportDLReferences(
446                            PortletDataContext portletDataContext,
447                            StagedModel entityStagedModel, String content)
448                    throws Exception {
449    
450                    return getExportImportHelper().replaceImportDLReferences(
451                            portletDataContext, entityStagedModel, content);
452            }
453    
454            public static String replaceImportLayoutReferences(
455                            PortletDataContext portletDataContext, String content)
456                    throws Exception {
457    
458                    return getExportImportHelper().replaceImportLayoutReferences(
459                            portletDataContext, content);
460            }
461    
462            /**
463             * @deprecated As of 7.0.0, replaced by {@link
464             *             #replaceImportLayoutReferences(PortletDataContext, String)}
465             */
466            @Deprecated
467            public static String replaceImportLayoutReferences(
468                            PortletDataContext portletDataContext, String content,
469                            boolean importReferencedContent)
470                    throws Exception {
471    
472                    return getExportImportHelper().replaceImportLayoutReferences(
473                            portletDataContext, content, importReferencedContent);
474            }
475    
476            public static String replaceImportLinksToLayouts(
477                            PortletDataContext portletDataContext, String content)
478                    throws Exception {
479    
480                    return getExportImportHelper().replaceImportLinksToLayouts(
481                            portletDataContext, content);
482            }
483    
484            /**
485             * @deprecated As of 7.0.0, replaced by {@link
486             *             #replaceImportLinksToLayouts(PortletDataContext, String)}
487             */
488            @Deprecated
489            public static String replaceImportLinksToLayouts(
490                            PortletDataContext portletDataContext, String content,
491                            boolean importReferencedContent)
492                    throws Exception {
493    
494                    return getExportImportHelper().replaceImportLinksToLayouts(
495                            portletDataContext, content, importReferencedContent);
496            }
497    
498            public static void updateExportPortletPreferencesClassPKs(
499                            PortletDataContext portletDataContext, Portlet portlet,
500                            PortletPreferences portletPreferences, String key, String className)
501                    throws Exception {
502    
503                    getExportImportHelper().updateExportPortletPreferencesClassPKs(
504                            portletDataContext, portlet, portletPreferences, key, className);
505            }
506    
507            /**
508             * @deprecated As of 7.0.0, replaced by {@link
509             *             #updateExportPortletPreferencesClassPKs(PortletDataContext,
510             *             Portlet, PortletPreferences, String, String)}
511             */
512            @Deprecated
513            public static void updateExportPortletPreferencesClassPKs(
514                            PortletDataContext portletDataContext, Portlet portlet,
515                            PortletPreferences portletPreferences, String key, String className,
516                            Element rootElement)
517                    throws Exception {
518    
519                    getExportImportHelper().updateExportPortletPreferencesClassPKs(
520                            portletDataContext, portlet, portletPreferences, key, className,
521                            rootElement);
522            }
523    
524            public static void updateImportPortletPreferencesClassPKs(
525                            PortletDataContext portletDataContext,
526                            PortletPreferences portletPreferences, String key, Class<?> clazz,
527                            long companyGroupId)
528                    throws Exception {
529    
530                    getExportImportHelper().updateImportPortletPreferencesClassPKs(
531                            portletDataContext, portletPreferences, key, clazz, companyGroupId);
532            }
533    
534            /**
535             * @deprecated As of 7.0.0, replaced by {@link
536             *             #validateMissingReferences(PortletDataContext)}
537             */
538            @Deprecated
539            public static MissingReferences validateMissingReferences(
540                            long userId, long groupId, Map<String, String[]> parameterMap,
541                            File file)
542                    throws Exception {
543    
544                    return getExportImportHelper().validateMissingReferences(
545                            userId, groupId, parameterMap, file);
546            }
547    
548            public static MissingReferences validateMissingReferences(
549                            final PortletDataContext portletDataContext)
550                    throws Exception {
551    
552                    return getExportImportHelper().validateMissingReferences(
553                            portletDataContext);
554            }
555    
556            public static void writeManifestSummary(
557                    Document document, ManifestSummary manifestSummary) {
558    
559                    getExportImportHelper().writeManifestSummary(document, manifestSummary);
560            }
561    
562            public void setExportImportHelper(ExportImportHelper exportImportHelper) {
563                    PortalRuntimePermission.checkSetBeanProperty(getClass());
564    
565                    _exportImportHelper = exportImportHelper;
566            }
567    
568            private static ExportImportHelper _exportImportHelper;
569    
570    }