Class DefaultCMSSiteService
- java.lang.Object
-
- de.hybris.platform.servicelayer.internal.service.AbstractService
-
- de.hybris.platform.servicelayer.internal.service.AbstractBusinessService
-
- de.hybris.platform.cms2.servicelayer.services.impl.AbstractCMSService
-
- de.hybris.platform.cms2.servicelayer.services.impl.DefaultCMSSiteService
-
- All Implemented Interfaces:
CMSSiteService
,java.io.Serializable
,org.springframework.beans.factory.Aware
,org.springframework.beans.factory.BeanNameAware
,org.springframework.beans.factory.InitializingBean
- Direct Known Subclasses:
MarketplaceCMSSiteService
public class DefaultCMSSiteService extends AbstractCMSService implements CMSSiteService
Default implementation ofCMSSiteService
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class de.hybris.platform.servicelayer.internal.service.AbstractService
AbstractService.SerializableDTO
-
-
Field Summary
-
Fields inherited from class de.hybris.platform.cms2.servicelayer.services.impl.AbstractCMSService
CURRENTCATALOGVERSION, CURRENTSITE
-
Fields inherited from class de.hybris.platform.servicelayer.internal.service.AbstractBusinessService
modelService, sessionService, txManager
-
Fields inherited from class de.hybris.platform.servicelayer.internal.service.AbstractService
tenant
-
-
Constructor Summary
Constructors Constructor Description DefaultCMSSiteService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.List<java.util.regex.Pattern>
compilePatterns(java.util.Collection<java.lang.String> stringPatterns)
boolean
containsCatalog(CMSSiteModel site, CatalogModel catalog, boolean contentOnly)
checks if a given site contains the given catalogprotected boolean
containsContentCatalogImpl(CMSSiteModel site, CatalogModel catalog)
protected boolean
containsProductsCatalogImpl(CMSSiteModel site, CatalogModel catalog)
java.util.Collection<CatalogModel>
getAllCatalogs(CMSSiteModel site)
Returns all catalogs for the specified sitesite
.protected CatalogVersionService
getCatalogVersionService()
java.util.List<CatalogModel>
getClassificationCatalogs(CMSSiteModel site)
Gets the classification catalogs forCMSSiteModel
object.protected CMSPageService
getCmsPageService()
Default getter for CMSPageServiceprotected CMSSiteDao
getCmsSiteDao()
CMSSiteModel
getSiteForURL(java.net.URL url)
Returns the site which is associated with the given urljava.util.Collection<CMSSiteModel>
getSites()
java.lang.String
getStartPageLabelOrId(CMSSiteModel site)
Gets the start page label or id.boolean
hasCurrentCatalogVersion()
boolean
hasCurrentSite()
CMSPageService
lookupCmsPageService()
protected boolean
matches(java.lang.String input, java.util.Collection<java.util.regex.Pattern> patterns)
protected boolean
matchSiteForURL(CMSSiteModel site, java.lang.String strUrl)
void
setCatalogVersionService(CatalogVersionService catalogVersionService)
void
setCmsSiteDao(CMSSiteDao cmsSiteDao)
void
setCurrentCatalogVersion(CatalogVersionModel catalogVersion)
sets a catalogversion as current catalogversionvoid
setCurrentSite(CMSSiteModel site)
sets the given site as currentCMSSiteModel
setCurrentSite(java.net.URL url, PreviewDataModel previewData)
Sets the site that is associated with the given url as current site.void
setCurrentSiteAndCatalogVersions(CMSSiteModel site, boolean setDefaultCatalog)
Activates the given site and all associated catalog versions.CMSSiteModel
setCurrentSiteAndCatalogVersions(java.lang.String siteId, boolean setDefaultCatalog)
Activates a CMSSite and all associated catalog versions.CMSSiteModel
setCurrentSiteAndCatalogVersionsForURL(java.net.URL url, boolean setDefaultCatalog)
Sets the site that is associated with the given url as current site.-
Methods inherited from class de.hybris.platform.cms2.servicelayer.services.impl.AbstractCMSService
getBaseSiteService, getCurrentCatalogVersion, getCurrentSite, getSearchRestrictionService, getUserService, setBaseSiteService, setSearchRestrictionService, setUserService
-
Methods inherited from class de.hybris.platform.servicelayer.internal.service.AbstractBusinessService
getModelService, getSessionService, getTxManager, setModelService, setSessionService, setTxManager
-
Methods inherited from class de.hybris.platform.servicelayer.internal.service.AbstractService
afterPropertiesSet, getCurrentTenant, setBeanName, setCurrentTenant, writeReplace
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.hybris.platform.cms2.servicelayer.services.CMSSiteService
getCurrentCatalogVersion, getCurrentSite
-
-
-
-
Method Detail
-
containsCatalog
public boolean containsCatalog(CMSSiteModel site, CatalogModel catalog, boolean contentOnly)
checks if a given site contains the given catalog- Specified by:
containsCatalog
in interfaceCMSSiteService
- Parameters:
site
- the cms site modelcatalog
- the catalog modelcontentOnly
- if true, returns content catalogs only- Returns:
- true if there is a site
-
containsContentCatalogImpl
protected boolean containsContentCatalogImpl(CMSSiteModel site, CatalogModel catalog)
-
containsProductsCatalogImpl
protected boolean containsProductsCatalogImpl(CMSSiteModel site, CatalogModel catalog)
-
getAllCatalogs
public java.util.Collection<CatalogModel> getAllCatalogs(CMSSiteModel site) throws java.lang.IllegalArgumentException
Returns all catalogs for the specified sitesite
. This means all the content catalogs of the site as well as the product and classification system catalogs which belong to the stores associated with the site.- Specified by:
getAllCatalogs
in interfaceCMSSiteService
- Parameters:
site
- the CMS site- Returns:
- all content, product and classification system catalogs associated with the site
- Throws:
java.lang.IllegalArgumentException
-
getClassificationCatalogs
public java.util.List<CatalogModel> getClassificationCatalogs(CMSSiteModel site)
Gets the classification catalogs forCMSSiteModel
object.- Specified by:
getClassificationCatalogs
in interfaceCMSSiteService
- Parameters:
site
- theCMSSiteModel
object for which catalogs will be obtained.- Returns:
- the list of
CatalogModel
objects.
-
getSiteForURL
public CMSSiteModel getSiteForURL(java.net.URL url) throws CMSItemNotFoundException
Returns the site which is associated with the given url- Specified by:
getSiteForURL
in interfaceCMSSiteService
- Parameters:
url
- the url- Returns:
- the site which is associated with the given url
- Throws:
CMSItemNotFoundException
- if no site is associated with the given url
-
matchSiteForURL
protected boolean matchSiteForURL(CMSSiteModel site, java.lang.String strUrl)
-
getSites
public java.util.Collection<CMSSiteModel> getSites()
- Specified by:
getSites
in interfaceCMSSiteService
- Returns:
- List of all sites defined in this system
-
getStartPageLabelOrId
public java.lang.String getStartPageLabelOrId(CMSSiteModel site)
Gets the start page label or id.- Specified by:
getStartPageLabelOrId
in interfaceCMSSiteService
- Parameters:
site
- heCMSSiteModel
object- Returns:
- the start page label or id
-
hasCurrentCatalogVersion
public boolean hasCurrentCatalogVersion()
- Specified by:
hasCurrentCatalogVersion
in interfaceCMSSiteService
- Returns:
- true if a catalogversion is set to current, otherwise false
-
hasCurrentSite
public boolean hasCurrentSite()
- Specified by:
hasCurrentSite
in interfaceCMSSiteService
- Returns:
- true if a site is set to current, otherwise false
-
lookupCmsPageService
public CMSPageService lookupCmsPageService()
- Returns:
- a CMSPageService
- Throws:
java.lang.UnsupportedOperationException
-
getCatalogVersionService
protected CatalogVersionService getCatalogVersionService()
-
setCatalogVersionService
public void setCatalogVersionService(CatalogVersionService catalogVersionService)
-
getCmsSiteDao
protected CMSSiteDao getCmsSiteDao()
-
setCmsSiteDao
public void setCmsSiteDao(CMSSiteDao cmsSiteDao)
-
setCurrentCatalogVersion
public void setCurrentCatalogVersion(CatalogVersionModel catalogVersion) throws CMSItemNotFoundException
sets a catalogversion as current catalogversion- Specified by:
setCurrentCatalogVersion
in interfaceCMSSiteService
- Parameters:
catalogVersion
- the catalogversion to be set as current- Throws:
CMSItemNotFoundException
- if the current site does not contain the catalog (catalogversion)
-
setCurrentSite
public void setCurrentSite(CMSSiteModel site)
sets the given site as current- Specified by:
setCurrentSite
in interfaceCMSSiteService
- Parameters:
site
- the cms site model
-
setCurrentSite
public CMSSiteModel setCurrentSite(java.net.URL url, PreviewDataModel previewData) throws CMSItemNotFoundException
Sets the site that is associated with the given url as current site. Also adds all catalogversions which are provided in the previewdata the session. If a catalog version in the previewdata is not part of that site, it will not be added to the session.- Specified by:
setCurrentSite
in interfaceCMSSiteService
- Parameters:
url
- the urlpreviewData
- the preview data model- Returns:
- the corresponding CMSSiteModel which was activated
- Throws:
CMSItemNotFoundException
- if no site is associated with the given url
-
setCurrentSiteAndCatalogVersions
public void setCurrentSiteAndCatalogVersions(CMSSiteModel site, boolean setDefaultCatalog) throws CMSItemNotFoundException
Activates the given site and all associated catalog versions. If setDefaultCatalog is set to true the default catalog will be activated as currentcatalog.- Specified by:
setCurrentSiteAndCatalogVersions
in interfaceCMSSiteService
- Parameters:
site
- site to activatesetDefaultCatalog
- if set to true the default catalog will be activated as currentcatalog.- Throws:
CMSItemNotFoundException
- if not site with the given id could be found, no active catalogversion could be found for the associated catalogs or if setDefaultCatalog is set to true and no default catalog is set
-
setCurrentSiteAndCatalogVersions
public CMSSiteModel setCurrentSiteAndCatalogVersions(java.lang.String siteId, boolean setDefaultCatalog) throws CMSItemNotFoundException
Activates a CMSSite and all associated catalog versions. If setDefaultCatalog is set to true the default catalog will be activated as currentcatalog.- Specified by:
setCurrentSiteAndCatalogVersions
in interfaceCMSSiteService
- Parameters:
siteId
- id of the site to activatesetDefaultCatalog
- if set to true the default catalog will be activated as currentcatalog.- Returns:
- the corresponding CMSSiteModel which was activated
- Throws:
CMSItemNotFoundException
- if no site with the given id could be found, no active catalogversion could be found for the associated catalogs or if setDefaultCatalog is set to true and no default catalog is set
-
setCurrentSiteAndCatalogVersionsForURL
public CMSSiteModel setCurrentSiteAndCatalogVersionsForURL(java.net.URL url, boolean setDefaultCatalog) throws CMSItemNotFoundException
Sets the site that is associated with the given url as current site. Also adds all active catalogversions of the site to the session.- Specified by:
setCurrentSiteAndCatalogVersionsForURL
in interfaceCMSSiteService
- Parameters:
url
- the urlsetDefaultCatalog
- if set to true the default catalog (with the active version) will be set as current catalogversion. This is only done when the current catalogversion is null.- Returns:
- the corresponding CMSSiteModel which was activated
- Throws:
CMSItemNotFoundException
- if no site is associated with the given url
-
compilePatterns
protected java.util.List<java.util.regex.Pattern> compilePatterns(java.util.Collection<java.lang.String> stringPatterns)
-
getCmsPageService
protected CMSPageService getCmsPageService()
Default getter for CMSPageService- Returns:
- the cmsPageService instance.
-
matches
protected boolean matches(java.lang.String input, java.util.Collection<java.util.regex.Pattern> patterns)
-
-