001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.service;
016    
017    import com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.jsonwebservice.JSONWebService;
020    import com.liferay.portal.kernel.transaction.Isolation;
021    import com.liferay.portal.kernel.transaction.Propagation;
022    import com.liferay.portal.kernel.transaction.Transactional;
023    import com.liferay.portal.security.ac.AccessControlled;
024    
025    /**
026     * The interface for the layout remote service.
027     *
028     * <p>
029     * This is a remote service. Methods of this service are expected to have security checks based on the propagated JAAS credentials because this service can be accessed remotely.
030     * </p>
031     *
032     * @author Brian Wing Shun Chan
033     * @see LayoutServiceUtil
034     * @see com.liferay.portal.service.base.LayoutServiceBaseImpl
035     * @see com.liferay.portal.service.impl.LayoutServiceImpl
036     * @generated
037     */
038    @AccessControlled
039    @JSONWebService
040    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
041            PortalException.class, SystemException.class})
042    public interface LayoutService extends BaseService {
043            /*
044             * NOTE FOR DEVELOPERS:
045             *
046             * 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.
047             */
048    
049            /**
050            * Returns the Spring bean ID for this bean.
051            *
052            * @return the Spring bean ID for this bean
053            */
054            public java.lang.String getBeanIdentifier();
055    
056            /**
057            * Sets the Spring bean ID for this bean.
058            *
059            * @param beanIdentifier the Spring bean ID for this bean
060            */
061            public void setBeanIdentifier(java.lang.String beanIdentifier);
062    
063            /**
064            * Adds a layout with additional parameters.
065            *
066            * <p>
067            * This method handles the creation of the layout including its resources,
068            * metadata, and internal data structures. It is not necessary to make
069            * subsequent calls to any methods to setup default groups, resources, ...
070            * etc.
071            * </p>
072            *
073            * @param groupId the primary key of the group
074            * @param privateLayout whether the layout is private to the group
075            * @param parentLayoutId the primary key of the parent layout (optionally
076            {@link
077            com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID})
078            * @param localeNamesMap the layout's locales and localized names
079            * @param localeTitlesMap the layout's locales and localized titles
080            * @param descriptionMap the layout's locales and localized descriptions
081            * @param keywordsMap the layout's locales and localized keywords
082            * @param robotsMap the layout's locales and localized robots
083            * @param type the layout's type (optionally {@link
084            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET}). The
085            possible types can be found in {@link
086            com.liferay.portal.model.LayoutConstants}.
087            * @param hidden whether the layout is hidden
088            * @param friendlyURL the layout's friendly URL (optionally {@link
089            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}
090            or {@link
091            com.liferay.portal.util.PropsValues#DEFAULT_USER_PUBLIC_LAYOUT_FRIENDLY_URL}).
092            The default values can be overridden in
093            <code>portal-ext.properties</code> by specifying new values for
094            the corresponding properties defined in {@link
095            com.liferay.portal.util.PropsValues}. To see how the URL is
096            normalized when accessed see {@link
097            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
098            String)}.
099            * @param serviceContext the service context to be applied. Must set the
100            UUID for the layout. Can set the creation date, modification date
101            and the expando bridge attributes for the layout. For layouts
102            that belong to a layout set prototype, an attribute named
103            'layoutUpdateable' can be used to specify whether site
104            administrators can modify this page within their site.
105            * @return the layout
106            * @throws PortalException if a group with the primary key could not be
107            found, if the group did not have permission to manage the layouts
108            involved, or if layout values were invalid
109            * @throws SystemException if a system exception occurred
110            */
111            public com.liferay.portal.model.Layout addLayout(long groupId,
112                    boolean privateLayout, long parentLayoutId,
113                    java.util.Map<java.util.Locale, java.lang.String> localeNamesMap,
114                    java.util.Map<java.util.Locale, java.lang.String> localeTitlesMap,
115                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
116                    java.util.Map<java.util.Locale, java.lang.String> keywordsMap,
117                    java.util.Map<java.util.Locale, java.lang.String> robotsMap,
118                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
119                    com.liferay.portal.service.ServiceContext serviceContext)
120                    throws com.liferay.portal.kernel.exception.PortalException,
121                            com.liferay.portal.kernel.exception.SystemException;
122    
123            /**
124            * Adds a layout with single entry maps for name, title, and description to
125            * the default locale.
126            *
127            * <p>
128            * This method handles the creation of the layout including its resources,
129            * metadata, and internal data structures. It is not necessary to make
130            * subsequent calls to any methods to setup default groups, resources, ...
131            * etc.
132            * </p>
133            *
134            * @param groupId the primary key of the group
135            * @param privateLayout whether the layout is private to the group
136            * @param parentLayoutId the primary key of the parent layout (optionally
137            {@link
138            com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID})
139            * @param name Map the layout's locales and localized names
140            * @param title Map the layout's locales and localized titles
141            * @param description Map the layout's locales and localized descriptions
142            * @param type the layout's type (optionally {@link
143            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET}). The
144            possible types can be found in {@link
145            com.liferay.portal.model.LayoutConstants}.
146            * @param hidden whether the layout is hidden
147            * @param friendlyURL the layout's friendly URL (optionally {@link
148            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}
149            or {@link
150            com.liferay.portal.util.PropsValues#DEFAULT_USER_PUBLIC_LAYOUT_FRIENDLY_URL}).
151            The default values can be overridden in
152            <code>portal-ext.properties</code> by specifying new values for
153            the corresponding properties defined in {@link
154            com.liferay.portal.util.PropsValues}. To see how the URL is
155            normalized when accessed see {@link
156            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
157            String)}.
158            * @param serviceContext the service context to be applied. Must set the
159            UUID for the layout. Can specify the creation date, modification
160            date and the expando bridge attributes for the layout. For
161            layouts that belong to a layout set prototype, an attribute named
162            'layoutUpdateable' can be used to specify whether site
163            administrators can modify this page within their site.
164            * @return the layout
165            * @throws PortalException if a group with the primary key could not be
166            found, if the group did not have permission to manage the layouts
167            involved, or if layout values were invalid
168            * @throws SystemException if a system exception occurred
169            */
170            public com.liferay.portal.model.Layout addLayout(long groupId,
171                    boolean privateLayout, long parentLayoutId, java.lang.String name,
172                    java.lang.String title, java.lang.String description,
173                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
174                    com.liferay.portal.service.ServiceContext serviceContext)
175                    throws com.liferay.portal.kernel.exception.PortalException,
176                            com.liferay.portal.kernel.exception.SystemException;
177    
178            /**
179            * Deletes the layout with the primary key, also deleting the layout's child
180            * layouts, and associated resources.
181            *
182            * @param groupId the primary key of the group
183            * @param privateLayout whether the layout is private to the group
184            * @param layoutId the primary key of the layout
185            * @param serviceContext the service context to be applied
186            * @throws PortalException if the user did not have permission to delete the
187            layout, if a matching layout could not be found , or if some
188            other portal exception occurred
189            * @throws SystemException if a system exception occurred
190            */
191            public void deleteLayout(long groupId, boolean privateLayout,
192                    long layoutId, com.liferay.portal.service.ServiceContext serviceContext)
193                    throws com.liferay.portal.kernel.exception.PortalException,
194                            com.liferay.portal.kernel.exception.SystemException;
195    
196            /**
197            * Deletes the layout with the plid, also deleting the layout's child
198            * layouts, and associated resources.
199            *
200            * @param plid the primary key of the layout
201            * @param serviceContext the service context to be applied
202            * @throws PortalException if the user did not have permission to delete the
203            layout, if a layout with the primary key could not be found , or
204            if some other portal exception occurred
205            * @throws SystemException if a system exception occurred
206            */
207            public void deleteLayout(long plid,
208                    com.liferay.portal.service.ServiceContext serviceContext)
209                    throws com.liferay.portal.kernel.exception.PortalException,
210                            com.liferay.portal.kernel.exception.SystemException;
211    
212            /**
213            * Exports the layouts that match the primary keys and the criteria as a
214            * byte array.
215            *
216            * @param groupId the primary key of the group
217            * @param privateLayout whether the layout is private to the group
218            * @param layoutIds the primary keys of the layouts to be exported
219            * @param parameterMap the mapping of parameters indicating which
220            information to export. For information on the keys used in the
221            map see {@link
222            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
223            * @param startDate the export's start date
224            * @param endDate the export's end date
225            * @return the layouts as a byte array
226            * @throws PortalException if a group or any layout with the primary key
227            could not be found, if the group did not have permission to
228            manage the layouts, or if some other portal exception occurred
229            * @throws SystemException if a system exception occurred
230            */
231            public byte[] exportLayouts(long groupId, boolean privateLayout,
232                    long[] layoutIds,
233                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
234                    java.util.Date startDate, java.util.Date endDate)
235                    throws com.liferay.portal.kernel.exception.PortalException,
236                            com.liferay.portal.kernel.exception.SystemException;
237    
238            /**
239            * Exports all layouts that match the criteria as a byte array.
240            *
241            * @param groupId the primary key of the group
242            * @param privateLayout whether the layout is private to the group
243            * @param parameterMap the mapping of parameters indicating which
244            information to export. For information on the keys used in the
245            map see {@link
246            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
247            * @param startDate the export's start date
248            * @param endDate the export's end date
249            * @return the layout as a byte array
250            * @throws PortalException if a group with the primary key could not be
251            found, if the group did not have permission to manage the
252            layouts, or if some other portal exception occurred
253            * @throws SystemException if a system exception occurred
254            */
255            public byte[] exportLayouts(long groupId, boolean privateLayout,
256                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
257                    java.util.Date startDate, java.util.Date endDate)
258                    throws com.liferay.portal.kernel.exception.PortalException,
259                            com.liferay.portal.kernel.exception.SystemException;
260    
261            /**
262            * Exports all layouts that match the primary keys and criteria as a file.
263            *
264            * @param groupId the primary key of the group
265            * @param privateLayout whether the layout is private to the group
266            * @param layoutIds the primary keys of the layouts to be exported
267            (optionally <code>null</code>)
268            * @param parameterMap the mapping of parameters indicating which
269            information to export. For information on the keys used in the
270            map see {@link
271            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
272            * @param startDate the export's start date
273            * @param endDate the export's end date
274            * @return the layouts as a File
275            * @throws PortalException if a group or any layout with the primary key
276            could not be found, it the group did not have permission to
277            manage the layouts, or if some other portal exception occurred
278            * @throws SystemException if a system exception occurred
279            */
280            public java.io.File exportLayoutsAsFile(long groupId,
281                    boolean privateLayout, long[] layoutIds,
282                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
283                    java.util.Date startDate, java.util.Date endDate)
284                    throws com.liferay.portal.kernel.exception.PortalException,
285                            com.liferay.portal.kernel.exception.SystemException;
286    
287            /**
288            * Exports the portlet information (categories, permissions, ... etc.) as a
289            * byte array.
290            *
291            * @param plid the primary key of the layout
292            * @param groupId the primary key of the group
293            * @param portletId the primary key of the portlet
294            * @param parameterMap the mapping of parameters indicating which
295            information to export. For information on the keys used in the
296            map see {@link
297            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
298            * @param startDate the export's start date
299            * @param endDate the export's end date
300            * @return the portlet information as a byte array
301            * @throws PortalException if a layout, group, or portlet with the primary
302            key could not be found, if the group did not have permission to
303            manage the layouts involved, or if some other portal exception
304            occurred
305            * @throws SystemException if a system exception occurred
306            */
307            public byte[] exportPortletInfo(long plid, long groupId,
308                    java.lang.String portletId,
309                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
310                    java.util.Date startDate, java.util.Date endDate)
311                    throws com.liferay.portal.kernel.exception.PortalException,
312                            com.liferay.portal.kernel.exception.SystemException;
313    
314            /**
315            * Exports the portlet information (categories, permissions, ... etc.) as a
316            * file.
317            *
318            * @param plid the primary key of the layout
319            * @param groupId the primary key of the group
320            * @param portletId the primary key of the portlet
321            * @param parameterMap the mapping of parameters indicating which
322            information to export. For information on the keys used in the
323            map see {@link
324            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
325            * @param startDate the export's start date
326            * @param endDate the export's end date
327            * @return the portlet information as a file
328            * @throws PortalException if a layout, group, or portlet with the primary
329            key could not be found, it the group did not have permission to
330            manage the layouts involved, or if some other portal exception
331            occurred
332            * @throws SystemException if a system exception occurred
333            */
334            public java.io.File exportPortletInfoAsFile(long plid, long groupId,
335                    java.lang.String portletId,
336                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
337                    java.util.Date startDate, java.util.Date endDate)
338                    throws com.liferay.portal.kernel.exception.PortalException,
339                            com.liferay.portal.kernel.exception.SystemException;
340    
341            /**
342            * Returns all the ancestor layouts of the layout.
343            *
344            * @param plid the primary key of the layout
345            * @return the ancestor layouts of the layout
346            * @throws PortalException if a matching layout could not be found or if a
347            portal exception occurred
348            * @throws SystemException if a system exception occurred
349            */
350            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
351            public java.util.List<com.liferay.portal.model.Layout> getAncestorLayouts(
352                    long plid)
353                    throws com.liferay.portal.kernel.exception.PortalException,
354                            com.liferay.portal.kernel.exception.SystemException;
355    
356            /**
357            * Returns the primary key of the default layout for the group.
358            *
359            * @param groupId the primary key of the group
360            * @param scopeGroupId the primary key of the scope group. See {@link
361            com.liferay.portal.service.ServiceContext#getScopeGroupId()}.
362            * @param privateLayout whether the layout is private to the group
363            * @param portletId the primary key of the portlet
364            * @return Returns the primary key of the default layout group; {@link
365            com.liferay.portal.model.LayoutConstants#DEFAULT_PLID} otherwise
366            * @throws PortalException if a group, layout, or portlet with the primary
367            key could not be found
368            * @throws SystemException if a system exception occurred
369            */
370            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
371            public long getDefaultPlid(long groupId, long scopeGroupId,
372                    boolean privateLayout, java.lang.String portletId)
373                    throws com.liferay.portal.kernel.exception.PortalException,
374                            com.liferay.portal.kernel.exception.SystemException;
375    
376            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
377            public long getDefaultPlid(long groupId, long scopeGroupId,
378                    java.lang.String portletId)
379                    throws com.liferay.portal.kernel.exception.PortalException,
380                            com.liferay.portal.kernel.exception.SystemException;
381    
382            /**
383            * Returns the layout matching the UUID, group, and privacy.
384            *
385            * @param uuid the layout's UUID
386            * @param groupId the primary key of the group
387            * @param privateLayout whether the layout is private to the group
388            * @return the matching layout
389            * @throws PortalException if a matching layout could not be found, if the
390            user did not have permission to view the layout, or if some other
391            portal exception occurred
392            * @throws SystemException if a system exception occurred
393            */
394            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
395            public com.liferay.portal.model.Layout getLayoutByUuidAndGroupId(
396                    java.lang.String uuid, long groupId, boolean privateLayout)
397                    throws com.liferay.portal.kernel.exception.PortalException,
398                            com.liferay.portal.kernel.exception.SystemException;
399    
400            /**
401            * Returns the name of the layout.
402            *
403            * @param groupId the primary key of the group
404            * @param privateLayout whether the layout is private to the group
405            * @param layoutId the primary key of the layout
406            * @param languageId the primary key of the language. For more information
407            See {@link java.util.Locale}.
408            * @return the layout's name
409            * @throws PortalException if a matching layout could not be found
410            * @throws SystemException if a system exception occurred
411            */
412            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
413            public java.lang.String getLayoutName(long groupId, boolean privateLayout,
414                    long layoutId, java.lang.String languageId)
415                    throws com.liferay.portal.kernel.exception.PortalException,
416                            com.liferay.portal.kernel.exception.SystemException;
417    
418            /**
419            * Returns the layout references for all the layouts that belong to the
420            * company and belong to the portlet that matches the preferences.
421            *
422            * @param companyId the primary key of the company
423            * @param portletId the primary key of the portlet
424            * @param preferencesKey the portlet's preference key
425            * @param preferencesValue the portlet's preference value
426            * @return the layout references of the matching layouts
427            * @throws SystemException if a system exception occurred
428            */
429            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
430            public com.liferay.portal.model.LayoutReference[] getLayoutReferences(
431                    long companyId, java.lang.String portletId,
432                    java.lang.String preferencesKey, java.lang.String preferencesValue)
433                    throws com.liferay.portal.kernel.exception.SystemException;
434    
435            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
436            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
437                    long groupId, boolean privateLayout)
438                    throws com.liferay.portal.kernel.exception.SystemException;
439    
440            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
441            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
442                    long groupId, boolean privateLayout, long parentLayoutId)
443                    throws com.liferay.portal.kernel.exception.SystemException;
444    
445            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
446            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
447                    long groupId, boolean privateLayout, long parentLayoutId,
448                    boolean incomplete, int start, int end)
449                    throws com.liferay.portal.kernel.exception.PortalException,
450                            com.liferay.portal.kernel.exception.SystemException;
451    
452            /**
453            * Imports the layouts from the byte array.
454            *
455            * @param groupId the primary key of the group
456            * @param privateLayout whether the layout is private to the group
457            * @param parameterMap the mapping of parameters indicating which
458            information will be imported. For information on the keys used in
459            the map see {@link
460            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
461            * @param bytes the byte array with the data
462            * @throws PortalException if a group with the primary key could not be
463            found, if the group did not have permission to manage the
464            layouts, or if some other portal exception occurred
465            * @throws SystemException if a system exception occurred
466            * @see com.liferay.portal.lar.LayoutImporter
467            */
468            public void importLayouts(long groupId, boolean privateLayout,
469                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
470                    byte[] bytes)
471                    throws com.liferay.portal.kernel.exception.PortalException,
472                            com.liferay.portal.kernel.exception.SystemException;
473    
474            /**
475            * Imports the layouts from the file.
476            *
477            * @param groupId the primary key of the group
478            * @param privateLayout whether the layout is private to the group
479            * @param parameterMap the mapping of parameters indicating which
480            information will be imported. For information on the keys used in
481            the map see {@link
482            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
483            * @param file the LAR file with the data
484            * @throws PortalException if a group with the primary key could not be
485            found, if the group did not have permission to manage the layouts
486            and publish, or if some other portal exception occurred
487            * @throws SystemException if a system exception occurred
488            * @see com.liferay.portal.lar.LayoutImporter
489            */
490            public void importLayouts(long groupId, boolean privateLayout,
491                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
492                    java.io.File file)
493                    throws com.liferay.portal.kernel.exception.PortalException,
494                            com.liferay.portal.kernel.exception.SystemException;
495    
496            /**
497            * Imports the layouts from the input stream.
498            *
499            * @param groupId the primary key of the group
500            * @param privateLayout whether the layout is private to the group
501            * @param parameterMap the mapping of parameters indicating which
502            information will be imported. For information on the keys used in
503            the map see {@link
504            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
505            * @param is the input stream
506            * @throws PortalException if a group with the primary key could not be
507            found, if the group did not have permission to manage the
508            layouts, or if some other portal exception occurred
509            * @throws SystemException if a system exception occurred
510            * @see com.liferay.portal.lar.LayoutImporter
511            */
512            public void importLayouts(long groupId, boolean privateLayout,
513                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
514                    java.io.InputStream is)
515                    throws com.liferay.portal.kernel.exception.PortalException,
516                            com.liferay.portal.kernel.exception.SystemException;
517    
518            /**
519            * Imports the portlet information (categories, permissions, ... etc.) from
520            * the file.
521            *
522            * @param plid the primary key of the layout
523            * @param groupId the primary key of the group
524            * @param portletId the primary key of the portlet
525            * @param parameterMap the mapping of parameters indicating which
526            information will be imported. For information on the keys used in
527            the map see {@link
528            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
529            * @param file the LAR file with the data
530            * @throws PortalException if a group, layout, or portlet with the primary
531            key could not be found, or if the group did not have permission
532            to manage the layouts
533            * @throws SystemException if a system exception occurred
534            */
535            public void importPortletInfo(long plid, long groupId,
536                    java.lang.String portletId,
537                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
538                    java.io.File file)
539                    throws com.liferay.portal.kernel.exception.PortalException,
540                            com.liferay.portal.kernel.exception.SystemException;
541    
542            /**
543            * Imports the portlet information (categories, permissions, ... etc.) from
544            * the input stream.
545            *
546            * @param plid the primary key of the layout
547            * @param groupId the primary key of the group
548            * @param portletId the primary key of the portlet
549            * @param parameterMap the mapping of parameters indicating which
550            information will be imported. For information on the keys used in
551            the map see {@link
552            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
553            * @param is the input stream
554            * @throws PortalException if a group, portlet, or layout with the primary
555            key could not be found or if the group did not have permission to
556            manage the layouts
557            * @throws SystemException if a system exception occurred
558            */
559            public void importPortletInfo(long plid, long groupId,
560                    java.lang.String portletId,
561                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
562                    java.io.InputStream is)
563                    throws com.liferay.portal.kernel.exception.PortalException,
564                            com.liferay.portal.kernel.exception.SystemException;
565    
566            /**
567            * Schedules a range of layouts to be published.
568            *
569            * @param sourceGroupId the primary key of the source group
570            * @param targetGroupId the primary key of the target group
571            * @param privateLayout whether the layout is private to the group
572            * @param layoutIdMap the layouts considered for publishing, specified by
573            the layout IDs and booleans indicating whether they have children
574            * @param parameterMap the mapping of parameters indicating which
575            information will be used. See {@link
576            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}
577            * @param scope the scope of the pages. It can be <code>all-pages</code> or
578            <code>selected-pages</code>.
579            * @param startDate the start date
580            * @param endDate the end date
581            * @param groupName the group name (optionally {@link
582            com.liferay.portal.kernel.messaging.DestinationNames#LAYOUTS_LOCAL_PUBLISHER}).
583            See {@link com.liferay.portal.kernel.messaging.DestinationNames}.
584            * @param cronText the cron text. See {@link
585            com.liferay.portal.kernel.cal.RecurrenceSerializer #toCronText}
586            * @param schedulerStartDate the scheduler start date
587            * @param schedulerEndDate the scheduler end date
588            * @param description the scheduler description
589            * @throws PortalException if the group did not have permission to manage
590            and publish
591            * @throws SystemException if a system exception occurred
592            */
593            public void schedulePublishToLive(long sourceGroupId, long targetGroupId,
594                    boolean privateLayout,
595                    java.util.Map<java.lang.Long, java.lang.Boolean> layoutIdMap,
596                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
597                    java.lang.String scope, java.util.Date startDate,
598                    java.util.Date endDate, java.lang.String groupName,
599                    java.lang.String cronText, java.util.Date schedulerStartDate,
600                    java.util.Date schedulerEndDate, java.lang.String description)
601                    throws com.liferay.portal.kernel.exception.PortalException,
602                            com.liferay.portal.kernel.exception.SystemException;
603    
604            /**
605            * Schedules a range of layouts to be stored.
606            *
607            * @param sourceGroupId the primary key of the source group
608            * @param privateLayout whether the layout is private to the group
609            * @param layoutIdMap the layouts considered for publishing, specified by
610            the layout IDs and booleans indicating whether they have children
611            * @param parameterMap the mapping of parameters indicating which
612            information will be used. See {@link
613            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}
614            * @param remoteAddress the remote address
615            * @param remotePort the remote port
616            * @param remotePathContext the remote path context
617            * @param secureConnection whether the connection is secure
618            * @param remoteGroupId the primary key of the remote group
619            * @param remotePrivateLayout whether remote group's layout is private
620            * @param startDate the start date
621            * @param endDate the end date
622            * @param groupName the group name. Optionally {@link
623            com.liferay.portal.kernel.messaging.DestinationNames#LAYOUTS_LOCAL_PUBLISHER}).
624            See {@link com.liferay.portal.kernel.messaging.DestinationNames}.
625            * @param cronText the cron text. See {@link
626            com.liferay.portal.kernel.cal.RecurrenceSerializer #toCronText}
627            * @param schedulerStartDate the scheduler start date
628            * @param schedulerEndDate the scheduler end date
629            * @param description the scheduler description
630            * @throws PortalException if a group with the source group primary key was
631            not found or if the group did not have permission to publish
632            * @throws SystemException if a system exception occurred
633            */
634            public void schedulePublishToRemote(long sourceGroupId,
635                    boolean privateLayout,
636                    java.util.Map<java.lang.Long, java.lang.Boolean> layoutIdMap,
637                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
638                    java.lang.String remoteAddress, int remotePort,
639                    java.lang.String remotePathContext, boolean secureConnection,
640                    long remoteGroupId, boolean remotePrivateLayout,
641                    java.util.Date startDate, java.util.Date endDate,
642                    java.lang.String groupName, java.lang.String cronText,
643                    java.util.Date schedulerStartDate, java.util.Date schedulerEndDate,
644                    java.lang.String description)
645                    throws com.liferay.portal.kernel.exception.PortalException,
646                            com.liferay.portal.kernel.exception.SystemException;
647    
648            /**
649            * Sets the layouts for the group, replacing and prioritizing all layouts of
650            * the parent layout.
651            *
652            * @param groupId the primary key of the group
653            * @param privateLayout whether the layout is private to the group
654            * @param parentLayoutId the primary key of the parent layout
655            * @param layoutIds the primary keys of the layouts
656            * @param serviceContext the service context to be applied
657            * @throws PortalException if a group or layout with the primary key could
658            not be found, if the group did not have permission to manage the
659            layouts, if no layouts were specified, if the first layout was
660            not page-able, if the first layout was hidden, or if some other
661            portal exception occurred
662            * @throws SystemException if a system exception occurred
663            */
664            public void setLayouts(long groupId, boolean privateLayout,
665                    long parentLayoutId, long[] layoutIds,
666                    com.liferay.portal.service.ServiceContext serviceContext)
667                    throws com.liferay.portal.kernel.exception.PortalException,
668                            com.liferay.portal.kernel.exception.SystemException;
669    
670            /**
671            * Deletes the job from the scheduler's queue.
672            *
673            * @param groupId the primary key of the group
674            * @param jobName the job name
675            * @param groupName the group name (optionally {@link
676            com.liferay.portal.kernel.messaging.DestinationNames#LAYOUTS_LOCAL_PUBLISHER}).
677            See {@link com.liferay.portal.kernel.messaging.DestinationNames}.
678            * @throws PortalException if the group did not permission to manage staging
679            and publish
680            * @throws SystemException if a system exception occurred
681            */
682            public void unschedulePublishToLive(long groupId, java.lang.String jobName,
683                    java.lang.String groupName)
684                    throws com.liferay.portal.kernel.exception.PortalException,
685                            com.liferay.portal.kernel.exception.SystemException;
686    
687            /**
688            * Deletes the job from the scheduler's persistent queue.
689            *
690            * @param groupId the primary key of the group
691            * @param jobName the job name
692            * @param groupName the group name (optionally {@link
693            com.liferay.portal.kernel.messaging.DestinationNames#LAYOUTS_LOCAL_PUBLISHER}).
694            See {@link com.liferay.portal.kernel.messaging.DestinationNames}.
695            * @throws PortalException if a group with the primary key could not be
696            found or if the group did not have permission to publish
697            * @throws SystemException if a system exception occurred
698            */
699            public void unschedulePublishToRemote(long groupId,
700                    java.lang.String jobName, java.lang.String groupName)
701                    throws com.liferay.portal.kernel.exception.PortalException,
702                            com.liferay.portal.kernel.exception.SystemException;
703    
704            /**
705            * Updates the layout.
706            *
707            * @param groupId the primary key of the group
708            * @param privateLayout whether the layout is private to the group
709            * @param layoutId the primary key of the layout
710            * @param parentLayoutId the primary key of the layout's new parent layout
711            * @param localeNamesMap the layout's locales and localized names
712            * @param localeTitlesMap the layout's locales and localized titles
713            * @param descriptionMap the locales and localized descriptions to merge
714            (optionally <code>null</code>)
715            * @param keywordsMap the locales and localized keywords to merge
716            (optionally <code>null</code>)
717            * @param robotsMap the locales and localized robots to merge (optionally
718            <code>null</code>)
719            * @param type the layout's new type (optionally {@link
720            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET})
721            * @param hidden whether the layout is hidden
722            * @param friendlyURL the layout's new friendly URL (optionally {@link
723            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}
724            or {@link
725            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}).
726            The default values can be overridden in
727            <code>portal-ext.properties</code> by specifying new values for
728            the corresponding properties defined in {@link
729            com.liferay.portal.util.PropsValues}. To see how the URL is
730            normalized when accessed see {@link
731            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
732            String)}.
733            * @param iconImage whether the icon image will be updated
734            * @param iconBytes the byte array of the layout's new icon image
735            * @param serviceContext the service context to be applied. Can set the
736            modification date and expando bridge attributes for the layout.
737            * @return the updated layout
738            * @throws PortalException if a group or layout with the primary key could
739            not be found, if the user did not have permission to update the
740            layout, if a unique friendly URL could not be generated, if a
741            valid parent layout ID to use could not be found, or if the
742            layout parameters were invalid
743            * @throws SystemException if a system exception occurred
744            */
745            public com.liferay.portal.model.Layout updateLayout(long groupId,
746                    boolean privateLayout, long layoutId, long parentLayoutId,
747                    java.util.Map<java.util.Locale, java.lang.String> localeNamesMap,
748                    java.util.Map<java.util.Locale, java.lang.String> localeTitlesMap,
749                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
750                    java.util.Map<java.util.Locale, java.lang.String> keywordsMap,
751                    java.util.Map<java.util.Locale, java.lang.String> robotsMap,
752                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
753                    java.lang.Boolean iconImage, byte[] iconBytes,
754                    com.liferay.portal.service.ServiceContext serviceContext)
755                    throws com.liferay.portal.kernel.exception.PortalException,
756                            com.liferay.portal.kernel.exception.SystemException;
757    
758            /**
759            * Updates the layout replacing its type settings.
760            *
761            * @param groupId the primary key of the group
762            * @param privateLayout whether the layout is private to the group
763            * @param layoutId the primary key of the layout
764            * @param typeSettings the settings to load the unicode properties object.
765            See {@link com.liferay.portal.kernel.util.UnicodeProperties
766            #fastLoad(String)}.
767            * @return the updated layout
768            * @throws PortalException if a matching layout could not be found or if the
769            user did not have permission to update the layout
770            * @throws SystemException if a system exception occurred
771            */
772            public com.liferay.portal.model.Layout updateLayout(long groupId,
773                    boolean privateLayout, long layoutId, java.lang.String typeSettings)
774                    throws com.liferay.portal.kernel.exception.PortalException,
775                            com.liferay.portal.kernel.exception.SystemException;
776    
777            /**
778            * Updates the look and feel of the layout.
779            *
780            * @param groupId the primary key of the group
781            * @param privateLayout whether the layout is private to the group
782            * @param layoutId the primary key of the layout
783            * @param themeId the primary key of the layout's new theme
784            * @param colorSchemeId the primary key of the layout's new color scheme
785            * @param css the layout's new CSS
786            * @param wapTheme whether the theme is for WAP browsers
787            * @return the updated layout
788            * @throws PortalException if a matching layout could not be found, or if
789            the user did not have permission to update the layout and
790            permission to apply the theme
791            * @throws SystemException if a system exception occurred
792            */
793            public com.liferay.portal.model.Layout updateLookAndFeel(long groupId,
794                    boolean privateLayout, long layoutId, java.lang.String themeId,
795                    java.lang.String colorSchemeId, java.lang.String css, boolean wapTheme)
796                    throws com.liferay.portal.kernel.exception.PortalException,
797                            com.liferay.portal.kernel.exception.SystemException;
798    
799            /**
800            * Updates the name of the layout matching the group, layout ID, and
801            * privacy.
802            *
803            * @param groupId the primary key of the group
804            * @param privateLayout whether the layout is private to the group
805            * @param layoutId the primary key of the layout
806            * @param name the layout's new name
807            * @param languageId the primary key of the language. For more information
808            see {@link java.util.Locale}.
809            * @return the updated layout
810            * @throws PortalException if a matching layout could not be found, if the
811            user did not have permission to update the layout, or if the new
812            name was <code>null</code>
813            * @throws SystemException if a system exception occurred
814            */
815            public com.liferay.portal.model.Layout updateName(long groupId,
816                    boolean privateLayout, long layoutId, java.lang.String name,
817                    java.lang.String languageId)
818                    throws com.liferay.portal.kernel.exception.PortalException,
819                            com.liferay.portal.kernel.exception.SystemException;
820    
821            /**
822            * Updates the name of the layout matching the primary key.
823            *
824            * @param plid the primary key of the layout
825            * @param name the name to be assigned
826            * @param languageId the primary key of the language. For more information
827            see {@link java.util.Locale}.
828            * @return the updated layout
829            * @throws PortalException if a layout with the primary key could not be
830            found, or if the user did not have permission to update the
831            layout, or if the name was <code>null</code>
832            * @throws SystemException if a system exception occurred
833            */
834            public com.liferay.portal.model.Layout updateName(long plid,
835                    java.lang.String name, java.lang.String languageId)
836                    throws com.liferay.portal.kernel.exception.PortalException,
837                            com.liferay.portal.kernel.exception.SystemException;
838    
839            /**
840            * Updates the parent layout ID of the layout matching the group, layout ID,
841            * and privacy.
842            *
843            * @param groupId the primary key of the group
844            * @param privateLayout whether the layout is private to the group
845            * @param layoutId the primary key of the layout
846            * @param parentLayoutId the primary key to be assigned to the parent
847            layout
848            * @return the matching layout
849            * @throws PortalException if a valid parent layout ID to use could not be
850            found, if a matching layout could not be found, or if the user
851            did not have permission to update the layout
852            * @throws SystemException if a system exception occurred
853            */
854            public com.liferay.portal.model.Layout updateParentLayoutId(long groupId,
855                    boolean privateLayout, long layoutId, long parentLayoutId)
856                    throws com.liferay.portal.kernel.exception.PortalException,
857                            com.liferay.portal.kernel.exception.SystemException;
858    
859            /**
860            * Updates the parent layout ID of the layout matching the primary key. If a
861            * layout matching the parent primary key is found, the layout ID of that
862            * layout is assigned, otherwise {@link
863            * com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID} is
864            * assigned.
865            *
866            * @param plid the primary key of the layout
867            * @param parentPlid the primary key of the parent layout
868            * @return the layout matching the primary key
869            * @throws PortalException if a layout with the primary key could not be
870            found, if the user did not have permission to update the layout,
871            or if a valid parent layout ID to use could not be found
872            * @throws SystemException if a system exception occurred
873            */
874            public com.liferay.portal.model.Layout updateParentLayoutId(long plid,
875                    long parentPlid)
876                    throws com.liferay.portal.kernel.exception.PortalException,
877                            com.liferay.portal.kernel.exception.SystemException;
878    
879            /**
880            * Updates the priority of the layout matching the group, layout ID, and
881            * privacy.
882            *
883            * @param groupId the primary key of the group
884            * @param privateLayout whether the layout is private to the group
885            * @param layoutId the primary key of the layout
886            * @param priority the layout's new priority
887            * @return the updated layout
888            * @throws PortalException if a matching layout could not be found or if the
889            user did not have permission to update the layout
890            * @throws SystemException if a system exception occurred
891            */
892            public com.liferay.portal.model.Layout updatePriority(long groupId,
893                    boolean privateLayout, long layoutId, int priority)
894                    throws com.liferay.portal.kernel.exception.PortalException,
895                            com.liferay.portal.kernel.exception.SystemException;
896    
897            /**
898            * Updates the priority of the layout matching the primary key.
899            *
900            * @param plid the primary key of the layout
901            * @param priority the layout's new priority
902            * @return the updated layout
903            * @throws PortalException if a layout with the primary key could not be
904            found
905            * @throws SystemException if a system exception occurred
906            */
907            public com.liferay.portal.model.Layout updatePriority(long plid,
908                    int priority)
909                    throws com.liferay.portal.kernel.exception.PortalException,
910                            com.liferay.portal.kernel.exception.SystemException;
911    }