Class JpaCustomizedOrderFulfillmentRepository<D extends JpaOrderFulfillment>

    • Constructor Detail

      • JpaCustomizedOrderFulfillmentRepository

        public JpaCustomizedOrderFulfillmentRepository​(List<com.broadleafcommerce.data.tracking.core.service.RsqlQueryTransformer> rsqlQueryTransformers,
                                                       com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaCriteriaBuilderRsqlVisitor rsqlVisitor,
                                                       com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager repositoryEntityTypeManager,
                                                       JpaOrderTenantQueryHelper tenantQueryHelper)
    • Method Detail

      • validate

        @PostConstruct
        public void validate()
      • findAllDistinctContextIds

        public List<String> findAllDistinctContextIds​(int page,
                                                      cz.jirutka.rsql.parser.ast.Node filters)
        Description copied from interface: CustomizedOrderFulfillmentRepository
        Retrieves a list of unique order fulfillment context IDs no larger than page. It is expected that any appropriate offset is achieved through criteria designated in filters.
        Specified by:
        findAllDistinctContextIds in interface CustomizedOrderFulfillmentRepository<D extends JpaOrderFulfillment>
        Parameters:
        page - the requested amount of results from the database. -1 indicates no limit.
        filters - additional filters to apply in the query. Should be EmptyNode if no additional filters should be applied.
        Returns:
        unique order fulfillment IDs
      • findByContextIdAndMatchingTenant

        public Optional<D> findByContextIdAndMatchingTenant​(String id,
                                                            @Nullable
                                                            com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Description copied from interface: CustomizedOrderFulfillmentRepository
        Retrieves the order fulfillment matching the provided ID and the tenant from ContextInfo if present.

        Differs from the standard narrowing behavior of TrackableRepository.findByContextId(String, ContextInfo), which only returns tenant-level (non-application-associated) records when fetching from a tenant context. This implementation finds all records within the tenant regardless of whether they're associated to an application.

        Specified by:
        findByContextIdAndMatchingTenant in interface CustomizedOrderFulfillmentRepository<D extends JpaOrderFulfillment>
        Parameters:
        id - the id of the order fulfillment to find
        contextInfo - context information surrounding multitenant state.
        Returns:
        an Optional containing the requested order fulfillment if found within the tenant, or Optional.empty() otherwise
      • findAllByOrderIdAndMatchingTenant

        public List<D> findAllByOrderIdAndMatchingTenant​(String orderId,
                                                         @Nullable
                                                         com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Description copied from interface: CustomizedOrderFulfillmentRepository
        Retrieves the order fulfillment matching the provided ID and the tenant from ContextInfo if present.

        Differs from the standard narrowing behavior of OrderFulfillmentRepository.findAllByOrderId(String, ContextInfo), which only returns tenant-level (non-application-associated) records when fetching from a tenant context. This implementation finds all records within the tenant regardless of whether they're associated to an application.

        Specified by:
        findAllByOrderIdAndMatchingTenant in interface CustomizedOrderFulfillmentRepository<D extends JpaOrderFulfillment>
        Parameters:
        orderId - The ID of the order to find fulfillments for
        contextInfo - context information surrounding multitenant state
        Returns:
        the fulfillments that are associated with the given orderId
      • buildOrderIdIsEqualToFilter

        public javax.persistence.criteria.Predicate buildOrderIdIsEqualToFilter​(String orderId,
                                                                                Map<String,​Object> queryParams,
                                                                                javax.persistence.criteria.CriteriaBuilder criteriaBuilder,
                                                                                javax.persistence.criteria.Root<? extends com.broadleafcommerce.data.tracking.core.Trackable> entity)
      • findAllMatchingTenant

        public org.springframework.data.domain.Page<D> findAllMatchingTenant​(cz.jirutka.rsql.parser.ast.Node filters,
                                                                             org.springframework.data.domain.Pageable pageable,
                                                                             @Nullable
                                                                             com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Description copied from interface: CustomizedOrderFulfillmentRepository
        Retrieves the order fulfillment matching the query and the tenant from ContextInfo if present.

        Differs from the standard narrowing behavior of TrackableRsqlFilterExecutor.findAll(Node, Pageable, ContextInfo), which only returns tenant-level (non-application-associated) records when fetching from a tenant context. This implementation finds all records within the tenant regardless of whether they're associated to an application.

        Specified by:
        findAllMatchingTenant in interface CustomizedOrderFulfillmentRepository<D extends JpaOrderFulfillment>
        Parameters:
        filters - the RSQL Node used to restrict result, must not be null
        pageable - may be Pageable.unpaged(), must not be null.
        contextInfo - context information surrounding multitenant state.
        Returns:
        The subset (page) of narrowed entities