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 AbstractPageModel
clone(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 ContentSlotModel
cloneAndAddContentSlot(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 CMSAdminContentSlotService
getCmsAdminContentSlotService()
protected CMSAdminPageService
getCmsAdminPageService()
protected CMSItemCloningService
getCmsItemCloningService()
protected CMSItemDeepCloningService
getCmsItemDeepCloningService()
protected CMSModelCloningContextFactory
getCmsModelCloningContextFactory()
protected SessionSearchRestrictionsDisabler
getCmsSessionSearchRestrictionsDisabler()
protected ModelService
getModelService()
protected SearchRestrictionService
getSearchRestrictionService()
protected SessionService
getSessionService()
protected org.springframework.transaction.PlatformTransactionManager
getTransactionManager()
void
setCmsAdminContentSlotService(CMSAdminContentSlotService cmsAdminContentSlotService)
void
setCmsAdminPageService(CMSAdminPageService cmsAdminPageService)
void
setCmsItemCloningService(CMSItemCloningService cmsItemCloningService)
void
setCmsItemDeepCloningService(CMSItemDeepCloningService cmsItemDeepCloningService)
void
setCmsModelCloningContextFactory(CMSModelCloningContextFactory cmsModelCloningContextFactory)
void
setCmsSessionSearchRestrictionsDisabler(SessionSearchRestrictionsDisabler cmsSessionSearchRestrictionsDisabler)
void
setModelService(ModelService modelService)
void
setSearchRestrictionService(SearchRestrictionService searchRestrictionService)
void
setSessionService(SessionService sessionService)
void
setTransactionManager(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:CMSCloningStrategy
Clones 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:
clone
in 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 containshouldCloneComponents
which 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)
-
-