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 }