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.service;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.exportimport.kernel.lar.MissingReferences;
020    import com.liferay.exportimport.kernel.model.ExportImportConfiguration;
021    
022    import com.liferay.portal.kernel.cache.thread.local.ThreadLocalCachable;
023    import com.liferay.portal.kernel.exception.PortalException;
024    import com.liferay.portal.kernel.exception.SystemException;
025    import com.liferay.portal.kernel.jsonwebservice.JSONWebService;
026    import com.liferay.portal.kernel.model.Layout;
027    import com.liferay.portal.kernel.model.LayoutReference;
028    import com.liferay.portal.kernel.repository.model.FileEntry;
029    import com.liferay.portal.kernel.security.access.control.AccessControlled;
030    import com.liferay.portal.kernel.transaction.Isolation;
031    import com.liferay.portal.kernel.transaction.Propagation;
032    import com.liferay.portal.kernel.transaction.Transactional;
033    
034    import java.io.File;
035    import java.io.InputStream;
036    
037    import java.util.Date;
038    import java.util.List;
039    import java.util.Locale;
040    import java.util.Map;
041    
042    /**
043     * Provides the remote service interface for Layout. Methods of this
044     * service are expected to have security checks based on the propagated JAAS
045     * credentials because this service can be accessed remotely.
046     *
047     * @author Brian Wing Shun Chan
048     * @see LayoutServiceUtil
049     * @see com.liferay.portal.service.base.LayoutServiceBaseImpl
050     * @see com.liferay.portal.service.impl.LayoutServiceImpl
051     * @generated
052     */
053    @AccessControlled
054    @JSONWebService
055    @ProviderType
056    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
057            PortalException.class, SystemException.class})
058    public interface LayoutService extends BaseService {
059            /*
060             * NOTE FOR DEVELOPERS:
061             *
062             * Never modify or reference this interface directly. Always use {@link LayoutServiceUtil} to access the layout remote service. Add custom service methods to {@link com.liferay.portal.service.impl.LayoutServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
063             */
064    
065            /**
066            * Adds a layout with additional parameters.
067            *
068            * <p>
069            * This method handles the creation of the layout including its resources,
070            * metadata, and internal data structures. It is not necessary to make
071            * subsequent calls to any methods to setup default groups, resources, ...
072            * etc.
073            * </p>
074            *
075            * @param groupId the primary key of the group
076            * @param privateLayout whether the layout is private to the group
077            * @param parentLayoutId the primary key of the parent layout (optionally
078            {@link LayoutConstants#DEFAULT_PARENT_LAYOUT_ID})
079            * @param localeNamesMap the layout's locales and localized names
080            * @param localeTitlesMap the layout's locales and localized titles
081            * @param descriptionMap the layout's locales and localized descriptions
082            * @param keywordsMap the layout's locales and localized keywords
083            * @param robotsMap the layout's locales and localized robots
084            * @param type the layout's type (optionally {@link
085            LayoutConstants#TYPE_PORTLET}). The possible types can be found
086            in {@link LayoutConstants}.
087            * @param typeSettings the settings to load the unicode properties object.
088            See {@link com.liferay.portal.kernel.util.UnicodeProperties
089            #fastLoad(String)}.
090            * @param hidden whether the layout is hidden
091            * @param friendlyURLMap the layout's locales and localized friendly URLs.
092            To see how the URL is normalized when accessed, see {@link
093            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
094            String)}.
095            * @param serviceContext the service context to be applied. Must set the
096            UUID for the layout. Can set the creation date, modification
097            date, and expando bridge attributes for the layout. For layouts
098            that belong to a layout set prototype, an attribute named
099            <code>layoutUpdateable</code> can be used to specify whether site
100            administrators can modify this page within their site.
101            * @return the layout
102            */
103            public Layout addLayout(long groupId, boolean privateLayout,
104                    long parentLayoutId, Map<Locale, java.lang.String> localeNamesMap,
105                    Map<Locale, java.lang.String> localeTitlesMap,
106                    Map<Locale, java.lang.String> descriptionMap,
107                    Map<Locale, java.lang.String> keywordsMap,
108                    Map<Locale, java.lang.String> robotsMap, java.lang.String type,
109                    java.lang.String typeSettings, boolean hidden,
110                    Map<Locale, java.lang.String> friendlyURLMap,
111                    com.liferay.portal.kernel.service.ServiceContext serviceContext)
112                    throws PortalException;
113    
114            /**
115            * Adds a layout with single entry maps for name, title, and description to
116            * the default locale.
117            *
118            * <p>
119            * This method handles the creation of the layout including its resources,
120            * metadata, and internal data structures. It is not necessary to make
121            * subsequent calls to any methods to setup default groups, resources, ...
122            * etc.
123            * </p>
124            *
125            * @param groupId the primary key of the group
126            * @param privateLayout whether the layout is private to the group
127            * @param parentLayoutId the primary key of the parent layout (optionally
128            {@link LayoutConstants#DEFAULT_PARENT_LAYOUT_ID})
129            * @param name the layout's locales and localized names
130            * @param title the layout's locales and localized titles
131            * @param description the layout's locales and localized descriptions
132            * @param type the layout's type (optionally {@link
133            LayoutConstants#TYPE_PORTLET}). The possible types can be found
134            in {@link LayoutConstants}.
135            * @param hidden whether the layout is hidden
136            * @param friendlyURL the layout's locales and localized friendly URLs. To
137            see how the URL is normalized when accessed, see {@link
138            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
139            String)}.
140            * @param serviceContext the service context to be applied. Must set the
141            UUID for the layout. Can specify the creation date, modification
142            date, and expando bridge attributes for the layout. For layouts
143            that belong to a layout set prototype, an attribute named
144            <code>layoutUpdateable</code> can be used to specify whether site
145            administrators can modify this page within their site.
146            * @return the layout
147            */
148            public Layout addLayout(long groupId, boolean privateLayout,
149                    long parentLayoutId, java.lang.String name, java.lang.String title,
150                    java.lang.String description, java.lang.String type, boolean hidden,
151                    java.lang.String friendlyURL,
152                    com.liferay.portal.kernel.service.ServiceContext serviceContext)
153                    throws PortalException;
154    
155            public FileEntry addTempFileEntry(long groupId,
156                    java.lang.String folderName, java.lang.String fileName,
157                    InputStream inputStream, java.lang.String mimeType)
158                    throws PortalException;
159    
160            /**
161            * Deletes the layout with the primary key, also deleting the layout's child
162            * layouts, and associated resources.
163            *
164            * @param groupId the primary key of the group
165            * @param privateLayout whether the layout is private to the group
166            * @param layoutId the primary key of the layout
167            * @param serviceContext the service context to be applied
168            */
169            public void deleteLayout(long groupId, boolean privateLayout,
170                    long layoutId,
171                    com.liferay.portal.kernel.service.ServiceContext serviceContext)
172                    throws PortalException;
173    
174            /**
175            * Deletes the layout with the plid, also deleting the layout's child
176            * layouts, and associated resources.
177            *
178            * @param plid the primary key of the layout
179            * @param serviceContext the service context to be applied
180            */
181            public void deleteLayout(long plid,
182                    com.liferay.portal.kernel.service.ServiceContext serviceContext)
183                    throws PortalException;
184    
185            public void deleteTempFileEntry(long groupId, java.lang.String folderName,
186                    java.lang.String fileName) throws PortalException;
187    
188            /**
189            * Exports the layouts that match the primary keys and the criteria as a
190            * byte array.
191            *
192            * @param groupId the primary key of the group
193            * @param privateLayout whether the layout is private to the group
194            * @param layoutIds the primary keys of the layouts to be exported
195            * @param parameterMap the mapping of parameters indicating which
196            information to export. For information on the keys used in
197            the map see {@link
198            com.liferay.exportimport.kernel.lar.PortletDataHandlerKeys}.
199            * @param startDate the export's start date
200            * @param endDate the export's end date
201            * @return the layouts as a byte array
202            * @deprecated As of 7.0.0, with no direct replacement
203            */
204            @java.lang.Deprecated
205            public byte[] exportLayouts(long groupId, boolean privateLayout,
206                    long[] layoutIds,
207                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
208                    Date endDate) throws PortalException;
209    
210            /**
211            * Exports all layouts that match the criteria as a byte array.
212            *
213            * @param groupId the primary key of the group
214            * @param privateLayout whether the layout is private to the group
215            * @param parameterMap the mapping of parameters indicating which
216            information to export. For information on the keys used in
217            the map see {@link
218            com.liferay.exportimport.kernel.lar.PortletDataHandlerKeys}.
219            * @param startDate the export's start date
220            * @param endDate the export's end date
221            * @return the layout as a byte array
222            * @deprecated As of 7.0.0, with no direct replacement
223            */
224            @java.lang.Deprecated
225            public byte[] exportLayouts(long groupId, boolean privateLayout,
226                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
227                    Date endDate) throws PortalException;
228    
229            /**
230            * @deprecated As of 7.0.0, replaced by {@link
231            com.liferay.exportimport.kernel.service.ExportImportService#exportLayoutsAsFile(
232            ExportImportConfiguration)}
233            */
234            @java.lang.Deprecated
235            public File exportLayoutsAsFile(
236                    ExportImportConfiguration exportImportConfiguration)
237                    throws PortalException;
238    
239            /**
240            * Exports all layouts that match the primary keys and criteria as a file.
241            *
242            * @param groupId the primary key of the group
243            * @param privateLayout whether the layout is private to the group
244            * @param layoutIds the primary keys of the layouts to be exported
245            (optionally <code>null</code>)
246            * @param parameterMap the mapping of parameters indicating which
247            information to export. For information on the keys used in
248            the map see {@link
249            com.liferay.exportimport.kernel.lar.PortletDataHandlerKeys}.
250            * @param startDate the export's start date
251            * @param endDate the export's end date
252            * @return the layouts as a File
253            * @deprecated As of 7.0.0, with no direct replacement
254            */
255            @java.lang.Deprecated
256            public File exportLayoutsAsFile(long groupId, boolean privateLayout,
257                    long[] layoutIds,
258                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
259                    Date endDate) throws PortalException;
260    
261            /**
262            * @deprecated As of 7.0.0, replaced by {@link
263            com.liferay.exportimport.kernel.service.ExportImportService#exportLayoutsAsFileInBackground(
264            ExportImportConfiguration)}
265            */
266            @java.lang.Deprecated
267            public long exportLayoutsAsFileInBackground(
268                    ExportImportConfiguration exportImportConfiguration)
269                    throws PortalException;
270    
271            /**
272            * @deprecated As of 7.0.0, replaced by {@link
273            com.liferay.exportimport.kernel.service.ExportImportService#exportLayoutsAsFileInBackground(
274            long)}
275            */
276            @java.lang.Deprecated
277            public long exportLayoutsAsFileInBackground(
278                    long exportImportConfigurationId) throws PortalException;
279    
280            /**
281            * @deprecated As of 7.0.0, with no direct replacement
282            */
283            @java.lang.Deprecated
284            public long exportLayoutsAsFileInBackground(java.lang.String taskName,
285                    long groupId, boolean privateLayout, long[] layoutIds,
286                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
287                    Date endDate) throws PortalException;
288    
289            /**
290            * @deprecated As of 7.0.0, with no direct replacement
291            */
292            @java.lang.Deprecated
293            public long exportLayoutsAsFileInBackground(java.lang.String taskName,
294                    long groupId, boolean privateLayout, long[] layoutIds,
295                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
296                    Date endDate, java.lang.String fileName) throws PortalException;
297    
298            /**
299            * @deprecated As of 7.0.0, with no direct replacement
300            */
301            @java.lang.Deprecated
302            public byte[] exportPortletInfo(long companyId, java.lang.String portletId,
303                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
304                    Date endDate) throws PortalException;
305    
306            /**
307            * Exports the portlet information (categories, permissions, ... etc.) as a
308            * byte array.
309            *
310            * @param plid the primary key of the layout
311            * @param groupId the primary key of the group
312            * @param portletId the primary key of the portlet
313            * @param parameterMap the mapping of parameters indicating which
314            information to export. For information on the keys used in
315            the map see {@link
316            com.liferay.exportimport.kernel.lar.PortletDataHandlerKeys}.
317            * @param startDate the export's start date
318            * @param endDate the export's end date
319            * @return the portlet information as a byte array
320            * @deprecated As of 7.0.0, with no direct replacement
321            */
322            @java.lang.Deprecated
323            public byte[] exportPortletInfo(long plid, long groupId,
324                    java.lang.String portletId,
325                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
326                    Date endDate) throws PortalException;
327    
328            /**
329            * @deprecated As of 7.0.0, replaced by {@link
330            com.liferay.exportimport.kernel.service.ExportImportService#exportPortletInfoAsFile(
331            ExportImportConfiguration)}
332            */
333            @java.lang.Deprecated
334            public File exportPortletInfoAsFile(
335                    ExportImportConfiguration exportImportConfiguration)
336                    throws PortalException;
337    
338            /**
339            * Exports the portlet information (categories, permissions, ... etc.) as a
340            * file.
341            *
342            * @param plid the primary key of the layout
343            * @param groupId the primary key of the group
344            * @param portletId the primary key of the portlet
345            * @param parameterMap the mapping of parameters indicating which
346            information to export. For information on the keys used in
347            the map see {@link
348            com.liferay.exportimport.kernel.lar.PortletDataHandlerKeys}.
349            * @param startDate the export's start date
350            * @param endDate the export's end date
351            * @return the portlet information as a file
352            * @deprecated As of 7.0.0, with no direct replacement
353            */
354            @java.lang.Deprecated
355            public File exportPortletInfoAsFile(long plid, long groupId,
356                    java.lang.String portletId,
357                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
358                    Date endDate) throws PortalException;
359    
360            /**
361            * @deprecated As of 7.0.0, with no direct replacement
362            */
363            @java.lang.Deprecated
364            public File exportPortletInfoAsFile(java.lang.String portletId,
365                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
366                    Date endDate) throws PortalException;
367    
368            /**
369            * @deprecated As of 7.0.0, with no direct replacement
370            */
371            @java.lang.Deprecated
372            public long exportPortletInfoAsFileInBackground(java.lang.String taskName,
373                    long plid, long groupId, java.lang.String portletId,
374                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
375                    Date endDate, java.lang.String fileName) throws PortalException;
376    
377            /**
378            * @deprecated As of 7.0.0, with no direct replacement
379            */
380            @java.lang.Deprecated
381            public long exportPortletInfoAsFileInBackground(java.lang.String taskName,
382                    java.lang.String portletId,
383                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
384                    Date endDate, java.lang.String fileName) throws PortalException;
385    
386            /**
387            * Returns all the ancestor layouts of the layout.
388            *
389            * @param plid the primary key of the layout
390            * @return the ancestor layouts of the layout
391            */
392            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
393            public List<Layout> getAncestorLayouts(long plid) throws PortalException;
394    
395            @ThreadLocalCachable
396            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
397            public long getDefaultPlid(long groupId, long scopeGroupId,
398                    java.lang.String portletId) throws PortalException;
399    
400            /**
401            * Returns the primary key of the default layout for the group.
402            *
403            * @param groupId the primary key of the group
404            * @param scopeGroupId the primary key of the scope group. See {@link
405            ServiceContext#getScopeGroupId()}.
406            * @param privateLayout whether the layout is private to the group
407            * @param portletId the primary key of the portlet
408            * @return Returns the primary key of the default layout group; {@link
409            LayoutConstants#DEFAULT_PLID} otherwise
410            */
411            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
412            public long getDefaultPlid(long groupId, long scopeGroupId,
413                    boolean privateLayout, java.lang.String portletId)
414                    throws PortalException;
415    
416            /**
417            * Returns the layout matching the UUID, group, and privacy.
418            *
419            * @param uuid the layout's UUID
420            * @param groupId the primary key of the group
421            * @param privateLayout whether the layout is private to the group
422            * @return the matching layout
423            */
424            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
425            public Layout getLayoutByUuidAndGroupId(java.lang.String uuid,
426                    long groupId, boolean privateLayout) throws PortalException;
427    
428            /**
429            * Returns the name of the layout.
430            *
431            * @param groupId the primary key of the group
432            * @param privateLayout whether the layout is private to the group
433            * @param layoutId the primary key of the layout
434            * @param languageId the primary key of the language. For more information
435            See {@link Locale}.
436            * @return the layout's name
437            */
438            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
439            public java.lang.String getLayoutName(long groupId, boolean privateLayout,
440                    long layoutId, java.lang.String languageId) throws PortalException;
441    
442            /**
443            * Returns the layout references for all the layouts that belong to the
444            * company and belong to the portlet that matches the preferences.
445            *
446            * @param companyId the primary key of the company
447            * @param portletId the primary key of the portlet
448            * @param preferencesKey the portlet's preference key
449            * @param preferencesValue the portlet's preference value
450            * @return the layout references of the matching layouts
451            */
452            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
453            public LayoutReference[] getLayoutReferences(long companyId,
454                    java.lang.String portletId, java.lang.String preferencesKey,
455                    java.lang.String preferencesValue);
456    
457            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
458            public List<Layout> getLayouts(long groupId, boolean privateLayout);
459    
460            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
461            public List<Layout> getLayouts(long groupId, boolean privateLayout,
462                    long parentLayoutId) throws PortalException;
463    
464            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
465            public List<Layout> getLayouts(long groupId, boolean privateLayout,
466                    long parentLayoutId, boolean incomplete, int start, int end)
467                    throws PortalException;
468    
469            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
470            public int getLayoutsCount(long groupId, boolean privateLayout,
471                    long parentLayoutId);
472    
473            /**
474            * Returns the OSGi service identifier.
475            *
476            * @return the OSGi service identifier
477            */
478            public java.lang.String getOSGiServiceIdentifier();
479    
480            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
481            public java.lang.String[] getTempFileNames(long groupId,
482                    java.lang.String folderName) throws PortalException;
483    
484            /**
485            * @deprecated As of 7.0.0, replaced by {@link
486            com.liferay.exportimport.kernel.service.ExportImportService#importLayouts(
487            ExportImportConfiguration, File)}
488            */
489            @java.lang.Deprecated
490            public void importLayouts(
491                    ExportImportConfiguration exportImportConfiguration, File file)
492                    throws PortalException;
493    
494            /**
495            * @deprecated As of 7.0.0, replaced by {@link
496            com.liferay.exportimport.kernel.service.ExportImportService#importLayouts(
497            ExportImportConfiguration, InputStream)}
498            */
499            @java.lang.Deprecated
500            public void importLayouts(
501                    ExportImportConfiguration exportImportConfiguration, InputStream is)
502                    throws PortalException;
503    
504            /**
505            * Imports the layouts from the byte array.
506            *
507            * @param groupId the primary key of the group
508            * @param privateLayout whether the layout is private to the group
509            * @param parameterMap the mapping of parameters indicating which
510            information will be imported. For information on the keys
511            used in the map see {@link
512            com.liferay.exportimport.kernel.lar.PortletDataHandlerKeys}.
513            * @param bytes the byte array with the data
514            * @see com.liferay.exportimport.kernel.lar.LayoutImporter
515            * @deprecated As of 7.0.0, with no direct replacement
516            */
517            @java.lang.Deprecated
518            public void importLayouts(long groupId, boolean privateLayout,
519                    Map<java.lang.String, java.lang.String[]> parameterMap, byte[] bytes)
520                    throws PortalException;
521    
522            /**
523            * Imports the layouts from the file.
524            *
525            * @param groupId the primary key of the group
526            * @param privateLayout whether the layout is private to the group
527            * @param parameterMap the mapping of parameters indicating which
528            information will be imported. For information on the keys
529            used in the map see {@link
530            com.liferay.exportimport.kernel.lar.PortletDataHandlerKeys}.
531            * @param file the LAR file with the data
532            * @see com.liferay.exportimport.kernel.lar.LayoutImporter
533            * @deprecated As of 7.0.0, with no direct replacement
534            */
535            @java.lang.Deprecated
536            public void importLayouts(long groupId, boolean privateLayout,
537                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
538                    throws PortalException;
539    
540            /**
541            * Imports the layouts from the input stream.
542            *
543            * @param groupId the primary key of the group
544            * @param privateLayout whether the layout is private to the group
545            * @param parameterMap the mapping of parameters indicating which
546            information will be imported. For information on the keys
547            used in the map see {@link
548            com.liferay.exportimport.kernel.lar.PortletDataHandlerKeys}.
549            * @param is the input stream
550            * @see com.liferay.exportimport.kernel.lar.LayoutImporter
551            * @deprecated As of 7.0.0, with no direct replacement
552            */
553            @java.lang.Deprecated
554            public void importLayouts(long groupId, boolean privateLayout,
555                    Map<java.lang.String, java.lang.String[]> parameterMap, InputStream is)
556                    throws PortalException;
557    
558            /**
559            * @deprecated As of 7.0.0, with no direct replacement
560            */
561            @java.lang.Deprecated
562            public long importLayoutsInBackground(java.lang.String taskName,
563                    long groupId, boolean privateLayout,
564                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
565                    throws PortalException;
566    
567            /**
568            * @deprecated As of 7.0.0, with no direct replacement
569            */
570            @java.lang.Deprecated
571            public long importLayoutsInBackground(java.lang.String taskName,
572                    long groupId, boolean privateLayout,
573                    Map<java.lang.String, java.lang.String[]> parameterMap,
574                    InputStream inputStream) throws PortalException;
575    
576            /**
577            * @deprecated As of 7.0.0, replaced by {@link
578            com.liferay.exportimport.kernel.service.ExportImportService#importPortletInfo(
579            ExportImportConfiguration, File)} (
580            */
581            @java.lang.Deprecated
582            public void importPortletInfo(
583                    ExportImportConfiguration exportImportConfiguration, File file)
584                    throws PortalException;
585    
586            /**
587            * @deprecated As of 7.0.0, replaced by {@link
588            com.liferay.exportimport.kernel.service.ExportImportService#importPortletInfo(
589            ExportImportConfiguration, InputStream)} (
590            */
591            @java.lang.Deprecated
592            public void importPortletInfo(
593                    ExportImportConfiguration exportImportConfiguration, InputStream is)
594                    throws PortalException;
595    
596            /**
597            * Imports the portlet information (categories, permissions, ... etc.) from
598            * the file.
599            *
600            * @param plid the primary key of the layout
601            * @param groupId the primary key of the group
602            * @param portletId the primary key of the portlet
603            * @param parameterMap the mapping of parameters indicating which
604            information will be imported. For information on the keys
605            used in the map see {@link
606            com.liferay.exportimport.kernel.lar.PortletDataHandlerKeys}.
607            * @param file the LAR file with the data
608            * @deprecated As of 7.0.0, with no direct replacement
609            */
610            @java.lang.Deprecated
611            public void importPortletInfo(long plid, long groupId,
612                    java.lang.String portletId,
613                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
614                    throws PortalException;
615    
616            /**
617            * Imports the portlet information (categories, permissions, ... etc.) from
618            * the input stream.
619            *
620            * @param plid the primary key of the layout
621            * @param groupId the primary key of the group
622            * @param portletId the primary key of the portlet
623            * @param parameterMap the mapping of parameters indicating which
624            information will be imported. For information on the keys
625            used in the map see {@link
626            com.liferay.exportimport.kernel.lar.PortletDataHandlerKeys}.
627            * @param is the input stream
628            * @deprecated As of 7.0.0, with no direct replacement
629            */
630            @java.lang.Deprecated
631            public void importPortletInfo(long plid, long groupId,
632                    java.lang.String portletId,
633                    Map<java.lang.String, java.lang.String[]> parameterMap, InputStream is)
634                    throws PortalException;
635    
636            /**
637            * @deprecated As of 7.0.0, with no direct replacement
638            */
639            @java.lang.Deprecated
640            public void importPortletInfo(java.lang.String portletId,
641                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
642                    throws PortalException;
643    
644            /**
645            * @deprecated As of 7.0.0, with no direct replacement
646            */
647            @java.lang.Deprecated
648            public void importPortletInfo(java.lang.String portletId,
649                    Map<java.lang.String, java.lang.String[]> parameterMap, InputStream is)
650                    throws PortalException;
651    
652            /**
653            * @deprecated As of 7.0.0, with no direct replacement
654            */
655            @java.lang.Deprecated
656            public long importPortletInfoInBackground(java.lang.String taskName,
657                    long plid, long groupId, java.lang.String portletId,
658                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
659                    throws PortalException;
660    
661            /**
662            * @deprecated As of 7.0.0, with no direct replacement
663            */
664            @java.lang.Deprecated
665            public long importPortletInfoInBackground(java.lang.String taskName,
666                    long plid, long groupId, java.lang.String portletId,
667                    Map<java.lang.String, java.lang.String[]> parameterMap, InputStream is)
668                    throws PortalException;
669    
670            /**
671            * @deprecated As of 7.0.0, with no direct replacement
672            */
673            @java.lang.Deprecated
674            public void importPortletInfoInBackground(java.lang.String taskName,
675                    java.lang.String portletId,
676                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
677                    throws PortalException;
678    
679            /**
680            * @deprecated As of 7.0.0, with no direct replacement
681            */
682            @java.lang.Deprecated
683            public void importPortletInfoInBackground(java.lang.String taskName,
684                    java.lang.String portletId,
685                    Map<java.lang.String, java.lang.String[]> parameterMap, InputStream is)
686                    throws PortalException;
687    
688            /**
689            * Schedules a range of layouts to be published.
690            *
691            * @param sourceGroupId the primary key of the source group
692            * @param targetGroupId the primary key of the target group
693            * @param privateLayout whether the layout is private to the group
694            * @param layoutIdMap the layouts considered for publishing, specified
695            by the layout IDs and booleans indicating whether they have
696            children
697            * @param parameterMap the mapping of parameters indicating which
698            information will be used. See {@link
699            com.liferay.exportimport.kernel.lar.PortletDataHandlerKeys}.
700            * @param groupName the group name (optionally {@link
701            DestinationNames#LAYOUTS_LOCAL_PUBLISHER}). See {@link
702            DestinationNames}.
703            * @param cronText the cron text. See {@link
704            com.liferay.portal.kernel.cal.RecurrenceSerializer
705            #toCronText}
706            * @param schedulerStartDate the scheduler start date
707            * @param schedulerEndDate the scheduler end date
708            * @param description the scheduler description
709            * @deprecated As of 7.0.0, replaced by {@link #schedulePublishToLive(long,
710            long, boolean, long[], Map, String, Date, Date, String,
711            String, Date, Date, String)}
712            */
713            @java.lang.Deprecated
714            public void schedulePublishToLive(long sourceGroupId, long targetGroupId,
715                    boolean privateLayout,
716                    Map<java.lang.Long, java.lang.Boolean> layoutIdMap,
717                    Map<java.lang.String, java.lang.String[]> parameterMap,
718                    java.lang.String scope, Date startDate, Date endDate,
719                    java.lang.String groupName, java.lang.String cronText,
720                    Date schedulerStartDate, Date schedulerEndDate,
721                    java.lang.String description) throws PortalException;
722    
723            /**
724            * Schedules a range of layouts to be published.
725            *
726            * @param sourceGroupId the primary key of the source group
727            * @param targetGroupId the primary key of the target group
728            * @param privateLayout whether the layout is private to the group
729            * @param layoutIds the layouts considered for publishing, specified by the
730            layout IDs
731            * @param parameterMap the mapping of parameters indicating which
732            information will be used. See {@link
733            com.liferay.exportimport.kernel.lar.PortletDataHandlerKeys}.
734            * @param groupName the group name (optionally {@link
735            DestinationNames#LAYOUTS_LOCAL_PUBLISHER}). See {@link
736            DestinationNames}.
737            * @param cronText the cron text. See {@link
738            com.liferay.portal.kernel.cal.RecurrenceSerializer #toCronText}
739            * @param schedulerStartDate the scheduler start date
740            * @param schedulerEndDate the scheduler end date
741            * @param description the scheduler description
742            */
743            public void schedulePublishToLive(long sourceGroupId, long targetGroupId,
744                    boolean privateLayout, long[] layoutIds,
745                    Map<java.lang.String, java.lang.String[]> parameterMap,
746                    java.lang.String groupName, java.lang.String cronText,
747                    Date schedulerStartDate, Date schedulerEndDate,
748                    java.lang.String description) throws PortalException;
749    
750            /**
751            * Schedules a range of layouts to be published.
752            *
753            * @param sourceGroupId the primary key of the source group
754            * @param targetGroupId the primary key of the target group
755            * @param privateLayout whether the layout is private to the group
756            * @param layoutIds the layouts considered for publishing, specified by
757            the layout IDs
758            * @param parameterMap the mapping of parameters indicating which
759            information will be used. See {@link
760            com.liferay.exportimport.kernel.lar.PortletDataHandlerKeys}.
761            * @param scope the scope of the pages. It can be
762            <code>all-pages</code> or <code>selected-pages</code>.
763            * @param startDate the start date
764            * @param endDate the end date
765            * @param groupName the group name (optionally {@link
766            DestinationNames#LAYOUTS_LOCAL_PUBLISHER}). See {@link
767            DestinationNames}.
768            * @param cronText the cron text. See {@link
769            com.liferay.portal.kernel.cal.RecurrenceSerializer
770            #toCronText}
771            * @param schedulerStartDate the scheduler start date
772            * @param schedulerEndDate the scheduler end date
773            * @param description the scheduler description
774            * @deprecated As of 7.0.0, replaced by {@link #schedulePublishToLive(long,
775            long, boolean, long[], Map, String, String, Date, Date,
776            String)}
777            */
778            @java.lang.Deprecated
779            public void schedulePublishToLive(long sourceGroupId, long targetGroupId,
780                    boolean privateLayout, long[] layoutIds,
781                    Map<java.lang.String, java.lang.String[]> parameterMap,
782                    java.lang.String scope, Date startDate, Date endDate,
783                    java.lang.String groupName, java.lang.String cronText,
784                    Date schedulerStartDate, Date schedulerEndDate,
785                    java.lang.String description) throws PortalException;
786    
787            /**
788            * Schedules a range of layouts to be stored.
789            *
790            * @param sourceGroupId the primary key of the source group
791            * @param privateLayout whether the layout is private to the group
792            * @param layoutIdMap the layouts considered for publishing, specified by
793            the layout IDs and booleans indicating whether they have children
794            * @param parameterMap the mapping of parameters indicating which
795            information will be used. See {@link
796            com.liferay.exportimport.kernel.lar.PortletDataHandlerKeys}.
797            * @param remoteAddress the remote address
798            * @param remotePort the remote port
799            * @param remotePathContext the remote path context
800            * @param secureConnection whether the connection is secure
801            * @param remoteGroupId the primary key of the remote group
802            * @param remotePrivateLayout whether remote group's layout is private
803            * @param startDate the start date
804            * @param endDate the end date
805            * @param groupName the group name. Optionally {@link
806            DestinationNames#LAYOUTS_LOCAL_PUBLISHER}). See {@link
807            DestinationNames}.
808            * @param cronText the cron text. See {@link
809            com.liferay.portal.kernel.cal.RecurrenceSerializer #toCronText}
810            * @param schedulerStartDate the scheduler start date
811            * @param schedulerEndDate the scheduler end date
812            * @param description the scheduler description
813            */
814            public void schedulePublishToRemote(long sourceGroupId,
815                    boolean privateLayout,
816                    Map<java.lang.Long, java.lang.Boolean> layoutIdMap,
817                    Map<java.lang.String, java.lang.String[]> parameterMap,
818                    java.lang.String remoteAddress, int remotePort,
819                    java.lang.String remotePathContext, boolean secureConnection,
820                    long remoteGroupId, boolean remotePrivateLayout, Date startDate,
821                    Date endDate, java.lang.String groupName, java.lang.String cronText,
822                    Date schedulerStartDate, Date schedulerEndDate,
823                    java.lang.String description) throws PortalException;
824    
825            /**
826            * Sets the layouts for the group, replacing and prioritizing all layouts of
827            * the parent layout.
828            *
829            * @param groupId the primary key of the group
830            * @param privateLayout whether the layout is private to the group
831            * @param parentLayoutId the primary key of the parent layout
832            * @param layoutIds the primary keys of the layouts
833            * @param serviceContext the service context to be applied
834            */
835            public void setLayouts(long groupId, boolean privateLayout,
836                    long parentLayoutId, long[] layoutIds,
837                    com.liferay.portal.kernel.service.ServiceContext serviceContext)
838                    throws PortalException;
839    
840            /**
841            * Deletes the job from the scheduler's queue.
842            *
843            * @param groupId the primary key of the group
844            * @param jobName the job name
845            * @param groupName the group name (optionally {@link
846            DestinationNames#LAYOUTS_LOCAL_PUBLISHER}). See {@link
847            DestinationNames}.
848            */
849            public void unschedulePublishToLive(long groupId, java.lang.String jobName,
850                    java.lang.String groupName) throws PortalException;
851    
852            /**
853            * Deletes the job from the scheduler's persistent queue.
854            *
855            * @param groupId the primary key of the group
856            * @param jobName the job name
857            * @param groupName the group name (optionally {@link
858            DestinationNames#LAYOUTS_LOCAL_PUBLISHER}). See {@link
859            DestinationNames}.
860            */
861            public void unschedulePublishToRemote(long groupId,
862                    java.lang.String jobName, java.lang.String groupName)
863                    throws PortalException;
864    
865            public Layout updateIconImage(long plid, byte[] bytes)
866                    throws PortalException;
867    
868            /**
869            * Updates the layout with additional parameters.
870            *
871            * @param groupId the primary key of the group
872            * @param privateLayout whether the layout is private to the group
873            * @param layoutId the primary key of the layout
874            * @param parentLayoutId the primary key of the layout's new parent layout
875            * @param localeNamesMap the layout's locales and localized names
876            * @param localeTitlesMap the layout's locales and localized titles
877            * @param descriptionMap the locales and localized descriptions to merge
878            (optionally <code>null</code>)
879            * @param keywordsMap the locales and localized keywords to merge
880            (optionally <code>null</code>)
881            * @param robotsMap the locales and localized robots to merge (optionally
882            <code>null</code>)
883            * @param type the layout's new type (optionally {@link
884            LayoutConstants#TYPE_PORTLET})
885            * @param hidden whether the layout is hidden
886            * @param friendlyURLMap the layout's locales and localized friendly URLs.
887            To see how the URL is normalized when accessed see {@link
888            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
889            String)}.
890            * @param iconImage whether the icon image will be updated
891            * @param iconBytes the byte array of the layout's new icon image
892            * @param serviceContext the service context to be applied. Can set the
893            modification date and expando bridge attributes for the layout.
894            * @return the updated layout
895            */
896            public Layout updateLayout(long groupId, boolean privateLayout,
897                    long layoutId, long parentLayoutId,
898                    Map<Locale, java.lang.String> localeNamesMap,
899                    Map<Locale, java.lang.String> localeTitlesMap,
900                    Map<Locale, java.lang.String> descriptionMap,
901                    Map<Locale, java.lang.String> keywordsMap,
902                    Map<Locale, java.lang.String> robotsMap, java.lang.String type,
903                    boolean hidden, Map<Locale, java.lang.String> friendlyURLMap,
904                    boolean iconImage, byte[] iconBytes,
905                    com.liferay.portal.kernel.service.ServiceContext serviceContext)
906                    throws PortalException;
907    
908            /**
909            * Updates the layout replacing its type settings.
910            *
911            * @param groupId the primary key of the group
912            * @param privateLayout whether the layout is private to the group
913            * @param layoutId the primary key of the layout
914            * @param typeSettings the settings to load the unicode properties object.
915            See {@link com.liferay.portal.kernel.util.UnicodeProperties
916            #fastLoad(String)}.
917            * @return the updated layout
918            */
919            public Layout updateLayout(long groupId, boolean privateLayout,
920                    long layoutId, java.lang.String typeSettings) throws PortalException;
921    
922            /**
923            * Updates the look and feel of the layout.
924            *
925            * @param groupId the primary key of the group
926            * @param privateLayout whether the layout is private to the group
927            * @param layoutId the primary key of the layout
928            * @param themeId the primary key of the layout's new theme
929            * @param colorSchemeId the primary key of the layout's new color scheme
930            * @param css the layout's new CSS
931            * @return the updated layout
932            */
933            public Layout updateLookAndFeel(long groupId, boolean privateLayout,
934                    long layoutId, java.lang.String themeId,
935                    java.lang.String colorSchemeId, java.lang.String css)
936                    throws PortalException;
937    
938            /**
939            * Updates the name of the layout matching the group, layout ID, and
940            * privacy.
941            *
942            * @param groupId the primary key of the group
943            * @param privateLayout whether the layout is private to the group
944            * @param layoutId the primary key of the layout
945            * @param name the layout's new name
946            * @param languageId the primary key of the language. For more information
947            see {@link Locale}.
948            * @return the updated layout
949            */
950            public Layout updateName(long groupId, boolean privateLayout,
951                    long layoutId, java.lang.String name, java.lang.String languageId)
952                    throws PortalException;
953    
954            /**
955            * Updates the name of the layout matching the primary key.
956            *
957            * @param plid the primary key of the layout
958            * @param name the name to be assigned
959            * @param languageId the primary key of the language. For more information
960            see {@link Locale}.
961            * @return the updated layout
962            */
963            public Layout updateName(long plid, java.lang.String name,
964                    java.lang.String languageId) throws PortalException;
965    
966            /**
967            * Updates the parent layout ID of the layout matching the group, layout ID,
968            * and privacy.
969            *
970            * @param groupId the primary key of the group
971            * @param privateLayout whether the layout is private to the group
972            * @param layoutId the primary key of the layout
973            * @param parentLayoutId the primary key to be assigned to the parent
974            layout
975            * @return the matching layout
976            */
977            public Layout updateParentLayoutId(long groupId, boolean privateLayout,
978                    long layoutId, long parentLayoutId) throws PortalException;
979    
980            /**
981            * Updates the parent layout ID of the layout matching the primary key. If a
982            * layout matching the parent primary key is found, the layout ID of that
983            * layout is assigned, otherwise {@link
984            * LayoutConstants#DEFAULT_PARENT_LAYOUT_ID} is assigned.
985            *
986            * @param plid the primary key of the layout
987            * @param parentPlid the primary key of the parent layout
988            * @return the layout matching the primary key
989            */
990            public Layout updateParentLayoutId(long plid, long parentPlid)
991                    throws PortalException;
992    
993            /**
994            * Updates the parent layout ID and priority of the layout.
995            *
996            * @param plid the primary key of the layout
997            * @param parentPlid the primary key of the parent layout
998            * @param priority the layout's new priority
999            * @return the layout matching the primary key
1000            */
1001            public Layout updateParentLayoutIdAndPriority(long plid, long parentPlid,
1002                    int priority) throws PortalException;
1003    
1004            /**
1005            * Updates the priority of the layout matching the group, layout ID, and
1006            * privacy, setting the layout's priority based on the priorities of the
1007            * next and previous layouts.
1008            *
1009            * @param groupId the primary key of the group
1010            * @param privateLayout whether the layout is private to the group
1011            * @param layoutId the primary key of the layout
1012            * @param nextLayoutId the primary key of the next layout
1013            * @param previousLayoutId the primary key of the previous layout
1014            * @return the updated layout
1015            */
1016            public Layout updatePriority(long groupId, boolean privateLayout,
1017                    long layoutId, long nextLayoutId, long previousLayoutId)
1018                    throws PortalException;
1019    
1020            /**
1021            * Updates the priority of the layout matching the group, layout ID, and
1022            * privacy.
1023            *
1024            * @param groupId the primary key of the group
1025            * @param privateLayout whether the layout is private to the group
1026            * @param layoutId the primary key of the layout
1027            * @param priority the layout's new priority
1028            * @return the updated layout
1029            */
1030            public Layout updatePriority(long groupId, boolean privateLayout,
1031                    long layoutId, int priority) throws PortalException;
1032    
1033            /**
1034            * Updates the priority of the layout matching the primary key.
1035            *
1036            * @param plid the primary key of the layout
1037            * @param priority the layout's new priority
1038            * @return the updated layout
1039            */
1040            public Layout updatePriority(long plid, int priority)
1041                    throws PortalException;
1042    
1043            /**
1044            * @deprecated As of 7.0.0, replaced by {@link
1045            com.liferay.exportimport.kernel.service.ExportImportService#validateImportLayoutsFile(
1046            ExportImportConfiguration, File)}
1047            */
1048            @java.lang.Deprecated
1049            public MissingReferences validateImportLayoutsFile(
1050                    ExportImportConfiguration exportImportConfiguration, File file)
1051                    throws PortalException;
1052    
1053            /**
1054            * @deprecated As of 7.0.0, replaced by {@link
1055            com.liferay.exportimport.kernel.service.ExportImportService#validateImportLayoutsFile(
1056            ExportImportConfiguration, InputStream)}
1057            */
1058            @java.lang.Deprecated
1059            public MissingReferences validateImportLayoutsFile(
1060                    ExportImportConfiguration exportImportConfiguration,
1061                    InputStream inputStream) throws PortalException;
1062    
1063            /**
1064            * @deprecated As of 7.0.0, with no direct replacement
1065            */
1066            @java.lang.Deprecated
1067            public MissingReferences validateImportLayoutsFile(long groupId,
1068                    boolean privateLayout,
1069                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
1070                    throws PortalException;
1071    
1072            /**
1073            * @deprecated As of 7.0.0, with no direct replacement
1074            */
1075            @java.lang.Deprecated
1076            public MissingReferences validateImportLayoutsFile(long groupId,
1077                    boolean privateLayout,
1078                    Map<java.lang.String, java.lang.String[]> parameterMap,
1079                    InputStream inputStream) throws PortalException;
1080    
1081            /**
1082            * @deprecated As of 7.0.0, replaced by {@link
1083            com.liferay.exportimport.kernel.service.ExportImportService#validateImportPortletInfo(
1084            ExportImportConfiguration, File)}
1085            */
1086            @java.lang.Deprecated
1087            public MissingReferences validateImportPortletInfo(
1088                    ExportImportConfiguration exportImportConfiguration, File file)
1089                    throws PortalException;
1090    
1091            /**
1092            * @deprecated As of 7.0.0, replaced by {@link
1093            com.liferay.exportimport.kernel.service.ExportImportService#validateImportPortletInfo(
1094            ExportImportConfiguration, InputStream)}
1095            */
1096            @java.lang.Deprecated
1097            public MissingReferences validateImportPortletInfo(
1098                    ExportImportConfiguration exportImportConfiguration,
1099                    InputStream inputStream) throws PortalException;
1100    
1101            /**
1102            * @deprecated As of 7.0.0, with no direct replacement
1103            */
1104            @java.lang.Deprecated
1105            public MissingReferences validateImportPortletInfo(long plid, long groupId,
1106                    java.lang.String portletId,
1107                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
1108                    throws PortalException;
1109    
1110            /**
1111            * @deprecated As of 7.0.0, with no direct replacement
1112            */
1113            @java.lang.Deprecated
1114            public MissingReferences validateImportPortletInfo(long plid, long groupId,
1115                    java.lang.String portletId,
1116                    Map<java.lang.String, java.lang.String[]> parameterMap,
1117                    InputStream inputStream) throws PortalException;
1118    }