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