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