Class DefaultCMSSiteService

    • Constructor Detail

      • DefaultCMSSiteService

        public DefaultCMSSiteService()
    • 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 interface CMSSiteService
        Parameters:
        site - the cms site model
        catalog - the catalog model
        contentOnly - 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 site site. 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 interface CMSSiteService
        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 for CMSSiteModel object.
        Specified by:
        getClassificationCatalogs in interface CMSSiteService
        Parameters:
        site - the CMSSiteModel object for which catalogs will be obtained.
        Returns:
        the list of CatalogModel objects.
      • matchSiteForURL

        protected boolean matchSiteForURL​(CMSSiteModel site,
                                          java.lang.String strUrl)
      • getStartPageLabelOrId

        public java.lang.String getStartPageLabelOrId​(CMSSiteModel site)
        Gets the start page label or id.
        Specified by:
        getStartPageLabelOrId in interface CMSSiteService
        Parameters:
        site - he CMSSiteModel object
        Returns:
        the start page label or id
      • hasCurrentCatalogVersion

        public boolean hasCurrentCatalogVersion()
        Specified by:
        hasCurrentCatalogVersion in interface CMSSiteService
        Returns:
        true if a catalogversion is set to current, otherwise false
      • hasCurrentSite

        public boolean hasCurrentSite()
        Specified by:
        hasCurrentSite in interface CMSSiteService
        Returns:
        true if a site is set to current, otherwise false
      • lookupCmsPageService

        public CMSPageService lookupCmsPageService()
        Returns:
        a CMSPageService
        Throws:
        java.lang.UnsupportedOperationException
      • setCatalogVersionService

        public void setCatalogVersionService​(CatalogVersionService catalogVersionService)
      • getCmsSiteDao

        protected CMSSiteDao getCmsSiteDao()
      • setCmsSiteDao

        public void setCmsSiteDao​(CMSSiteDao cmsSiteDao)
      • 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 interface CMSSiteService
        Parameters:
        url - the url
        previewData - 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 interface CMSSiteService
        Parameters:
        site - site to activate
        setDefaultCatalog - 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 interface CMSSiteService
        Parameters:
        siteId - id of the site to activate
        setDefaultCatalog - 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 interface CMSSiteService
        Parameters:
        url - the url
        setDefaultCatalog - 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)