Class JpaCustomizedMarketingMessageRepository<D extends JpaMarketingMessage>

    • Field Detail

      • jpaNarrowingHelper

        protected com.broadleafcommerce.data.tracking.jpa.filtering.narrow.JpaNarrowingHelper jpaNarrowingHelper
      • rsqlQueryTransformers

        protected final List<com.broadleafcommerce.data.tracking.core.service.RsqlQueryTransformer> rsqlQueryTransformers
    • Constructor Detail

      • JpaCustomizedMarketingMessageRepository

        public JpaCustomizedMarketingMessageRepository​(com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil trackableBehaviorUtil,
                                                       List<com.broadleafcommerce.data.tracking.core.service.RsqlQueryTransformer> rsqlQueryTransformers,
                                                       cz.jirutka.rsql.parser.ast.RSQLVisitor<javax.persistence.criteria.Predicate,​Class<?>> rsqlVisitor,
                                                       com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder criteriaBuilder)
    • Method Detail

      • afterPropertiesSet

        public void afterPropertiesSet()
        Specified by:
        afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      • addTargetOfferIdsCriteria

        protected void addTargetOfferIdsCriteria​(Collection<String> targetOfferIds,
                                                 javax.persistence.criteria.CriteriaBuilder builder,
                                                 javax.persistence.criteria.Root<JpaMarketingMessage> root,
                                                 Map<String,​Object> narrowingParams,
                                                 List<javax.persistence.criteria.Predicate> offerPredicates)
      • addQualifierOfferIdsCriteria

        protected void addQualifierOfferIdsCriteria​(Collection<String> qualifierOfferIds,
                                                    javax.persistence.criteria.CriteriaBuilder builder,
                                                    javax.persistence.criteria.Root<JpaMarketingMessage> root,
                                                    Map<String,​Object> narrowingParams,
                                                    List<javax.persistence.criteria.Predicate> offerPredicates)
      • findAllByOfferContextIdIn

        public org.springframework.data.domain.Page<D> findAllByOfferContextIdIn​(Collection<String> offerContextIds,
                                                                                 @Nullable
                                                                                 cz.jirutka.rsql.parser.ast.Node filters,
                                                                                 @Nullable
                                                                                 org.springframework.data.domain.Pageable pageInfo,
                                                                                 @Nullable
                                                                                 com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Description copied from interface: CustomizedMarketingMessageRepository
        Finds all of the persistent MarketingMessages for the given Offer IDs.
        Specified by:
        findAllByOfferContextIdIn in interface CustomizedMarketingMessageRepository<D extends JpaMarketingMessage>
        Parameters:
        offerContextIds - Offer IDs of the parent offers.
        filters - additional filters to apply in the query. Should be EmptyNode if no additional filters should be applied.
        pageInfo - Pagination information
        contextInfo - the context around sandboxing and multitenant state
        Returns:
        Paged result set of all marketing messages for the given offer IDs.
      • addLocaleCriteria

        protected void addLocaleCriteria​(List<javax.persistence.criteria.Predicate> predicates,
                                         javax.persistence.criteria.CriteriaBuilder builder,
                                         javax.persistence.criteria.Root<JpaMarketingMessage> root,
                                         Map<String,​Object> params,
                                         ItemMarketingMessageRequest request)
        Adds the locale criteria to the Criteria. By default this will add ItemMarketingMessageRequest.getLocale() as well as the de-regionalized version of that locale. Thus, if MarketingMessage's locale is 'en' and the request's locale is 'en-US', then the criteria will be { "locale": { "$in": [ 'en-US', 'en' ] } } so that region-inspecific MarketingMessages can still be used in specific regions.
        Parameters:
        predicates - list of query filtering expressions
        builder - JPA CriteriaBuilder for this query
        root - The selection root for this query
        params - The actual values to filter by, keyed by the query parameter name
        request - ItemMarketingMessageRequest containing the parameters by which the results will be filtered