Class PageCloningStrategy
java.lang.Object
de.hybris.platform.cms2.cloning.strategy.impl.PageCloningStrategy
- All Implemented Interfaces:
CMSCloningStrategy<AbstractPageModel>
This strategy clones a page.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclone(AbstractPageModel sourcePageModel, Optional<AbstractPageModel> template, Optional<Map<String, Object>> context) Clones the CMS item given by the source universal identifier.protected ContentSlotModelcloneAndAddContentSlot(AbstractPageModel pageModel, ContentSlotModel contentSlotModel, boolean shouldCloneComponents) Clones a content slot and adds it to a page.protected Supplier<AbstractPageModel>clonePage(AbstractPageModel sourcePageModel, AbstractPageModel clonedPageModel, Map<String, Object> context) Clones a page by deep copying the content slots and copy the components by reference or by deep copy.protected Optional<MediaModel>clonePreviewImage(AbstractPageModel sourcePageModel, CatalogVersionModel targetCatalogVersion) Clones a preview image model.protected CMSAdminContentSlotServiceprotected CMSAdminPageServiceprotected CMSItemCloningServiceprotected CMSItemDeepCloningServiceprotected CMSModelCloningContextFactoryprotected SessionSearchRestrictionsDisablerprotected ModelServiceprotected SearchRestrictionServiceprotected SessionServiceprotected org.springframework.transaction.PlatformTransactionManagervoidsetCmsAdminContentSlotService(CMSAdminContentSlotService cmsAdminContentSlotService) voidsetCmsAdminPageService(CMSAdminPageService cmsAdminPageService) voidsetCmsItemCloningService(CMSItemCloningService cmsItemCloningService) voidsetCmsItemDeepCloningService(CMSItemDeepCloningService cmsItemDeepCloningService) voidsetCmsModelCloningContextFactory(CMSModelCloningContextFactory cmsModelCloningContextFactory) voidsetCmsSessionSearchRestrictionsDisabler(SessionSearchRestrictionsDisabler cmsSessionSearchRestrictionsDisabler) voidsetModelService(ModelService modelService) voidsetSearchRestrictionService(SearchRestrictionService searchRestrictionService) voidsetSessionService(SessionService sessionService) voidsetTransactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager)
-
Constructor Details
-
PageCloningStrategy
public PageCloningStrategy()
-
-
Method Details
-
clone
public AbstractPageModel clone(AbstractPageModel sourcePageModel, Optional<AbstractPageModel> template, Optional<Map<String, Object>> context) throws CMSItemNotFoundException, IllegalArgumentExceptionDescription copied from interface:CMSCloningStrategyClones the CMS item given by the source universal identifier. If a template is provided, it may be augmented, otherwise a new item may be created.- Specified by:
clonein interfaceCMSCloningStrategy<AbstractPageModel>- Parameters:
sourcePageModel- the cms item model to be copiedtemplate- (optional) the template of the cloned item that may be augmentedcontext- (optional) this map contains any context specific data required to clone the item- Returns:
- the cloned CMS item model
- Throws:
CMSItemNotFoundException- when no CMS item with the given source Uid can be foundIllegalArgumentException- when the a non-empty optional template or context parameter is expected but not given or the
-
clonePage
protected Supplier<AbstractPageModel> clonePage(AbstractPageModel sourcePageModel, AbstractPageModel clonedPageModel, Map<String, Object> context) Clones a page by deep copying the content slots and copy the components by reference or by deep copy. And if the cloned page is primary page then it clones a preview image and deletes previously existing primary page.- Parameters:
sourcePageModel- - the page model to be copiedclonedPageModel- - the cloned page objectcontext- - the map of cloning values; should containshouldCloneComponentswhich determines if the components should be copied by reference (shouldCloneComponents == FALSE) or deep copied (shouldCloneComponents == TRUE)- Returns:
- a cloned
AbstractPageModel
-
clonePreviewImage
protected Optional<MediaModel> clonePreviewImage(AbstractPageModel sourcePageModel, CatalogVersionModel targetCatalogVersion) Clones a preview image model.- Parameters:
sourcePageModel- - the page model with a preview image modeltargetCatalogVersion- - the target catalog version for preview image- Returns:
- - Optional cloned preview image model
-
cloneAndAddContentSlot
protected ContentSlotModel cloneAndAddContentSlot(AbstractPageModel pageModel, ContentSlotModel contentSlotModel, boolean shouldCloneComponents) Clones a content slot and adds it to a page.- Parameters:
pageModel- the page the cloned content slot will be adcontentSlotModel- the content slot to cloneshouldCloneComponents- true if the components of the content slots should be cloned rather than referenced, false otherwise- Returns:
- the cloned content slot model
-
setCmsAdminContentSlotService
-
getCmsAdminContentSlotService
-
getModelService
-
setModelService
-
getTransactionManager
protected org.springframework.transaction.PlatformTransactionManager getTransactionManager() -
setTransactionManager
public void setTransactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager) -
getSearchRestrictionService
-
setSearchRestrictionService
-
getSessionService
-
setSessionService
-
getCmsItemDeepCloningService
-
setCmsItemDeepCloningService
-
getCmsAdminPageService
-
setCmsAdminPageService
-
getCmsSessionSearchRestrictionsDisabler
-
setCmsSessionSearchRestrictionsDisabler
public void setCmsSessionSearchRestrictionsDisabler(SessionSearchRestrictionsDisabler cmsSessionSearchRestrictionsDisabler) -
getCmsModelCloningContextFactory
-
setCmsModelCloningContextFactory
public void setCmsModelCloningContextFactory(CMSModelCloningContextFactory cmsModelCloningContextFactory) -
getCmsItemCloningService
-
setCmsItemCloningService
-