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