Class PageCloningStrategy
- java.lang.Object
-
- de.hybris.platform.cms2.cloning.strategy.impl.PageCloningStrategy
-
- All Implemented Interfaces:
CMSCloningStrategy<AbstractPageModel>
public class PageCloningStrategy extends java.lang.Object implements CMSCloningStrategy<AbstractPageModel>
This strategy clones a page.
-
-
Constructor Summary
Constructors Constructor Description PageCloningStrategy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AbstractPageModelclone(AbstractPageModel sourcePageModel, java.util.Optional<AbstractPageModel> template, java.util.Optional<java.util.Map<java.lang.String,java.lang.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 java.util.function.Supplier<AbstractPageModel>clonePage(AbstractPageModel sourcePageModel, AbstractPageModel clonedPageModel, java.util.Map<java.lang.String,java.lang.Object> context)Clones a page by deep copying the content slots and copy the components by reference or by deep copy.protected java.util.Optional<MediaModel>clonePreviewImage(AbstractPageModel sourcePageModel, CatalogVersionModel targetCatalogVersion)Clones a preview image model.protected CMSAdminContentSlotServicegetCmsAdminContentSlotService()protected CMSAdminPageServicegetCmsAdminPageService()protected CMSItemCloningServicegetCmsItemCloningService()protected CMSItemDeepCloningServicegetCmsItemDeepCloningService()protected CMSModelCloningContextFactorygetCmsModelCloningContextFactory()protected SessionSearchRestrictionsDisablergetCmsSessionSearchRestrictionsDisabler()protected ModelServicegetModelService()protected SearchRestrictionServicegetSearchRestrictionService()protected SessionServicegetSessionService()protected org.springframework.transaction.PlatformTransactionManagergetTransactionManager()voidsetCmsAdminContentSlotService(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)
-
-
-
Method Detail
-
clone
public AbstractPageModel clone(AbstractPageModel sourcePageModel, java.util.Optional<AbstractPageModel> template, java.util.Optional<java.util.Map<java.lang.String,java.lang.Object>> context) throws CMSItemNotFoundException, java.lang.IllegalArgumentException
Description 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 foundjava.lang.IllegalArgumentException- when the a non-empty optional template or context parameter is expected but not given or the
-
clonePage
protected java.util.function.Supplier<AbstractPageModel> clonePage(AbstractPageModel sourcePageModel, AbstractPageModel clonedPageModel, java.util.Map<java.lang.String,java.lang.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 java.util.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
public void setCmsAdminContentSlotService(CMSAdminContentSlotService cmsAdminContentSlotService)
-
getCmsAdminContentSlotService
protected CMSAdminContentSlotService getCmsAdminContentSlotService()
-
getModelService
protected ModelService getModelService()
-
setModelService
public void setModelService(ModelService modelService)
-
getTransactionManager
protected org.springframework.transaction.PlatformTransactionManager getTransactionManager()
-
setTransactionManager
public void setTransactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager)
-
getSearchRestrictionService
protected SearchRestrictionService getSearchRestrictionService()
-
setSearchRestrictionService
public void setSearchRestrictionService(SearchRestrictionService searchRestrictionService)
-
getSessionService
protected SessionService getSessionService()
-
setSessionService
public void setSessionService(SessionService sessionService)
-
getCmsItemDeepCloningService
protected CMSItemDeepCloningService getCmsItemDeepCloningService()
-
setCmsItemDeepCloningService
public void setCmsItemDeepCloningService(CMSItemDeepCloningService cmsItemDeepCloningService)
-
getCmsAdminPageService
protected CMSAdminPageService getCmsAdminPageService()
-
setCmsAdminPageService
public void setCmsAdminPageService(CMSAdminPageService cmsAdminPageService)
-
getCmsSessionSearchRestrictionsDisabler
protected SessionSearchRestrictionsDisabler getCmsSessionSearchRestrictionsDisabler()
-
setCmsSessionSearchRestrictionsDisabler
public void setCmsSessionSearchRestrictionsDisabler(SessionSearchRestrictionsDisabler cmsSessionSearchRestrictionsDisabler)
-
getCmsModelCloningContextFactory
protected CMSModelCloningContextFactory getCmsModelCloningContextFactory()
-
setCmsModelCloningContextFactory
public void setCmsModelCloningContextFactory(CMSModelCloningContextFactory cmsModelCloningContextFactory)
-
getCmsItemCloningService
protected CMSItemCloningService getCmsItemCloningService()
-
setCmsItemCloningService
public void setCmsItemCloningService(CMSItemCloningService cmsItemCloningService)
-
-