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.dao.orm.ActionableDynamicQuery;
020    import com.liferay.portal.kernel.dao.orm.DynamicQuery;
021    import com.liferay.portal.kernel.dao.orm.ExportActionableDynamicQuery;
022    import com.liferay.portal.kernel.dao.orm.IndexableActionableDynamicQuery;
023    import com.liferay.portal.kernel.dao.orm.Projection;
024    import com.liferay.portal.kernel.exception.PortalException;
025    import com.liferay.portal.kernel.exception.SystemException;
026    import com.liferay.portal.kernel.search.Indexable;
027    import com.liferay.portal.kernel.search.IndexableType;
028    import com.liferay.portal.kernel.systemevent.SystemEvent;
029    import com.liferay.portal.kernel.transaction.Isolation;
030    import com.liferay.portal.kernel.transaction.Propagation;
031    import com.liferay.portal.kernel.transaction.Transactional;
032    import com.liferay.portal.kernel.util.OrderByComparator;
033    import com.liferay.portal.model.Group;
034    import com.liferay.portal.model.Layout;
035    import com.liferay.portal.model.LayoutReference;
036    import com.liferay.portal.model.PersistedModel;
037    import com.liferay.portal.model.SystemEventConstants;
038    import com.liferay.portal.model.User;
039    
040    import com.liferay.portlet.exportimport.lar.MissingReferences;
041    import com.liferay.portlet.exportimport.lar.PortletDataContext;
042    import com.liferay.portlet.exportimport.model.ExportImportConfiguration;
043    
044    import java.io.File;
045    import java.io.InputStream;
046    import java.io.Serializable;
047    
048    import java.util.Date;
049    import java.util.List;
050    import java.util.Locale;
051    import java.util.Map;
052    
053    /**
054     * Provides the local service interface for Layout. Methods of this
055     * service will not have security checks based on the propagated JAAS
056     * credentials because this service can only be accessed from within the same
057     * VM.
058     *
059     * @author Brian Wing Shun Chan
060     * @see LayoutLocalServiceUtil
061     * @see com.liferay.portal.service.base.LayoutLocalServiceBaseImpl
062     * @see com.liferay.portal.service.impl.LayoutLocalServiceImpl
063     * @generated
064     */
065    @ProviderType
066    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
067            PortalException.class, SystemException.class})
068    public interface LayoutLocalService extends BaseLocalService,
069            PersistedModelLocalService {
070            /*
071             * NOTE FOR DEVELOPERS:
072             *
073             * Never modify or reference this interface directly. Always use {@link LayoutLocalServiceUtil} to access the layout local service. Add custom service methods to {@link com.liferay.portal.service.impl.LayoutLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
074             */
075    
076            /**
077            * Adds the layout to the database. Also notifies the appropriate model listeners.
078            *
079            * @param layout the layout
080            * @return the layout that was added
081            */
082            @Indexable(type = IndexableType.REINDEX)
083            public Layout addLayout(Layout layout);
084    
085            /**
086            * Adds a layout with single entry maps for name, title, and description to
087            * the default locale.
088            *
089            * <p>
090            * This method handles the creation of the layout including its resources,
091            * metadata, and internal data structures. It is not necessary to make
092            * subsequent calls to any methods to setup default groups, resources, ...
093            * etc.
094            * </p>
095            *
096            * @param userId the primary key of the user
097            * @param groupId the primary key of the group
098            * @param privateLayout whether the layout is private to the group
099            * @param parentLayoutId the primary key of the parent layout (optionally
100            {@link LayoutConstants#DEFAULT_PARENT_LAYOUT_ID}). The possible
101            values can be found in {@link LayoutConstants}.
102            * @param name the layout's name (optionally {@link
103            PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_NAME} or {@link
104            PropsValues#DEFAULT_USER_PUBLIC_LAYOUT_NAME}). The default values
105            can be overridden in <code>portal-ext.properties</code> by
106            specifying new values for the corresponding properties defined in
107            {@link PropsValues}
108            * @param title the layout's title
109            * @param description the layout's description
110            * @param type the layout's type (optionally {@link
111            LayoutConstants#TYPE_PORTLET}). The possible types can be found
112            in {@link LayoutConstants}.
113            * @param hidden whether the layout is hidden
114            * @param friendlyURL the friendly URL of the layout (optionally {@link
115            PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL} or {@link
116            PropsValues#DEFAULT_USER_PUBLIC_LAYOUT_FRIENDLY_URL}). The
117            default values can be overridden in
118            <code>portal-ext.properties</code> by specifying new values for
119            the corresponding properties defined in {@link PropsValues}. To
120            see how the URL is normalized when accessed, see {@link
121            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
122            String)}.
123            * @param serviceContext the service context to be applied. Must set the
124            UUID for the layout. Can set the creation date and modification
125            date for the layout. For layouts that belong to a layout set
126            prototype, an attribute named <code>layoutUpdateable</code> can
127            be set to specify whether site administrators can modify this
128            page within their site.
129            * @return the layout
130            */
131            public Layout addLayout(long userId, long groupId, boolean privateLayout,
132                    long parentLayoutId, java.lang.String name, java.lang.String title,
133                    java.lang.String description, java.lang.String type, boolean hidden,
134                    java.lang.String friendlyURL,
135                    com.liferay.portal.service.ServiceContext serviceContext)
136                    throws PortalException;
137    
138            /**
139            * Adds a layout with additional parameters.
140            *
141            * <p>
142            * This method handles the creation of the layout including its resources,
143            * metadata, and internal data structures. It is not necessary to make
144            * subsequent calls to any methods to setup default groups, resources, ...
145            * etc.
146            * </p>
147            *
148            * @param userId the primary key of the user
149            * @param groupId the primary key of the group
150            * @param privateLayout whether the layout is private to the group
151            * @param parentLayoutId the primary key of the parent layout (optionally
152            {@link LayoutConstants#DEFAULT_PARENT_LAYOUT_ID})
153            * @param nameMap the layout's locales and localized names
154            * @param titleMap the layout's locales and localized titles
155            * @param descriptionMap the layout's locales and localized descriptions
156            * @param keywordsMap the layout's locales and localized keywords
157            * @param robotsMap the layout's locales and localized robots
158            * @param type the layout's type (optionally {@link
159            LayoutConstants#TYPE_PORTLET}). The possible types can be found
160            in {@link LayoutConstants}.
161            * @param typeSettings the settings to load the unicode properties object.
162            See {@link UnicodeProperties #fastLoad(String)}.
163            * @param hidden whether the layout is hidden
164            * @param friendlyURLMap the layout's locales and localized friendly URLs.
165            To see how the URL is normalized when accessed, see {@link
166            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
167            String)}.
168            * @param serviceContext the service context to be applied. Must set the
169            UUID for the layout. Can set the creation date, modification
170            date, and expando bridge attributes for the layout. For layouts
171            that belong to a layout set prototype, an attribute named
172            <code>layoutUpdateable</code> can be set to specify whether site
173            administrators can modify this page within their site. For
174            layouts that are created from a layout prototype, attributes
175            named <code>layoutPrototypeUuid</code> and
176            <code>layoutPrototypeLinkedEnabled</code> can be specified to
177            provide the unique identifier of the source prototype and a
178            boolean to determine whether a link to it should be enabled to
179            activate propagation of changes made to the linked page in the
180            prototype.
181            * @return the layout
182            */
183            public Layout addLayout(long userId, long groupId, boolean privateLayout,
184                    long parentLayoutId, Map<Locale, java.lang.String> nameMap,
185                    Map<Locale, java.lang.String> titleMap,
186                    Map<Locale, java.lang.String> descriptionMap,
187                    Map<Locale, java.lang.String> keywordsMap,
188                    Map<Locale, java.lang.String> robotsMap, java.lang.String type,
189                    java.lang.String typeSettings, boolean hidden,
190                    Map<Locale, java.lang.String> friendlyURLMap,
191                    com.liferay.portal.service.ServiceContext serviceContext)
192                    throws PortalException;
193    
194            /**
195            * Creates a new layout with the primary key. Does not add the layout to the database.
196            *
197            * @param plid the primary key for the new layout
198            * @return the new layout
199            */
200            public Layout createLayout(long plid);
201    
202            /**
203            * Deletes the layout with the primary key, also deleting the layout's child
204            * layouts, and associated resources.
205            *
206            * @param groupId the primary key of the group
207            * @param privateLayout whether the layout is private to the group
208            * @param layoutId the primary key of the layout
209            * @param serviceContext the service context to be applied
210            */
211            public void deleteLayout(long groupId, boolean privateLayout,
212                    long layoutId, com.liferay.portal.service.ServiceContext serviceContext)
213                    throws PortalException;
214    
215            /**
216            * Deletes the layout from the database. Also notifies the appropriate model listeners.
217            *
218            * @param layout the layout
219            * @return the layout that was removed
220            */
221            @Indexable(type = IndexableType.DELETE)
222            public Layout deleteLayout(Layout layout);
223    
224            /**
225            * Deletes the layout, its child layouts, and its associated resources.
226            *
227            * @param layout the layout
228            * @param updateLayoutSet whether the layout set's page counter needs to be
229            updated
230            * @param serviceContext the service context to be applied
231            */
232            @SystemEvent(action = SystemEventConstants.ACTION_SKIP, type = SystemEventConstants.TYPE_DELETE)
233            public void deleteLayout(Layout layout, boolean updateLayoutSet,
234                    com.liferay.portal.service.ServiceContext serviceContext)
235                    throws PortalException;
236    
237            /**
238            * Deletes the layout with the primary key from the database. Also notifies the appropriate model listeners.
239            *
240            * @param plid the primary key of the layout
241            * @return the layout that was removed
242            * @throws PortalException if a layout with the primary key could not be found
243            */
244            @Indexable(type = IndexableType.DELETE)
245            public Layout deleteLayout(long plid) throws PortalException;
246    
247            /**
248            * Deletes the layout with the plid, also deleting the layout's child
249            * layouts, and associated resources.
250            *
251            * @param plid the primary key of the layout
252            * @param serviceContext the service context to be applied
253            */
254            public void deleteLayout(long plid,
255                    com.liferay.portal.service.ServiceContext serviceContext)
256                    throws PortalException;
257    
258            /**
259            * Deletes the group's private or non-private layouts, also deleting the
260            * layouts' child layouts, and associated resources.
261            *
262            * @param groupId the primary key of the group
263            * @param privateLayout whether the layout is private to the group
264            * @param serviceContext the service context to be applied. The parent
265            layout set's page count will be updated by default, unless an
266            attribute named <code>updatePageCount</code> is set to
267            <code>false</code>.
268            */
269            public void deleteLayouts(long groupId, boolean privateLayout,
270                    com.liferay.portal.service.ServiceContext serviceContext)
271                    throws PortalException;
272    
273            /**
274            * @throws PortalException
275            */
276            @Override
277            public PersistedModel deletePersistedModel(PersistedModel persistedModel)
278                    throws PortalException;
279    
280            public DynamicQuery dynamicQuery();
281    
282            /**
283            * Performs a dynamic query on the database and returns the matching rows.
284            *
285            * @param dynamicQuery the dynamic query
286            * @return the matching rows
287            */
288            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery);
289    
290            /**
291            * Performs a dynamic query on the database and returns a range of the matching rows.
292            *
293            * <p>
294            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portal.model.impl.LayoutModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
295            * </p>
296            *
297            * @param dynamicQuery the dynamic query
298            * @param start the lower bound of the range of model instances
299            * @param end the upper bound of the range of model instances (not inclusive)
300            * @return the range of matching rows
301            */
302            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start,
303                    int end);
304    
305            /**
306            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
307            *
308            * <p>
309            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portal.model.impl.LayoutModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
310            * </p>
311            *
312            * @param dynamicQuery the dynamic query
313            * @param start the lower bound of the range of model instances
314            * @param end the upper bound of the range of model instances (not inclusive)
315            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
316            * @return the ordered range of matching rows
317            */
318            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start,
319                    int end, OrderByComparator<T> orderByComparator);
320    
321            /**
322            * Returns the number of rows matching the dynamic query.
323            *
324            * @param dynamicQuery the dynamic query
325            * @return the number of rows matching the dynamic query
326            */
327            public long dynamicQueryCount(DynamicQuery dynamicQuery);
328    
329            /**
330            * Returns the number of rows matching the dynamic query.
331            *
332            * @param dynamicQuery the dynamic query
333            * @param projection the projection to apply to the query
334            * @return the number of rows matching the dynamic query
335            */
336            public long dynamicQueryCount(DynamicQuery dynamicQuery,
337                    Projection projection);
338    
339            /**
340            * Exports layouts with the primary keys and criteria as a byte array.
341            *
342            * @param groupId the primary key of the group
343            * @param privateLayout whether the layout is private to the group
344            * @param layoutIds the primary keys of the layouts to be exported
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.portlet.exportimport.lar.PortletDataHandlerKeys}.
349            * @param startDate the export's start date
350            * @param endDate the export's end date
351            * @return the layouts as a byte array
352            * @throws PortalException
353            * @deprecated As of 7.0.0, with no direct replacement
354            */
355            @java.lang.Deprecated
356            public byte[] exportLayouts(long groupId, boolean privateLayout,
357                    long[] layoutIds,
358                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
359                    Date endDate) throws PortalException;
360    
361            /**
362            * Exports all layouts that match the criteria as a byte array.
363            *
364            * @param groupId the primary key of the group
365            * @param privateLayout whether the layout is private to the group
366            * @param parameterMap the mapping of parameters indicating which
367            information to export. For information on the keys used in
368            the map see {@link
369            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
370            * @param startDate the export's start date
371            * @param endDate the export's end date
372            * @return the layout as a byte array
373            * @throws PortalException
374            * @deprecated As of 7.0.0, with no direct replacement
375            */
376            @java.lang.Deprecated
377            public byte[] exportLayouts(long groupId, boolean privateLayout,
378                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
379                    Date endDate) throws PortalException;
380    
381            /**
382            * @throws PortalException
383            * @deprecated As of 7.0.0, replaced by {@link
384            com.liferay.portlet.exportimport.service.ExportImportLocalService#exportLayoutsAsFile(
385            ExportImportConfiguration)}
386            */
387            @java.lang.Deprecated
388            public File exportLayoutsAsFile(
389                    ExportImportConfiguration exportImportConfiguration)
390                    throws PortalException;
391    
392            /**
393            * Exports the layouts that match the primary keys and criteria as a file.
394            *
395            * @param groupId the primary key of the group
396            * @param privateLayout whether the layout is private to the group
397            * @param layoutIds the primary keys of the layouts to be exported
398            (optionally <code>null</code>)
399            * @param parameterMap the mapping of parameters indicating which
400            information to export. For information on the keys used in
401            the map see {@link
402            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
403            * @param startDate the export's start date
404            * @param endDate the export's end date
405            * @return the layouts as a File
406            * @throws PortalException
407            * @deprecated As of 7.0.0, with no direct replacement
408            */
409            @java.lang.Deprecated
410            public File exportLayoutsAsFile(long groupId, boolean privateLayout,
411                    long[] layoutIds,
412                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
413                    Date endDate) throws PortalException;
414    
415            /**
416            * @throws PortalException
417            * @deprecated As of 7.0.0, replaced by {@link
418            com.liferay.portlet.exportimport.service.ExportImportLocalService#exportLayoutsAsFileInBackground(
419            long, ExportImportConfiguration)}
420            */
421            @java.lang.Deprecated
422            public long exportLayoutsAsFileInBackground(long userId,
423                    ExportImportConfiguration exportImportConfiguration)
424                    throws PortalException;
425    
426            /**
427            * @throws PortalException
428            * @deprecated As of 7.0.0, replaced by {@link
429            com.liferay.portlet.exportimport.service.ExportImportLocalService#exportLayoutsAsFileInBackground(
430            long, long)}
431            */
432            @java.lang.Deprecated
433            public long exportLayoutsAsFileInBackground(long userId,
434                    long exportImportConfigurationId) throws PortalException;
435    
436            /**
437            * @throws PortalException
438            * @deprecated As of 7.0.0, with no direct replacement
439            */
440            @java.lang.Deprecated
441            public long exportLayoutsAsFileInBackground(long userId,
442                    java.lang.String taskName, long groupId, boolean privateLayout,
443                    long[] layoutIds,
444                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
445                    Date endDate) throws PortalException;
446    
447            /**
448            * @throws PortalException
449            * @deprecated As of 7.0.0, with no direct replacement
450            */
451            @java.lang.Deprecated
452            public long exportLayoutsAsFileInBackground(long userId,
453                    java.lang.String taskName, long groupId, boolean privateLayout,
454                    long[] layoutIds,
455                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
456                    Date endDate, java.lang.String fileName) throws PortalException;
457    
458            /**
459            * @throws PortalException
460            * @deprecated As of 7.0.0, with no direct replacement
461            */
462            @java.lang.Deprecated
463            public byte[] exportPortletInfo(long companyId, java.lang.String portletId,
464                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
465                    Date endDate) throws PortalException;
466    
467            /**
468            * Exports the portlet information (categories, permissions, ... etc.) as a
469            * byte array.
470            *
471            * @param plid the primary key of the layout
472            * @param groupId the primary key of the group
473            * @param portletId the primary key of the portlet
474            * @param parameterMap the mapping of parameters indicating which
475            information to export. For information on the keys used in
476            the map see {@link
477            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
478            * @param startDate the export's start date
479            * @param endDate the export's end date
480            * @return the portlet information as a byte array
481            * @throws PortalException
482            * @deprecated As of 7.0.0, with no direct replacement
483            */
484            @java.lang.Deprecated
485            public byte[] exportPortletInfo(long plid, long groupId,
486                    java.lang.String portletId,
487                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
488                    Date endDate) throws PortalException;
489    
490            /**
491            * @throws PortalException
492            * @deprecated As of 7.0.0, with no direct replacement
493            */
494            @java.lang.Deprecated
495            public File exportPortletInfoAsFile(long companyId,
496                    java.lang.String portletId,
497                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
498                    Date endDate) throws PortalException;
499    
500            /**
501            * @throws PortalException
502            * @deprecated As of 7.0.0, replaced by {@link
503            com.liferay.portlet.exportimport.service.ExportImportLocalService#exportPortletInfoAsFile(
504            ExportImportConfiguration)}}
505            */
506            @java.lang.Deprecated
507            public File exportPortletInfoAsFile(
508                    ExportImportConfiguration exportImportConfiguration)
509                    throws PortalException;
510    
511            /**
512            * Exports the portlet information (categories, permissions, ... etc.) as a
513            * file.
514            *
515            * @param plid the primary key of the layout
516            * @param groupId the primary key of the group
517            * @param portletId the primary key of the portlet
518            * @param parameterMap the mapping of parameters indicating which
519            information to export. For information on the keys used in
520            the map see {@link
521            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
522            * @param startDate the export's start date
523            * @param endDate the export's end date
524            * @return the portlet information as a file
525            * @throws PortalException
526            * @deprecated As of 7.0.0, with no direct replacement
527            */
528            @java.lang.Deprecated
529            public File exportPortletInfoAsFile(long plid, long groupId,
530                    java.lang.String portletId,
531                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
532                    Date endDate) throws PortalException;
533    
534            /**
535            * @throws PortalException
536            * @deprecated As of 7.0.0, replaced by {@link
537            com.liferay.portlet.exportimport.service.ExportImportLocalService#exportPortletInfoAsFileInBackground(
538            long, ExportImportConfiguration)}}
539            */
540            @java.lang.Deprecated
541            public long exportPortletInfoAsFileInBackground(long userId,
542                    ExportImportConfiguration exportImportConfiguration)
543                    throws PortalException;
544    
545            /**
546            * @throws PortalException
547            * @deprecated As of 7.0.0, replaced by {@link
548            com.liferay.portlet.exportimport.service.ExportImportLocalService#exportPortletInfoAsFileInBackground(
549            long, long)}}
550            */
551            @java.lang.Deprecated
552            public long exportPortletInfoAsFileInBackground(long userId,
553                    long exportImportConfigurationId) throws PortalException;
554    
555            /**
556            * @throws PortalException
557            * @deprecated As of 7.0.0, with no direct replacement
558            */
559            @java.lang.Deprecated
560            public long exportPortletInfoAsFileInBackground(long userId,
561                    java.lang.String taskName, long plid, long groupId,
562                    java.lang.String portletId,
563                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
564                    Date endDate, java.lang.String fileName) throws PortalException;
565    
566            /**
567            * @throws PortalException
568            * @deprecated As of 7.0.0, with no direct replacement
569            */
570            @java.lang.Deprecated
571            public long exportPortletInfoAsFileInBackground(long userId,
572                    java.lang.String taskName, java.lang.String portletId,
573                    Map<java.lang.String, java.lang.String[]> parameterMap, Date startDate,
574                    Date endDate, java.lang.String fileName) throws PortalException;
575    
576            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
577            public Layout fetchFirstLayout(long groupId, boolean privateLayout,
578                    long parentLayoutId);
579    
580            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
581            public Layout fetchLayout(long groupId, boolean privateLayout, long layoutId);
582    
583            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
584            public Layout fetchLayout(long plid);
585    
586            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
587            public Layout fetchLayoutByFriendlyURL(long groupId, boolean privateLayout,
588                    java.lang.String friendlyURL);
589    
590            /**
591            * Returns the layout matching the UUID, group, and privacy.
592            *
593            * @param uuid the layout's UUID
594            * @param groupId the primary key of the group
595            * @param privateLayout whether the layout is private to the group
596            * @return the matching layout, or <code>null</code> if a matching layout could not be found
597            */
598            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
599            public Layout fetchLayoutByUuidAndGroupId(java.lang.String uuid,
600                    long groupId, boolean privateLayout);
601    
602            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
603            public ActionableDynamicQuery getActionableDynamicQuery();
604    
605            /**
606            * Returns the primary key of the default layout for the group
607            *
608            * @param groupId the primary key of the group
609            * @return the primary key of the default layout for the group (optionally
610            {@link LayoutConstants#DEFAULT_PLID})
611            */
612            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
613            public long getDefaultPlid(long groupId);
614    
615            /**
616            * Returns primary key of the matching default layout for the group
617            *
618            * @param groupId the primary key of the group
619            * @param privateLayout whether the layout is private to the group
620            * @return the primary key of the default layout for the group; {@link
621            LayoutConstants#DEFAULT_PLID}) otherwise
622            */
623            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
624            public long getDefaultPlid(long groupId, boolean privateLayout);
625    
626            /**
627            * Returns primary key of the default portlet layout for the group
628            *
629            * @param groupId the primary key of the group
630            * @param privateLayout whether the layout is private to the group
631            * @param portletId the primary key of the portlet
632            * @return the primary key of the default portlet layout for the group;
633            {@link LayoutConstants#DEFAULT_PLID} otherwise
634            * @throws PortalException
635            */
636            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
637            public long getDefaultPlid(long groupId, boolean privateLayout,
638                    java.lang.String portletId) throws PortalException;
639    
640            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
641            public ExportActionableDynamicQuery getExportActionableDynamicQuery(
642                    PortletDataContext portletDataContext);
643    
644            /**
645            * Returns the layout for the friendly URL
646            *
647            * @param groupId the primary key of the group
648            * @param privateLayout whether the layout is private to the group
649            * @param friendlyURL the friendly URL of the layout
650            * @return the layout for the friendly URL
651            */
652            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
653            public Layout getFriendlyURLLayout(long groupId, boolean privateLayout,
654                    java.lang.String friendlyURL) throws PortalException;
655    
656            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
657            public IndexableActionableDynamicQuery getIndexableActionableDynamicQuery();
658    
659            /**
660            * Returns the layout matching the primary key, group, and privacy; throws a
661            * {@link NoSuchLayoutException} otherwise.
662            *
663            * @param groupId the primary key of the group
664            * @param privateLayout whether the layout is private to the group
665            * @param layoutId the primary key of the layout
666            * @return the matching layout
667            */
668            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
669            public Layout getLayout(long groupId, boolean privateLayout, long layoutId)
670                    throws PortalException;
671    
672            /**
673            * Returns the layout with the primary key.
674            *
675            * @param plid the primary key of the layout
676            * @return the layout
677            * @throws PortalException if a layout with the primary key could not be found
678            */
679            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
680            public Layout getLayout(long plid) throws PortalException;
681    
682            /**
683            * Returns the layout for the icon image; throws a {@link
684            * NoSuchLayoutException} otherwise.
685            *
686            * @param iconImageId the primary key of the icon image
687            * @return Returns the layout for the icon image
688            */
689            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
690            public Layout getLayoutByIconImageId(long iconImageId)
691                    throws PortalException;
692    
693            /**
694            * Returns the layout matching the UUID, group, and privacy.
695            *
696            * @param uuid the layout's UUID
697            * @param groupId the primary key of the group
698            * @param privateLayout whether the layout is private to the group
699            * @return the matching layout
700            * @throws PortalException if a matching layout could not be found
701            */
702            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
703            public Layout getLayoutByUuidAndGroupId(java.lang.String uuid,
704                    long groupId, boolean privateLayout) throws PortalException;
705    
706            /**
707            * Returns the layout references for all the layouts that belong to the
708            * company and belong to the portlet that matches the preferences.
709            *
710            * @param companyId the primary key of the company
711            * @param portletId the primary key of the portlet
712            * @param preferencesKey the portlet's preference key
713            * @param preferencesValue the portlet's preference value
714            * @return the layout references of the matching layouts
715            */
716            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
717            public LayoutReference[] getLayouts(long companyId,
718                    java.lang.String portletId, java.lang.String preferencesKey,
719                    java.lang.String preferencesValue);
720    
721            /**
722            * Returns all the layouts belonging to the group.
723            *
724            * @param groupId the primary key of the group
725            * @param privateLayout whether the layout is private to the group
726            * @return the matching layouts, or <code>null</code> if no matches were
727            found
728            */
729            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
730            public List<Layout> getLayouts(long groupId, boolean privateLayout);
731    
732            /**
733            * Returns all the layouts that match the layout IDs and belong to the
734            * group.
735            *
736            * @param groupId the primary key of the group
737            * @param privateLayout whether the layout is private to the group
738            * @param layoutIds the primary keys of the layouts
739            * @return the matching layouts, or an empty list if no matches were found
740            */
741            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
742            public List<Layout> getLayouts(long groupId, boolean privateLayout,
743                    long[] layoutIds) throws PortalException;
744    
745            /**
746            * Returns all the layouts belonging to the group that are children of the
747            * parent layout.
748            *
749            * @param groupId the primary key of the group
750            * @param privateLayout whether the layout is private to the group
751            * @param parentLayoutId the primary key of the parent layout
752            * @return the matching layouts, or <code>null</code> if no matches were
753            found
754            */
755            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
756            public List<Layout> getLayouts(long groupId, boolean privateLayout,
757                    long parentLayoutId);
758    
759            /**
760            * Returns a range of all the layouts belonging to the group that are
761            * children of the parent layout.
762            *
763            * <p>
764            * Useful when paginating results. Returns a maximum of <code>end -
765            * start</code> instances. <code>start</code> and <code>end</code> are not
766            * primary keys, they are indexes in the result set. Thus, <code>0</code>
767            * refers to the first result in the set. Setting both <code>start</code>
768            * and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full
769            * result set.
770            * </p>
771            *
772            * @param groupId the primary key of the group
773            * @param privateLayout whether the layout is private to the group
774            * @param parentLayoutId the primary key of the parent layout
775            * @param incomplete whether the layout is incomplete
776            * @param start the lower bound of the range of layouts
777            * @param end the upper bound of the range of layouts (not inclusive)
778            * @return the matching layouts, or <code>null</code> if no matches were
779            found
780            */
781            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
782            public List<Layout> getLayouts(long groupId, boolean privateLayout,
783                    long parentLayoutId, boolean incomplete, int start, int end);
784    
785            /**
786            * Returns all the layouts that match the type and belong to the group.
787            *
788            * @param groupId the primary key of the group
789            * @param privateLayout whether the layout is private to the group
790            * @param type the type of the layouts (optionally {@link
791            LayoutConstants#TYPE_PORTLET})
792            * @return the matching layouts, or <code>null</code> if no matches were
793            found
794            */
795            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
796            public List<Layout> getLayouts(long groupId, boolean privateLayout,
797                    java.lang.String type);
798    
799            /**
800            * Returns a range of all the layouts.
801            *
802            * <p>
803            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portal.model.impl.LayoutModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
804            * </p>
805            *
806            * @param start the lower bound of the range of layouts
807            * @param end the upper bound of the range of layouts (not inclusive)
808            * @return the range of layouts
809            */
810            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
811            public List<Layout> getLayouts(int start, int end);
812    
813            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
814            public List<Layout> getLayoutsByLayoutPrototypeUuid(
815                    java.lang.String layoutPrototypeUuid);
816    
817            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
818            public int getLayoutsByLayoutPrototypeUuidCount(
819                    java.lang.String layoutPrototypeUuid);
820    
821            /**
822            * Returns all the layouts matching the UUID and company.
823            *
824            * @param uuid the UUID of the layouts
825            * @param companyId the primary key of the company
826            * @return the matching layouts, or an empty list if no matches were found
827            */
828            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
829            public List<Layout> getLayoutsByUuidAndCompanyId(java.lang.String uuid,
830                    long companyId);
831    
832            /**
833            * Returns a range of layouts matching the UUID and company.
834            *
835            * @param uuid the UUID of the layouts
836            * @param companyId the primary key of the company
837            * @param start the lower bound of the range of layouts
838            * @param end the upper bound of the range of layouts (not inclusive)
839            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
840            * @return the range of matching layouts, or an empty list if no matches were found
841            */
842            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
843            public List<Layout> getLayoutsByUuidAndCompanyId(java.lang.String uuid,
844                    long companyId, int start, int end,
845                    OrderByComparator<Layout> orderByComparator);
846    
847            /**
848            * Returns the number of layouts.
849            *
850            * @return the number of layouts
851            */
852            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
853            public int getLayoutsCount();
854    
855            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
856            public int getLayoutsCount(Group group, boolean privateLayout)
857                    throws PortalException;
858    
859            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
860            public int getLayoutsCount(Group group, boolean privateLayout,
861                    boolean includeUserGroups) throws PortalException;
862    
863            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
864            public int getLayoutsCount(Group group, boolean privateLayout,
865                    long parentLayoutId);
866    
867            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
868            public int getLayoutsCount(User user, boolean privateLayout)
869                    throws PortalException;
870    
871            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
872            public int getLayoutsCount(User user, boolean privateLayout,
873                    boolean includeUserGroups) throws PortalException;
874    
875            /**
876            * Returns the primary key to use for the next layout.
877            *
878            * @param groupId the primary key of the group
879            * @param privateLayout whether the layout is private to the group
880            * @return the primary key to use for the next layout
881            */
882            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
883            public long getNextLayoutId(long groupId, boolean privateLayout);
884    
885            /**
886            * Returns all the layouts without resource permissions
887            *
888            * @param roleId the primary key of the role
889            * @return all the layouts without resource permissions
890            */
891            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
892            public List<Layout> getNoPermissionLayouts(long roleId);
893    
894            /**
895            * Returns all the layouts whose friendly URLs are <code>null</code>
896            *
897            * @return all the layouts whose friendly URLs are <code>null</code>
898            */
899            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
900            public List<Layout> getNullFriendlyURLLayouts();
901    
902            /**
903            * Returns the OSGi service identifier.
904            *
905            * @return the OSGi service identifier
906            */
907            public java.lang.String getOSGiServiceIdentifier();
908    
909            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
910            public Layout getParentLayout(Layout layout) throws PortalException;
911    
912            @Override
913            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
914            public PersistedModel getPersistedModel(Serializable primaryKeyObj)
915                    throws PortalException;
916    
917            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
918            public List<Layout> getScopeGroupLayouts(long parentGroupId)
919                    throws PortalException;
920    
921            /**
922            * Returns all the layouts within scope of the group
923            *
924            * @param privateLayout whether the layout is private to the group
925            * @return the layouts within scope of the group
926            */
927            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
928            public List<Layout> getScopeGroupLayouts(long parentGroupId,
929                    boolean privateLayout) throws PortalException;
930    
931            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
932            public boolean hasLayoutSetPrototypeLayout(long layoutSetPrototypeId,
933                    java.lang.String layoutUuid) throws PortalException;
934    
935            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
936            public boolean hasLayoutSetPrototypeLayout(
937                    java.lang.String layoutSetPrototypeUuid, long companyId,
938                    java.lang.String layoutUuid) throws PortalException;
939    
940            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
941            public boolean hasLayouts(Group group) throws PortalException;
942    
943            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
944            public boolean hasLayouts(Group group, boolean privateLayout)
945                    throws PortalException;
946    
947            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
948            public boolean hasLayouts(Group group, boolean privateLayout,
949                    boolean includeUserGroups) throws PortalException;
950    
951            /**
952            * Returns <code>true</code> if the group has any layouts;
953            * <code>false</code> otherwise.
954            *
955            * @param groupId the primary key of the group
956            * @param privateLayout whether the layout is private to the group
957            * @param parentLayoutId the primary key of the parent layout
958            * @return <code>true</code> if the group has any layouts;
959            <code>false</code> otherwise
960            */
961            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
962            public boolean hasLayouts(long groupId, boolean privateLayout,
963                    long parentLayoutId);
964    
965            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
966            public boolean hasLayouts(User user, boolean privateLayout)
967                    throws PortalException;
968    
969            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
970            public boolean hasLayouts(User user, boolean privateLayout,
971                    boolean includeUserGroups) throws PortalException;
972    
973            /**
974            * @throws PortalException
975            * @deprecated As of 7.0.0, replaced by {@link
976            com.liferay.portlet.exportimport.service.ExportImportLocalService#importLayouts(
977            ExportImportConfiguration, File)}}
978            */
979            @java.lang.Deprecated
980            public void importLayouts(
981                    ExportImportConfiguration exportImportConfiguration, File file)
982                    throws PortalException;
983    
984            /**
985            * @throws PortalException
986            * @deprecated As of 7.0.0, replaced by {@link
987            com.liferay.portlet.exportimport.service.ExportImportLocalService#importLayouts(
988            ExportImportConfiguration, InputStream)}}
989            */
990            @java.lang.Deprecated
991            public void importLayouts(
992                    ExportImportConfiguration exportImportConfiguration, InputStream is)
993                    throws PortalException;
994    
995            /**
996            * Imports the layouts from the byte array.
997            *
998            * @param userId the primary key of the user
999            * @param groupId the primary key of the group
1000            * @param privateLayout whether the layout is private to the group
1001            * @param parameterMap the mapping of parameters indicating which
1002            information will be imported. For information on the keys
1003            used in the map see {@link
1004            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
1005            * @param bytes the byte array with the data
1006            * @throws PortalException
1007            * @see com.liferay.portlet.exportimport.lar.LayoutImporter
1008            * @deprecated As of 7.0.0, with no direct replacement
1009            */
1010            @java.lang.Deprecated
1011            public void importLayouts(long userId, long groupId, boolean privateLayout,
1012                    Map<java.lang.String, java.lang.String[]> parameterMap, byte[] bytes)
1013                    throws PortalException;
1014    
1015            /**
1016            * Imports the layouts from the file.
1017            *
1018            * @param userId the primary key of the user
1019            * @param groupId the primary key of the group
1020            * @param privateLayout whether the layout is private to the group
1021            * @param parameterMap the mapping of parameters indicating which
1022            information will be imported. For information on the keys
1023            used in the map see {@link
1024            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
1025            * @param file the LAR file with the data
1026            * @throws PortalException
1027            * @see com.liferay.portlet.exportimport.lar.LayoutImporter
1028            * @deprecated As of 7.0.0, with no direct replacement
1029            */
1030            @java.lang.Deprecated
1031            public void importLayouts(long userId, long groupId, boolean privateLayout,
1032                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
1033                    throws PortalException;
1034    
1035            /**
1036            * Imports the layouts from the input stream.
1037            *
1038            * @param userId the primary key of the user
1039            * @param groupId the primary key of the group
1040            * @param privateLayout whether the layout is private to the group
1041            * @param parameterMap the mapping of parameters indicating which
1042            information will be imported. For information on the keys
1043            used in the map see {@link
1044            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
1045            * @param is the input stream
1046            * @throws PortalException
1047            * @see com.liferay.portlet.exportimport.lar.LayoutImporter
1048            * @deprecated As of 7.0.0, with no direct replacement
1049            */
1050            @java.lang.Deprecated
1051            public void importLayouts(long userId, long groupId, boolean privateLayout,
1052                    Map<java.lang.String, java.lang.String[]> parameterMap, InputStream is)
1053                    throws PortalException;
1054    
1055            /**
1056            * @throws PortalException
1057            * @deprecated As of 7.0.0, replaced by {@link
1058            com.liferay.portlet.exportimport.service.ExportImportLocalService#importLayoutsDataDeletions(
1059            ExportImportConfiguration, File)}
1060            */
1061            @java.lang.Deprecated
1062            public void importLayoutsDataDeletions(
1063                    ExportImportConfiguration exportImportConfiguration, File file)
1064                    throws PortalException;
1065    
1066            /**
1067            * @throws PortalException
1068            * @deprecated As of 7.0.0, replaced by {@link
1069            com.liferay.portlet.exportimport.service.ExportImportLocalService#importLayoutsInBackground(
1070            long, ExportImportConfiguration, File)}
1071            */
1072            @java.lang.Deprecated
1073            public long importLayoutsInBackground(long userId,
1074                    ExportImportConfiguration exportImportConfiguration, File file)
1075                    throws PortalException;
1076    
1077            /**
1078            * @throws PortalException
1079            * @deprecated As of 7.0.0, replaced by {@link
1080            com.liferay.portlet.exportimport.service.ExportImportLocalService#importLayoutsInBackground(
1081            long, long, File)}
1082            */
1083            @java.lang.Deprecated
1084            public long importLayoutsInBackground(long userId,
1085                    long exportImportConfigurationId, File file) throws PortalException;
1086    
1087            /**
1088            * @throws PortalException
1089            * @deprecated As of 7.0.0, with no direct replacement
1090            */
1091            @java.lang.Deprecated
1092            public long importLayoutsInBackground(long userId,
1093                    java.lang.String taskName, long groupId, boolean privateLayout,
1094                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
1095                    throws PortalException;
1096    
1097            /**
1098            * @throws PortalException
1099            * @deprecated As of 7.0.0, with no direct replacement
1100            */
1101            @java.lang.Deprecated
1102            public long importLayoutsInBackground(long userId,
1103                    java.lang.String taskName, long groupId, boolean privateLayout,
1104                    Map<java.lang.String, java.lang.String[]> parameterMap, InputStream is)
1105                    throws PortalException;
1106    
1107            /**
1108            * @throws PortalException
1109            * @deprecated As of 7.0.0, replaced by {@link
1110            com.liferay.portlet.exportimport.service.ExportImportLocalService#importPortletDataDeletions(
1111            ExportImportConfiguration, File)}
1112            */
1113            @java.lang.Deprecated
1114            public void importPortletDataDeletions(
1115                    ExportImportConfiguration exportImportConfiguration, File file)
1116                    throws PortalException;
1117    
1118            /**
1119            * @throws PortalException
1120            * @deprecated As of 7.0.0, replaced by {@link
1121            com.liferay.portlet.exportimport.service.ExportImportLocalService#importPortletInfo(
1122            ExportImportConfiguration, File)}
1123            */
1124            @java.lang.Deprecated
1125            public void importPortletInfo(
1126                    ExportImportConfiguration exportImportConfiguration, File file)
1127                    throws PortalException;
1128    
1129            /**
1130            * @throws PortalException
1131            * @deprecated As of 7.0.0, replaced by {@link
1132            com.liferay.portlet.exportimport.service.ExportImportLocalService#importPortletInfo(
1133            ExportImportConfiguration, InputStream)}
1134            */
1135            @java.lang.Deprecated
1136            public void importPortletInfo(
1137                    ExportImportConfiguration exportImportConfiguration, InputStream is)
1138                    throws PortalException;
1139    
1140            /**
1141            * Imports the portlet information (categories, permissions, ... etc.) from
1142            * the file.
1143            *
1144            * @param userId the primary key of the user
1145            * @param plid the primary key of the target layout
1146            * @param groupId the primary key of the target group
1147            * @param portletId the primary key of the portlet
1148            * @param parameterMap the mapping of parameters indicating which
1149            information will be imported. For information on the keys
1150            used in the map see {@link
1151            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
1152            * @param file the LAR file with the data
1153            * @throws PortalException
1154            * @deprecated As of 7.0.0, with no direct replacement
1155            */
1156            @java.lang.Deprecated
1157            public void importPortletInfo(long userId, long plid, long groupId,
1158                    java.lang.String portletId,
1159                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
1160                    throws PortalException;
1161    
1162            /**
1163            * Imports the portlet information (categories, permissions, ... etc.) from
1164            * the input stream.
1165            *
1166            * @param userId the primary key of the user
1167            * @param plid the primary key of the layout
1168            * @param groupId the primary key of the group
1169            * @param portletId the primary key of the portlet
1170            * @param parameterMap the mapping of parameters indicating which
1171            information will be imported. For information on the keys
1172            used in the map see {@link
1173            com.liferay.portlet.exportimport.lar.PortletDataHandlerKeys}.
1174            * @param is the input stream
1175            * @throws PortalException
1176            * @deprecated As of 7.0.0, with no direct replacement
1177            */
1178            @java.lang.Deprecated
1179            public void importPortletInfo(long userId, long plid, long groupId,
1180                    java.lang.String portletId,
1181                    Map<java.lang.String, java.lang.String[]> parameterMap, InputStream is)
1182                    throws PortalException;
1183    
1184            /**
1185            * @throws PortalException
1186            * @deprecated As of 7.0.0, with no direct replacement
1187            */
1188            @java.lang.Deprecated
1189            public void importPortletInfo(long userId, java.lang.String portletId,
1190                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
1191                    throws PortalException;
1192    
1193            /**
1194            * @throws PortalException
1195            * @deprecated As of 7.0.0, with no direct replacement
1196            */
1197            @java.lang.Deprecated
1198            public void importPortletInfo(long userId, java.lang.String portletId,
1199                    Map<java.lang.String, java.lang.String[]> parameterMap, InputStream is)
1200                    throws PortalException;
1201    
1202            /**
1203            * @throws PortalException
1204            * @deprecated As of 7.0.0, replaced by {@link
1205            com.liferay.portlet.exportimport.service.ExportImportLocalService#importPortletInfoInBackground(
1206            long, ExportImportConfiguration, File)}
1207            */
1208            @java.lang.Deprecated
1209            public long importPortletInfoInBackground(long userId,
1210                    ExportImportConfiguration exportImportConfiguration, File file)
1211                    throws PortalException;
1212    
1213            /**
1214            * @throws PortalException
1215            * @deprecated As of 7.0.0, replaced by {@link
1216            com.liferay.portlet.exportimport.service.ExportImportLocalService#importPortletInfoInBackground(
1217            long, long, File)}
1218            */
1219            @java.lang.Deprecated
1220            public long importPortletInfoInBackground(long userId,
1221                    long exportImportConfigurationId, File file) throws PortalException;
1222    
1223            /**
1224            * @throws PortalException
1225            * @deprecated As of 7.0.0, with no direct replacement
1226            */
1227            @java.lang.Deprecated
1228            public long importPortletInfoInBackground(long userId,
1229                    java.lang.String taskName, long plid, long groupId,
1230                    java.lang.String portletId,
1231                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
1232                    throws PortalException;
1233    
1234            /**
1235            * @throws PortalException
1236            * @deprecated As of 7.0.0, with no direct replacement
1237            */
1238            @java.lang.Deprecated
1239            public long importPortletInfoInBackground(long userId,
1240                    java.lang.String taskName, long plid, long groupId,
1241                    java.lang.String portletId,
1242                    Map<java.lang.String, java.lang.String[]> parameterMap, InputStream is)
1243                    throws PortalException;
1244    
1245            /**
1246            * @throws PortalException
1247            * @deprecated As of 7.0.0, with no direct replacement
1248            */
1249            @java.lang.Deprecated
1250            public long importPortletInfoInBackground(long userId,
1251                    java.lang.String taskName, java.lang.String portletId,
1252                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
1253                    throws PortalException;
1254    
1255            /**
1256            * @throws PortalException
1257            * @deprecated As of 7.0.0, with no direct replacement
1258            */
1259            @java.lang.Deprecated
1260            public long importPortletInfoInBackground(long userId,
1261                    java.lang.String taskName, java.lang.String portletId,
1262                    Map<java.lang.String, java.lang.String[]> parameterMap, InputStream is)
1263                    throws PortalException;
1264    
1265            /**
1266            * Sets the layouts for the group, replacing and prioritizing all layouts of
1267            * the parent layout.
1268            *
1269            * @param groupId the primary key of the group
1270            * @param privateLayout whether the layout is private to the group
1271            * @param parentLayoutId the primary key of the parent layout
1272            * @param layoutIds the primary keys of the layouts
1273            * @param serviceContext the service context to be applied
1274            */
1275            public void setLayouts(long groupId, boolean privateLayout,
1276                    long parentLayoutId, long[] layoutIds,
1277                    com.liferay.portal.service.ServiceContext serviceContext)
1278                    throws PortalException;
1279    
1280            public void updateAsset(long userId, Layout layout,
1281                    long[] assetCategoryIds, java.lang.String[] assetTagNames)
1282                    throws PortalException;
1283    
1284            /**
1285            * Updates the friendly URL of the layout.
1286            *
1287            * @param plid the primary key of the layout
1288            * @param friendlyURL the friendly URL to be assigned
1289            * @param languageId the primary key of the language
1290            * @return the updated layout
1291            * @deprecated As of 7.0.0, replaced by {@link #updateFriendlyURL(long,
1292            long, String, String)}
1293            */
1294            @java.lang.Deprecated
1295            public Layout updateFriendlyURL(long plid, java.lang.String friendlyURL,
1296                    java.lang.String languageId) throws PortalException;
1297    
1298            /**
1299            * Updates the friendly URL of the layout.
1300            *
1301            * @param userId the primary key of the user
1302            * @param plid the primary key of the layout
1303            * @param friendlyURL the friendly URL to be assigned
1304            * @param languageId the primary key of the language
1305            * @return the updated layout
1306            */
1307            public Layout updateFriendlyURL(long userId, long plid,
1308                    java.lang.String friendlyURL, java.lang.String languageId)
1309                    throws PortalException;
1310    
1311            public Layout updateIconImage(long plid, byte[] bytes)
1312                    throws PortalException;
1313    
1314            /**
1315            * Updates the layout.
1316            *
1317            * @param groupId the primary key of the group
1318            * @param privateLayout whether the layout is private to the group
1319            * @param layoutId the primary key of the layout
1320            * @param parentLayoutId the primary key of the layout's new parent layout
1321            * @param nameMap the locales and localized names to merge (optionally
1322            <code>null</code>)
1323            * @param titleMap the locales and localized titles to merge (optionally
1324            <code>null</code>)
1325            * @param descriptionMap the locales and localized descriptions to merge
1326            (optionally <code>null</code>)
1327            * @param keywordsMap the locales and localized keywords to merge
1328            (optionally <code>null</code>)
1329            * @param robotsMap the locales and localized robots to merge (optionally
1330            <code>null</code>)
1331            * @param type the layout's new type (optionally {@link
1332            LayoutConstants#TYPE_PORTLET})
1333            * @param hidden whether the layout is hidden
1334            * @param friendlyURLMap the layout's locales and localized friendly URLs.
1335            To see how the URL is normalized when accessed, see {@link
1336            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
1337            String)}.
1338            * @param iconImage whether the icon image will be updated
1339            * @param iconBytes the byte array of the layout's new icon image
1340            * @param serviceContext the service context to be applied. Can set the
1341            modification date and expando bridge attributes for the layout.
1342            For layouts that are linked to a layout prototype, attributes
1343            named <code>layoutPrototypeUuid</code> and
1344            <code>layoutPrototypeLinkedEnabled</code> can be specified to
1345            provide the unique identifier of the source prototype and a
1346            boolean to determine whether a link to it should be enabled to
1347            activate propagation of changes made to the linked page in the
1348            prototype.
1349            * @return the updated layout
1350            */
1351            public Layout updateLayout(long groupId, boolean privateLayout,
1352                    long layoutId, long parentLayoutId,
1353                    Map<Locale, java.lang.String> nameMap,
1354                    Map<Locale, java.lang.String> titleMap,
1355                    Map<Locale, java.lang.String> descriptionMap,
1356                    Map<Locale, java.lang.String> keywordsMap,
1357                    Map<Locale, java.lang.String> robotsMap, java.lang.String type,
1358                    boolean hidden, Map<Locale, java.lang.String> friendlyURLMap,
1359                    boolean iconImage, byte[] iconBytes,
1360                    com.liferay.portal.service.ServiceContext serviceContext)
1361                    throws PortalException;
1362    
1363            /**
1364            * Updates the layout replacing its type settings.
1365            *
1366            * @param groupId the primary key of the group
1367            * @param privateLayout whether the layout is private to the group
1368            * @param layoutId the primary key of the layout
1369            * @param typeSettings the settings to load the unicode properties object.
1370            See {@link UnicodeProperties #fastLoad(String)}.
1371            * @return the updated layout
1372            */
1373            public Layout updateLayout(long groupId, boolean privateLayout,
1374                    long layoutId, java.lang.String typeSettings) throws PortalException;
1375    
1376            /**
1377            * Updates the layout in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
1378            *
1379            * @param layout the layout
1380            * @return the layout that was updated
1381            */
1382            @Indexable(type = IndexableType.REINDEX)
1383            public Layout updateLayout(Layout layout);
1384    
1385            /**
1386            * Updates the look and feel of the layout.
1387            *
1388            * @param groupId the primary key of the group
1389            * @param privateLayout whether the layout is private to the group
1390            * @param layoutId the primary key of the layout
1391            * @param themeId the primary key of the layout's new theme
1392            * @param colorSchemeId the primary key of the layout's new color scheme
1393            * @param css the layout's new CSS
1394            * @param wapTheme whether the theme is for WAP browsers
1395            * @return the updated layout
1396            */
1397            public Layout updateLookAndFeel(long groupId, boolean privateLayout,
1398                    long layoutId, java.lang.String themeId,
1399                    java.lang.String colorSchemeId, java.lang.String css, boolean wapTheme)
1400                    throws PortalException;
1401    
1402            /**
1403            * Updates the name of the layout matching the group, layout ID, and
1404            * privacy.
1405            *
1406            * @param groupId the primary key of the group
1407            * @param privateLayout whether the layout is private to the group
1408            * @param layoutId the primary key of the layout
1409            * @param name the layout's new name
1410            * @param languageId the primary key of the language. For more information
1411            see {@link Locale}.
1412            * @return the updated layout
1413            */
1414            public Layout updateName(long groupId, boolean privateLayout,
1415                    long layoutId, java.lang.String name, java.lang.String languageId)
1416                    throws PortalException;
1417    
1418            /**
1419            * Updates the name of the layout.
1420            *
1421            * @param layout the layout to be updated
1422            * @param name the layout's new name
1423            * @param languageId the primary key of the language. For more information
1424            see {@link Locale}.
1425            * @return the updated layout
1426            */
1427            public Layout updateName(Layout layout, java.lang.String name,
1428                    java.lang.String languageId) throws PortalException;
1429    
1430            /**
1431            * Updates the name of the layout matching the primary key.
1432            *
1433            * @param plid the primary key of the layout
1434            * @param name the name to be assigned
1435            * @param languageId the primary key of the language. For more information
1436            see {@link Locale}.
1437            * @return the updated layout
1438            */
1439            public Layout updateName(long plid, java.lang.String name,
1440                    java.lang.String languageId) throws PortalException;
1441    
1442            /**
1443            * Updates the parent layout ID of the layout matching the group, layout ID,
1444            * and privacy.
1445            *
1446            * @param groupId the primary key of the group
1447            * @param privateLayout whether the layout is private to the group
1448            * @param layoutId the primary key of the layout
1449            * @param parentLayoutId the primary key to be assigned to the parent
1450            layout
1451            * @return the matching layout
1452            */
1453            public Layout updateParentLayoutId(long groupId, boolean privateLayout,
1454                    long layoutId, long parentLayoutId) throws PortalException;
1455    
1456            /**
1457            * Updates the parent layout ID of the layout matching the primary key. If a
1458            * layout matching the parent primary key is found, the layout ID of that
1459            * layout is assigned, otherwise {@link
1460            * LayoutConstants#DEFAULT_PARENT_LAYOUT_ID} is assigned.
1461            *
1462            * @param plid the primary key of the layout
1463            * @param parentPlid the primary key of the parent layout
1464            * @return the layout matching the primary key
1465            */
1466            public Layout updateParentLayoutId(long plid, long parentPlid)
1467                    throws PortalException;
1468    
1469            /**
1470            * Updates the parent layout ID and priority of the layout.
1471            *
1472            * @param plid the primary key of the layout
1473            * @param parentPlid the primary key of the parent layout
1474            * @param priority the layout's new priority
1475            * @return the layout matching the primary key
1476            */
1477            public Layout updateParentLayoutIdAndPriority(long plid, long parentPlid,
1478                    int priority) throws PortalException;
1479    
1480            /**
1481            * Updates the priorities of the layouts.
1482            *
1483            * @param groupId the primary key of the group
1484            * @param privateLayout whether the layout is private to the group
1485            * @throws PortalException
1486            */
1487            public void updatePriorities(long groupId, boolean privateLayout)
1488                    throws PortalException;
1489    
1490            /**
1491            * Updates the priority of the layout matching the group, layout ID, and
1492            * privacy, setting the layout's priority based on the priorities of the
1493            * next and previous layouts.
1494            *
1495            * @param groupId the primary key of the group
1496            * @param privateLayout whether the layout is private to the group
1497            * @param layoutId the primary key of the layout
1498            * @param nextLayoutId the primary key of the next layout
1499            * @param previousLayoutId the primary key of the previous layout
1500            * @return the updated layout
1501            */
1502            public Layout updatePriority(long groupId, boolean privateLayout,
1503                    long layoutId, long nextLayoutId, long previousLayoutId)
1504                    throws PortalException;
1505    
1506            /**
1507            * Updates the priority of the layout matching the group, layout ID, and
1508            * privacy.
1509            *
1510            * @param groupId the primary key of the group
1511            * @param privateLayout whether the layout is private to the group
1512            * @param layoutId the primary key of the layout
1513            * @param priority the layout's new priority
1514            * @return the updated layout
1515            */
1516            public Layout updatePriority(long groupId, boolean privateLayout,
1517                    long layoutId, int priority) throws PortalException;
1518    
1519            /**
1520            * Updates the priority of the layout.
1521            *
1522            * @param layout the layout to be updated
1523            * @param priority the layout's new priority
1524            * @return the updated layout
1525            */
1526            public Layout updatePriority(Layout layout, int priority)
1527                    throws PortalException;
1528    
1529            /**
1530            * Updates the priority of the layout matching the primary key.
1531            *
1532            * @param plid the primary key of the layout
1533            * @param priority the layout's new priority
1534            * @return the updated layout
1535            */
1536            public Layout updatePriority(long plid, int priority)
1537                    throws PortalException;
1538    
1539            /**
1540            * @throws PortalException
1541            * @deprecated As of 7.0.0, replaced by {@link
1542            com.liferay.portlet.exportimport.service.ExportImportLocalService#validateImportLayoutsFile(
1543            ExportImportConfiguration, File)}
1544            */
1545            @java.lang.Deprecated
1546            public MissingReferences validateImportLayoutsFile(
1547                    ExportImportConfiguration exportImportConfiguration, File file)
1548                    throws PortalException;
1549    
1550            /**
1551            * @throws PortalException
1552            * @deprecated As of 7.0.0, replaced by {@link
1553            com.liferay.portlet.exportimport.service.ExportImportLocalService#validateImportLayoutsFile(
1554            ExportImportConfiguration, InputStream)}
1555            */
1556            @java.lang.Deprecated
1557            public MissingReferences validateImportLayoutsFile(
1558                    ExportImportConfiguration exportImportConfiguration,
1559                    InputStream inputStream) throws PortalException;
1560    
1561            /**
1562            * @throws PortalException
1563            * @deprecated As of 7.0.0, with no direct replacement
1564            */
1565            @java.lang.Deprecated
1566            public MissingReferences validateImportLayoutsFile(long userId,
1567                    long groupId, boolean privateLayout,
1568                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
1569                    throws PortalException;
1570    
1571            /**
1572            * @throws PortalException
1573            * @deprecated As of 7.0.0, with no direct replacement
1574            */
1575            @java.lang.Deprecated
1576            public MissingReferences validateImportLayoutsFile(long userId,
1577                    long groupId, boolean privateLayout,
1578                    Map<java.lang.String, java.lang.String[]> parameterMap,
1579                    InputStream inputStream) throws PortalException;
1580    
1581            /**
1582            * @throws PortalException
1583            * @deprecated As of 7.0.0, replaced by {@link
1584            com.liferay.portlet.exportimport.service.ExportImportLocalService#validateImportPortletInfo(
1585            ExportImportConfiguration, File)}
1586            */
1587            @java.lang.Deprecated
1588            public MissingReferences validateImportPortletInfo(
1589                    ExportImportConfiguration exportImportConfiguration, File file)
1590                    throws PortalException;
1591    
1592            /**
1593            * @throws PortalException
1594            * @deprecated As of 7.0.0, replaced by {@link
1595            com.liferay.portlet.exportimport.service.ExportImportLocalService#validateImportPortletInfo(
1596            ExportImportConfiguration, InputStream)}
1597            */
1598            @java.lang.Deprecated
1599            public MissingReferences validateImportPortletInfo(
1600                    ExportImportConfiguration exportImportConfiguration,
1601                    InputStream inputStream) throws PortalException;
1602    
1603            /**
1604            * @throws PortalException
1605            * @deprecated As of 7.0.0, with no direct replacement
1606            */
1607            @java.lang.Deprecated
1608            public MissingReferences validateImportPortletInfo(long userId, long plid,
1609                    long groupId, java.lang.String portletId,
1610                    Map<java.lang.String, java.lang.String[]> parameterMap, File file)
1611                    throws PortalException;
1612    
1613            /**
1614            * @throws PortalException
1615            * @deprecated As of 7.0.0, with no direct replacement
1616            */
1617            @java.lang.Deprecated
1618            public MissingReferences validateImportPortletInfo(long userId, long plid,
1619                    long groupId, java.lang.String portletId,
1620                    Map<java.lang.String, java.lang.String[]> parameterMap,
1621                    InputStream inputStream) throws PortalException;
1622    }