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.service;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.cache.thread.local.ThreadLocalCachable;
020    import com.liferay.portal.kernel.exception.PortalException;
021    import com.liferay.portal.kernel.exception.SystemException;
022    import com.liferay.portal.kernel.jsonwebservice.JSONWebService;
023    import com.liferay.portal.kernel.repository.model.FileEntry;
024    import com.liferay.portal.kernel.security.access.control.AccessControlled;
025    import com.liferay.portal.kernel.transaction.Isolation;
026    import com.liferay.portal.kernel.transaction.Propagation;
027    import com.liferay.portal.kernel.transaction.Transactional;
028    import com.liferay.portal.model.Layout;
029    import com.liferay.portal.model.LayoutReference;
030    
031    import com.liferay.portlet.exportimport.lar.MissingReferences;
032    import com.liferay.portlet.exportimport.model.ExportImportConfiguration;
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.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.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, com.liferay.portal.service.ServiceContext serviceContext)
171                    throws PortalException;
172    
173            /**
174            * Deletes the layout with the plid, also deleting the layout's child
175            * layouts, and associated resources.
176            *
177            * @param plid the primary key of the layout
178            * @param serviceContext the service context to be applied
179            */
180            public void deleteLayout(long plid,
181                    com.liferay.portal.service.ServiceContext serviceContext)
182                    throws PortalException;
183    
184            public void deleteTempFileEntry(long groupId, java.lang.String folderName,
185                    java.lang.String fileName) throws PortalException;
186    
187            /**
188            * Exports the layouts that match the primary keys and the criteria as a
189            * byte array.
190            *
191            * @param groupId the primary key of the group
192            * @param privateLayout whether the layout is private to the group
193            * @param layoutIds the primary keys of the layouts to be exported
194            * @param parameterMap the mapping of parameters indicating which
195            information to export. For information on the keys used in
196            the map see {@link
197            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
198            * @param startDate the export's start date
199            * @param endDate the export's end date
200            * @return the layouts as a byte array
201            * @deprecated As of 7.0.0, with no direct replacement
202            */
203            @java.lang.Deprecated
204            public byte[] exportLayouts(long groupId, boolean privateLayout,
205                    long[] layoutIds,
206                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
207                    Date endDate) throws PortalException;
208    
209            /**
210            * Exports all layouts that match the criteria as a byte array.
211            *
212            * @param groupId the primary key of the group
213            * @param privateLayout whether the layout is private to the group
214            * @param parameterMap the mapping of parameters indicating which
215            information to export. For information on the keys used in
216            the map see {@link
217            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
218            * @param startDate the export's start date
219            * @param endDate the export's end date
220            * @return the layout as a byte array
221            * @deprecated As of 7.0.0, with no direct replacement
222            */
223            @java.lang.Deprecated
224            public byte[] exportLayouts(long groupId, boolean privateLayout,
225                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
226                    Date endDate) throws PortalException;
227    
228            /**
229            * @deprecated As of 7.0.0, replaced by {@link
230            com.liferay.portlet.exportimport.service.ExportImportService#exportLayoutsAsFile(
231            ExportImportConfiguration)}
232            */
233            @java.lang.Deprecated
234            public File exportLayoutsAsFile(
235                    ExportImportConfiguration exportImportConfiguration)
236                    throws PortalException;
237    
238            /**
239            * Exports all layouts that match the primary keys and criteria as a file.
240            *
241            * @param groupId the primary key of the group
242            * @param privateLayout whether the layout is private to the group
243            * @param layoutIds the primary keys of the layouts to be exported
244            (optionally <code>null</code>)
245            * @param parameterMap the mapping of parameters indicating which
246            information to export. For information on the keys used in
247            the map see {@link
248            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
249            * @param startDate the export's start date
250            * @param endDate the export's end date
251            * @return the layouts as a File
252            * @deprecated As of 7.0.0, with no direct replacement
253            */
254            @java.lang.Deprecated
255            public File exportLayoutsAsFile(long groupId, boolean privateLayout,
256                    long[] layoutIds,
257                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
258                    Date endDate) throws PortalException;
259    
260            /**
261            * @deprecated As of 7.0.0, replaced by {@link
262            com.liferay.portlet.exportimport.service.ExportImportService#exportLayoutsAsFileInBackground(
263            ExportImportConfiguration)}
264            */
265            @java.lang.Deprecated
266            public long exportLayoutsAsFileInBackground(
267                    ExportImportConfiguration exportImportConfiguration)
268                    throws PortalException;
269    
270            /**
271            * @deprecated As of 7.0.0, replaced by {@link
272            com.liferay.portlet.exportimport.service.ExportImportService#exportLayoutsAsFileInBackground(
273            long)}
274            */
275            @java.lang.Deprecated
276            public long exportLayoutsAsFileInBackground(
277                    long exportImportConfigurationId) throws PortalException;
278    
279            /**
280            * @deprecated As of 7.0.0, with no direct replacement
281            */
282            @java.lang.Deprecated
283            public long exportLayoutsAsFileInBackground(java.lang.String taskName,
284                    long groupId, boolean privateLayout, long[] layoutIds,
285                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
286                    Date endDate) throws PortalException;
287    
288            /**
289            * @deprecated As of 7.0.0, with no direct replacement
290            */
291            @java.lang.Deprecated
292            public long exportLayoutsAsFileInBackground(java.lang.String taskName,
293                    long groupId, boolean privateLayout, long[] layoutIds,
294                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
295                    Date endDate, java.lang.String fileName) throws PortalException;
296    
297            /**
298            * @deprecated As of 7.0.0, with no direct replacement
299            */
300            @java.lang.Deprecated
301            public byte[] exportPortletInfo(long companyId, java.lang.String portletId,
302                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
303                    Date endDate) throws PortalException;
304    
305            /**
306            * Exports the portlet information (categories, permissions, ... etc.) as a
307            * byte array.
308            *
309            * @param plid the primary key of the layout
310            * @param groupId the primary key of the group
311            * @param portletId the primary key of the portlet
312            * @param parameterMap the mapping of parameters indicating which
313            information to export. For information on the keys used in
314            the map see {@link
315            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
316            * @param startDate the export's start date
317            * @param endDate the export's end date
318            * @return the portlet information as a byte array
319            * @deprecated As of 7.0.0, with no direct replacement
320            */
321            @java.lang.Deprecated
322            public byte[] exportPortletInfo(long plid, long groupId,
323                    java.lang.String portletId,
324                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
325                    Date endDate) throws PortalException;
326    
327            /**
328            * @deprecated As of 7.0.0, replaced by {@link
329            com.liferay.portlet.exportimport.service.ExportImportService#exportPortletInfoAsFile(
330            ExportImportConfiguration)}
331            */
332            @java.lang.Deprecated
333            public File exportPortletInfoAsFile(
334                    ExportImportConfiguration exportImportConfiguration)
335                    throws PortalException;
336    
337            /**
338            * Exports the portlet information (categories, permissions, ... etc.) as a
339            * file.
340            *
341            * @param plid the primary key of the layout
342            * @param groupId the primary key of the group
343            * @param portletId the primary key of the portlet
344            * @param parameterMap the mapping of parameters indicating which
345            information to export. For information on the keys used in
346            the map see {@link
347            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
348            * @param startDate the export's start date
349            * @param endDate the export's end date
350            * @return the portlet information as a file
351            * @deprecated As of 7.0.0, with no direct replacement
352            */
353            @java.lang.Deprecated
354            public File exportPortletInfoAsFile(long plid, long groupId,
355                    java.lang.String portletId,
356                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
357                    Date endDate) throws PortalException;
358    
359            /**
360            * @deprecated As of 7.0.0, with no direct replacement
361            */
362            @java.lang.Deprecated
363            public File exportPortletInfoAsFile(java.lang.String portletId,
364                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
365                    Date endDate) throws PortalException;
366    
367            /**
368            * @deprecated As of 7.0.0, with no direct replacement
369            */
370            @java.lang.Deprecated
371            public long exportPortletInfoAsFileInBackground(java.lang.String taskName,
372                    long plid, long groupId, java.lang.String portletId,
373                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
374                    Date endDate, java.lang.String fileName) throws PortalException;
375    
376            /**
377            * @deprecated As of 7.0.0, with no direct replacement
378            */
379            @java.lang.Deprecated
380            public long exportPortletInfoAsFileInBackground(java.lang.String taskName,
381                    java.lang.String portletId,
382                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
383                    Date endDate, java.lang.String fileName) throws PortalException;
384    
385            /**
386            * Returns all the ancestor layouts of the layout.
387            *
388            * @param plid the primary key of the layout
389            * @return the ancestor layouts of the layout
390            */
391            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
392            public List<Layout> getAncestorLayouts(long plid) throws PortalException;
393    
394            @ThreadLocalCachable
395            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
396            public long getDefaultPlid(long groupId, long scopeGroupId,
397                    java.lang.String portletId) throws PortalException;
398    
399            /**
400            * Returns the primary key of the default layout for the group.
401            *
402            * @param groupId the primary key of the group
403            * @param scopeGroupId the primary key of the scope group. See {@link
404            ServiceContext#getScopeGroupId()}.
405            * @param privateLayout whether the layout is private to the group
406            * @param portletId the primary key of the portlet
407            * @return Returns the primary key of the default layout group; {@link
408            LayoutConstants#DEFAULT_PLID} otherwise
409            */
410            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
411            public long getDefaultPlid(long groupId, long scopeGroupId,
412                    boolean privateLayout, java.lang.String portletId)
413                    throws PortalException;
414    
415            /**
416            * Returns the layout matching the UUID, group, and privacy.
417            *
418            * @param uuid the layout's UUID
419            * @param groupId the primary key of the group
420            * @param privateLayout whether the layout is private to the group
421            * @return the matching layout
422            */
423            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
424            public Layout getLayoutByUuidAndGroupId(java.lang.String uuid,
425                    long groupId, boolean privateLayout) throws PortalException;
426    
427            /**
428            * Returns the name of the layout.
429            *
430            * @param groupId the primary key of the group
431            * @param privateLayout whether the layout is private to the group
432            * @param layoutId the primary key of the layout
433            * @param languageId the primary key of the language. For more information
434            See {@link Locale}.
435            * @return the layout's name
436            */
437            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
438            public java.lang.String getLayoutName(long groupId, boolean privateLayout,
439                    long layoutId, java.lang.String languageId) throws PortalException;
440    
441            /**
442            * Returns the layout references for all the layouts that belong to the
443            * company and belong to the portlet that matches the preferences.
444            *
445            * @param companyId the primary key of the company
446            * @param portletId the primary key of the portlet
447            * @param preferencesKey the portlet's preference key
448            * @param preferencesValue the portlet's preference value
449            * @return the layout references of the matching layouts
450            */
451            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
452            public LayoutReference[] getLayoutReferences(long companyId,
453                    java.lang.String portletId, java.lang.String preferencesKey,
454                    java.lang.String preferencesValue);
455    
456            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
457            public List<Layout> getLayouts(long groupId, boolean privateLayout);
458    
459            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
460            public List<Layout> getLayouts(long groupId, boolean privateLayout,
461                    long parentLayoutId) throws PortalException;
462    
463            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
464            public List<Layout> getLayouts(long groupId, boolean privateLayout,
465                    long parentLayoutId, boolean incomplete, int start, int end)
466                    throws PortalException;
467    
468            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
469            public int getLayoutsCount(long groupId, boolean privateLayout,
470                    long parentLayoutId);
471    
472            /**
473            * Returns the OSGi service identifier.
474            *
475            * @return the OSGi service identifier
476            */
477            public java.lang.String getOSGiServiceIdentifier();
478    
479            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
480            public java.lang.String[] getTempFileNames(long groupId,
481                    java.lang.String folderName) throws PortalException;
482    
483            /**
484            * @deprecated As of 7.0.0, replaced by {@link
485            com.liferay.portlet.exportimport.service.ExportImportService#importLayouts(
486            ExportImportConfiguration, File)}
487            */
488            @java.lang.Deprecated
489            public void importLayouts(
490                    ExportImportConfiguration exportImportConfiguration, File file)
491                    throws PortalException;
492    
493            /**
494            * @deprecated As of 7.0.0, replaced by {@link
495            com.liferay.portlet.exportimport.service.ExportImportService#importLayouts(
496            ExportImportConfiguration, InputStream)}
497            */
498            @java.lang.Deprecated
499            public void importLayouts(
500                    ExportImportConfiguration exportImportConfiguration, InputStream is)
501                    throws PortalException;
502    
503            /**
504            * Imports the layouts from the byte array.
505            *
506            * @param groupId the primary key of the group
507            * @param privateLayout whether the layout is private to the group
508            * @param parameterMap the mapping of parameters indicating which
509            information will be imported. For information on the keys
510            used in the map see {@link
511            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
512            * @param bytes the byte array with the data
513            * @see com.liferay.portlet.exportimport.lar.LayoutImporter
514            * @deprecated As of 7.0.0, with no direct replacement
515            */
516            @java.lang.Deprecated
517            public void importLayouts(long groupId, boolean privateLayout,
518                    Map<java.lang.String, java.lang.String[]> parameterMap, byte[] bytes)
519                    throws PortalException;
520    
521            /**
522            * Imports the layouts from the file.
523            *
524            * @param groupId the primary key of the group
525            * @param privateLayout whether the layout is private to the group
526            * @param parameterMap the mapping of parameters indicating which
527            information will be imported. For information on the keys
528            used in the map see {@link
529            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
530            * @param file the LAR file with the data
531            * @see com.liferay.portlet.exportimport.lar.LayoutImporter
532            * @deprecated As of 7.0.0, with no direct replacement
533            */
534            @java.lang.Deprecated
535            public void importLayouts(long groupId, boolean privateLayout,
536                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
537                    throws PortalException;
538    
539            /**
540            * Imports the layouts from the input stream.
541            *
542            * @param groupId the primary key of the group
543            * @param privateLayout whether the layout is private to the group
544            * @param parameterMap the mapping of parameters indicating which
545            information will be imported. For information on the keys
546            used in the map see {@link
547            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
548            * @param is the input stream
549            * @see com.liferay.portlet.exportimport.lar.LayoutImporter
550            * @deprecated As of 7.0.0, with no direct replacement
551            */
552            @java.lang.Deprecated
553            public void importLayouts(long groupId, boolean privateLayout,
554                    Map<java.lang.String, java.lang.String[]> parameterMap, InputStream is)
555                    throws PortalException;
556    
557            /**
558            * @deprecated As of 7.0.0, with no direct replacement
559            */
560            @java.lang.Deprecated
561            public long importLayoutsInBackground(java.lang.String taskName,
562                    long groupId, boolean privateLayout,
563                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
564                    throws PortalException;
565    
566            /**
567            * @deprecated As of 7.0.0, with no direct replacement
568            */
569            @java.lang.Deprecated
570            public long importLayoutsInBackground(java.lang.String taskName,
571                    long groupId, boolean privateLayout,
572                    Map<java.lang.String, java.lang.String[]> parameterMap,
573                    InputStream inputStream) throws PortalException;
574    
575            /**
576            * @deprecated As of 7.0.0, replaced by {@link
577            com.liferay.portlet.exportimport.service.ExportImportService#importPortletInfo(
578            ExportImportConfiguration, File)} (
579            */
580            @java.lang.Deprecated
581            public void importPortletInfo(
582                    ExportImportConfiguration exportImportConfiguration, File file)
583                    throws PortalException;
584    
585            /**
586            * @deprecated As of 7.0.0, replaced by {@link
587            com.liferay.portlet.exportimport.service.ExportImportService#importPortletInfo(
588            ExportImportConfiguration, InputStream)} (
589            */
590            @java.lang.Deprecated
591            public void importPortletInfo(
592                    ExportImportConfiguration exportImportConfiguration, InputStream is)
593                    throws PortalException;
594    
595            /**
596            * Imports the portlet information (categories, permissions, ... etc.) from
597            * the file.
598            *
599            * @param plid the primary key of the layout
600            * @param groupId the primary key of the group
601            * @param portletId the primary key of the portlet
602            * @param parameterMap the mapping of parameters indicating which
603            information will be imported. For information on the keys
604            used in the map see {@link
605            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
606            * @param file the LAR file with the data
607            * @deprecated As of 7.0.0, with no direct replacement
608            */
609            @java.lang.Deprecated
610            public void importPortletInfo(long plid, long groupId,
611                    java.lang.String portletId,
612                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
613                    throws PortalException;
614    
615            /**
616            * Imports the portlet information (categories, permissions, ... etc.) from
617            * the input stream.
618            *
619            * @param plid the primary key of the layout
620            * @param groupId the primary key of the group
621            * @param portletId the primary key of the portlet
622            * @param parameterMap the mapping of parameters indicating which
623            information will be imported. For information on the keys
624            used in the map see {@link
625            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
626            * @param is the input stream
627            * @deprecated As of 7.0.0, with no direct replacement
628            */
629            @java.lang.Deprecated
630            public void importPortletInfo(long plid, long groupId,
631                    java.lang.String portletId,
632                    Map<java.lang.String, java.lang.String[]> parameterMap, InputStream is)
633                    throws PortalException;
634    
635            /**
636            * @deprecated As of 7.0.0, with no direct replacement
637            */
638            @java.lang.Deprecated
639            public void importPortletInfo(java.lang.String portletId,
640                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
641                    throws PortalException;
642    
643            /**
644            * @deprecated As of 7.0.0, with no direct replacement
645            */
646            @java.lang.Deprecated
647            public void importPortletInfo(java.lang.String portletId,
648                    Map<java.lang.String, java.lang.String[]> parameterMap, InputStream is)
649                    throws PortalException;
650    
651            /**
652            * @deprecated As of 7.0.0, with no direct replacement
653            */
654            @java.lang.Deprecated
655            public long importPortletInfoInBackground(java.lang.String taskName,
656                    long plid, long groupId, java.lang.String portletId,
657                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
658                    throws PortalException;
659    
660            /**
661            * @deprecated As of 7.0.0, with no direct replacement
662            */
663            @java.lang.Deprecated
664            public long importPortletInfoInBackground(java.lang.String taskName,
665                    long plid, long groupId, java.lang.String portletId,
666                    Map<java.lang.String, java.lang.String[]> parameterMap, InputStream is)
667                    throws PortalException;
668    
669            /**
670            * @deprecated As of 7.0.0, with no direct replacement
671            */
672            @java.lang.Deprecated
673            public void importPortletInfoInBackground(java.lang.String taskName,
674                    java.lang.String portletId,
675                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
676                    throws PortalException;
677    
678            /**
679            * @deprecated As of 7.0.0, with no direct replacement
680            */
681            @java.lang.Deprecated
682            public void importPortletInfoInBackground(java.lang.String taskName,
683                    java.lang.String portletId,
684                    Map<java.lang.String, java.lang.String[]> parameterMap, InputStream is)
685                    throws PortalException;
686    
687            /**
688            * Schedules a range of layouts to be published.
689            *
690            * @param sourceGroupId the primary key of the source group
691            * @param targetGroupId the primary key of the target group
692            * @param privateLayout whether the layout is private to the group
693            * @param layoutIdMap the layouts considered for publishing, specified
694            by the layout IDs and booleans indicating whether they have
695            children
696            * @param parameterMap the mapping of parameters indicating which
697            information will be used. See {@link
698            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
699            * @param groupName the group name (optionally {@link
700            DestinationNames#LAYOUTS_LOCAL_PUBLISHER}). See {@link
701            DestinationNames}.
702            * @param cronText the cron text. See {@link
703            com.liferay.portal.kernel.cal.RecurrenceSerializer
704            #toCronText}
705            * @param schedulerStartDate the scheduler start date
706            * @param schedulerEndDate the scheduler end date
707            * @param description the scheduler description
708            * @deprecated As of 7.0.0, replaced by {@link #schedulePublishToLive(long,
709            long, boolean, long[], Map, String, Date, Date, String,
710            String, Date, Date, String)}
711            */
712            @java.lang.Deprecated
713            public void schedulePublishToLive(long sourceGroupId, long targetGroupId,
714                    boolean privateLayout,
715                    Map<java.lang.Long, java.lang.Boolean> layoutIdMap,
716                    Map<java.lang.String, java.lang.String[]> parameterMap,
717                    java.lang.String scope, Date startDate, Date endDate,
718                    java.lang.String groupName, java.lang.String cronText,
719                    Date schedulerStartDate, Date schedulerEndDate,
720                    java.lang.String description) throws PortalException;
721    
722            /**
723            * Schedules a range of layouts to be published.
724            *
725            * @param sourceGroupId the primary key of the source group
726            * @param targetGroupId the primary key of the target group
727            * @param privateLayout whether the layout is private to the group
728            * @param layoutIds the layouts considered for publishing, specified by the
729            layout IDs
730            * @param parameterMap the mapping of parameters indicating which
731            information will be used. See {@link
732            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
733            * @param groupName the group name (optionally {@link
734            DestinationNames#LAYOUTS_LOCAL_PUBLISHER}). See {@link
735            DestinationNames}.
736            * @param cronText the cron text. See {@link
737            com.liferay.portal.kernel.cal.RecurrenceSerializer #toCronText}
738            * @param schedulerStartDate the scheduler start date
739            * @param schedulerEndDate the scheduler end date
740            * @param description the scheduler description
741            */
742            public void schedulePublishToLive(long sourceGroupId, long targetGroupId,
743                    boolean privateLayout, long[] layoutIds,
744                    Map<java.lang.String, java.lang.String[]> parameterMap,
745                    java.lang.String groupName, java.lang.String cronText,
746                    Date schedulerStartDate, Date schedulerEndDate,
747                    java.lang.String description) throws PortalException;
748    
749            /**
750            * Schedules a range of layouts to be published.
751            *
752            * @param sourceGroupId the primary key of the source group
753            * @param targetGroupId the primary key of the target group
754            * @param privateLayout whether the layout is private to the group
755            * @param layoutIds the layouts considered for publishing, specified by
756            the layout IDs
757            * @param parameterMap the mapping of parameters indicating which
758            information will be used. See {@link
759            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
760            * @param scope the scope of the pages. It can be
761            <code>all-pages</code> or <code>selected-pages</code>.
762            * @param startDate the start date
763            * @param endDate the end date
764            * @param groupName the group name (optionally {@link
765            DestinationNames#LAYOUTS_LOCAL_PUBLISHER}). See {@link
766            DestinationNames}.
767            * @param cronText the cron text. See {@link
768            com.liferay.portal.kernel.cal.RecurrenceSerializer
769            #toCronText}
770            * @param schedulerStartDate the scheduler start date
771            * @param schedulerEndDate the scheduler end date
772            * @param description the scheduler description
773            * @deprecated As of 7.0.0, replaced by {@link #schedulePublishToLive(long,
774            long, boolean, long[], Map, String, String, Date, Date,
775            String)}
776            */
777            @java.lang.Deprecated
778            public void schedulePublishToLive(long sourceGroupId, long targetGroupId,
779                    boolean privateLayout, long[] layoutIds,
780                    Map<java.lang.String, java.lang.String[]> parameterMap,
781                    java.lang.String scope, Date startDate, Date endDate,
782                    java.lang.String groupName, java.lang.String cronText,
783                    Date schedulerStartDate, Date schedulerEndDate,
784                    java.lang.String description) throws PortalException;
785    
786            /**
787            * Schedules a range of layouts to be stored.
788            *
789            * @param sourceGroupId the primary key of the source group
790            * @param privateLayout whether the layout is private to the group
791            * @param layoutIdMap the layouts considered for publishing, specified by
792            the layout IDs and booleans indicating whether they have children
793            * @param parameterMap the mapping of parameters indicating which
794            information will be used. See {@link
795            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
796            * @param remoteAddress the remote address
797            * @param remotePort the remote port
798            * @param remotePathContext the remote path context
799            * @param secureConnection whether the connection is secure
800            * @param remoteGroupId the primary key of the remote group
801            * @param remotePrivateLayout whether remote group's layout is private
802            * @param startDate the start date
803            * @param endDate the end date
804            * @param groupName the group name. Optionally {@link
805            DestinationNames#LAYOUTS_LOCAL_PUBLISHER}). See {@link
806            DestinationNames}.
807            * @param cronText the cron text. See {@link
808            com.liferay.portal.kernel.cal.RecurrenceSerializer #toCronText}
809            * @param schedulerStartDate the scheduler start date
810            * @param schedulerEndDate the scheduler end date
811            * @param description the scheduler description
812            */
813            public void schedulePublishToRemote(long sourceGroupId,
814                    boolean privateLayout,
815                    Map<java.lang.Long, java.lang.Boolean> layoutIdMap,
816                    Map<java.lang.String, java.lang.String[]> parameterMap,
817                    java.lang.String remoteAddress, int remotePort,
818                    java.lang.String remotePathContext, boolean secureConnection,
819                    long remoteGroupId, boolean remotePrivateLayout, Date startDate,
820                    Date endDate, java.lang.String groupName, java.lang.String cronText,
821                    Date schedulerStartDate, Date schedulerEndDate,
822                    java.lang.String description) throws PortalException;
823    
824            /**
825            * Sets the layouts for the group, replacing and prioritizing all layouts of
826            * the parent layout.
827            *
828            * @param groupId the primary key of the group
829            * @param privateLayout whether the layout is private to the group
830            * @param parentLayoutId the primary key of the parent layout
831            * @param layoutIds the primary keys of the layouts
832            * @param serviceContext the service context to be applied
833            */
834            public void setLayouts(long groupId, boolean privateLayout,
835                    long parentLayoutId, long[] layoutIds,
836                    com.liferay.portal.service.ServiceContext serviceContext)
837                    throws PortalException;
838    
839            /**
840            * Deletes the job from the scheduler's queue.
841            *
842            * @param groupId the primary key of the group
843            * @param jobName the job name
844            * @param groupName the group name (optionally {@link
845            DestinationNames#LAYOUTS_LOCAL_PUBLISHER}). See {@link
846            DestinationNames}.
847            */
848            public void unschedulePublishToLive(long groupId, java.lang.String jobName,
849                    java.lang.String groupName) throws PortalException;
850    
851            /**
852            * Deletes the job from the scheduler's persistent queue.
853            *
854            * @param groupId the primary key of the group
855            * @param jobName the job name
856            * @param groupName the group name (optionally {@link
857            DestinationNames#LAYOUTS_LOCAL_PUBLISHER}). See {@link
858            DestinationNames}.
859            */
860            public void unschedulePublishToRemote(long groupId,
861                    java.lang.String jobName, java.lang.String groupName)
862                    throws PortalException;
863    
864            public Layout updateIconImage(long plid, byte[] bytes)
865                    throws PortalException;
866    
867            /**
868            * Updates the layout with additional parameters.
869            *
870            * @param groupId the primary key of the group
871            * @param privateLayout whether the layout is private to the group
872            * @param layoutId the primary key of the layout
873            * @param parentLayoutId the primary key of the layout's new parent layout
874            * @param localeNamesMap the layout's locales and localized names
875            * @param localeTitlesMap the layout's locales and localized titles
876            * @param descriptionMap the locales and localized descriptions to merge
877            (optionally <code>null</code>)
878            * @param keywordsMap the locales and localized keywords to merge
879            (optionally <code>null</code>)
880            * @param robotsMap the locales and localized robots to merge (optionally
881            <code>null</code>)
882            * @param type the layout's new type (optionally {@link
883            LayoutConstants#TYPE_PORTLET})
884            * @param hidden whether the layout is hidden
885            * @param friendlyURLMap the layout's locales and localized friendly URLs.
886            To see how the URL is normalized when accessed see {@link
887            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
888            String)}.
889            * @param iconImage whether the icon image will be updated
890            * @param iconBytes the byte array of the layout's new icon image
891            * @param serviceContext the service context to be applied. Can set the
892            modification date and expando bridge attributes for the layout.
893            * @return the updated layout
894            */
895            public Layout updateLayout(long groupId, boolean privateLayout,
896                    long layoutId, long parentLayoutId,
897                    Map<Locale, java.lang.String> localeNamesMap,
898                    Map<Locale, java.lang.String> localeTitlesMap,
899                    Map<Locale, java.lang.String> descriptionMap,
900                    Map<Locale, java.lang.String> keywordsMap,
901                    Map<Locale, java.lang.String> robotsMap, java.lang.String type,
902                    boolean hidden, Map<Locale, java.lang.String> friendlyURLMap,
903                    boolean iconImage, byte[] iconBytes,
904                    com.liferay.portal.service.ServiceContext serviceContext)
905                    throws PortalException;
906    
907            /**
908            * Updates the layout replacing its type settings.
909            *
910            * @param groupId the primary key of the group
911            * @param privateLayout whether the layout is private to the group
912            * @param layoutId the primary key of the layout
913            * @param typeSettings the settings to load the unicode properties object.
914            See {@link com.liferay.portal.kernel.util.UnicodeProperties
915            #fastLoad(String)}.
916            * @return the updated layout
917            */
918            public Layout updateLayout(long groupId, boolean privateLayout,
919                    long layoutId, java.lang.String typeSettings) throws PortalException;
920    
921            /**
922            * Updates the look and feel of the layout.
923            *
924            * @param groupId the primary key of the group
925            * @param privateLayout whether the layout is private to the group
926            * @param layoutId the primary key of the layout
927            * @param themeId the primary key of the layout's new theme
928            * @param colorSchemeId the primary key of the layout's new color scheme
929            * @param css the layout's new CSS
930            * @param wapTheme whether the theme is for WAP browsers
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, boolean wapTheme)
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.portlet.exportimport.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.portlet.exportimport.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.portlet.exportimport.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.portlet.exportimport.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    }