Class DefaultOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>
- All Implemented Interfaces:
com.broadleafcommerce.data.tracking.core.service.CrudEntityService<P>,com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityService<P>,OrderFulfillmentService<P>
OrderFulfillmentService.- Author:
- Samarth Dhruva (samarthd)
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultOrderFulfillmentService(OrderFulfillmentRepository<com.broadleafcommerce.data.tracking.core.Trackable> orderFulfillmentRepository, com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityHelper helper) -
Method Summary
Modifier and TypeMethodDescriptioncreateFulfillments(List<P> fulfillments, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) protected com.broadleafcommerce.data.tracking.core.filtering.fetch.FilterParser<cz.jirutka.rsql.parser.ast.Node>protected OrderFulfillmentRepository<com.broadleafcommerce.data.tracking.core.Trackable>org.springframework.data.domain.Page<P>readAllByGroupReferenceNumber(String groupReferenceNumber, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable pageable, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Retrieves the order fulfillments matching the providedgroupReferenceNumberand filters.org.springframework.data.domain.Page<P>readAllByGroupReferenceNumberAndMatchingTenant(String groupReferenceNumber, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable pageable, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Retrieves the order fulfillments matching the providedgroupReferenceNumberand filters, and the tenant fromContextInfoif present.readAllByOrderId(String id, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads all of theOrderFulfillmentsthat are associated with the givenorderId.org.springframework.data.domain.Page<P>readAllByOrderId(String orderId, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable page, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads a page of all of theOrderFulfillmentsthat are associated with the givenorderId.readAllByOrderIdAndMatchingTenant(String orderId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Retrieves the order fulfillment matching the provided ID and the tenant fromContextInfoif present.readAllByOrderIdAndStatus(String orderId, String status, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads all of the orderOrderFulfillmentswhich are associated with the givenorderId.readAllByOrderIdAndStatusAndMatchingTenant(String orderId, String status, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads all of the orderOrderFulfillmentswhich are associated with the givenorderId, and the tenant fromContextInfoif present.readAllByOrderIdIn(Collection<String> orderIds, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads all of theOrderFulfillmentswhich are associated with any of the givenorderIds.readAllByOrderIdInAndExcludeFulfillmentItems(@NonNull List<String> orderIds, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Retrieves the order fulfillments for the providedorderIds.org.springframework.data.domain.Page<P>readAllByStatus(String status, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable page, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads a page ofOrderFulfillmentsin the givenstatus.org.springframework.data.domain.Page<P>readAllMatchingTenant(cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable pageable, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Retrieves the order fulfillments matching the provided filters and the tenant fromContextInfoif present.readAllUniqueIds(int page, cz.jirutka.rsql.parser.ast.Node filters) Retrieves a list of unique order fulfillment context IDs no larger than page.readByContextIdAndMatchingTenant(String id, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Retrieves the order fulfillment matching the provided ID and the tenant fromContextInfoif present.readByContextIdAndStatus(String id, String status, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads theOrderFulfillmentfor the givenidandstatus.readByContextIdAndStatusAndMatchingTenant(String id, String status, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads theOrderFulfillmentfor the givenidandstatus, and the tenant fromContextInfoif present.org.springframework.data.domain.Page<P>readPageByOrderIdMatchingTenant(String orderId, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable pageable, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Retrieves the order fulfillments matching theorderIdand the provided filters and the tenant fromContextInfoif present.replaceFulfillments(List<P> fulfillments, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) replaceMatchingTenant(String id, P updates, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Update the given order fulfillment at the tenant level.replaceOrCreateAll(Collection<P> fulfillments, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Replace all of the given fulfillments which already exist, or create them.voidsetParser(com.broadleafcommerce.data.tracking.core.filtering.fetch.FilterParser<cz.jirutka.rsql.parser.ast.Node> parser) Methods inherited from class com.broadleafcommerce.data.tracking.core.service.BaseRsqlCrudEntityService
getRsqlHelper, readAll, readAll, readAll, readAllMethods inherited from class com.broadleafcommerce.data.tracking.core.service.BaseCrudEntityService
convertFromPersistentDomain, convertToPersistentDomain, create, createAll, createAllAllowingPartialSuccess, delete, getHelper, getSortPositionStrategy, readAll, readAll, readAll, readAllByContextId, readByContextId, replace, replaceAll, replaceAllAllowingPartialSuccess, setSortPositionStrategy, update, updateAll, updateAllAllowingPartialSuccess, updateSortMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.broadleafcommerce.data.tracking.core.service.CrudEntityService
create, createAll, createAllAllowingPartialSuccess, delete, readAll, readAll, readAll, readAllByContextId, readByContextId, replace, replaceAll, replaceAllAllowingPartialSuccess, update, updateAll, updateAllAllowingPartialSuccess, updateSortMethods inherited from interface com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityService
readAll, readAll, readAll, readAll
-
Constructor Details
-
DefaultOrderFulfillmentService
public DefaultOrderFulfillmentService(OrderFulfillmentRepository<com.broadleafcommerce.data.tracking.core.Trackable> orderFulfillmentRepository, com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityHelper helper)
-
-
Method Details
-
readAllByOrderId
public org.springframework.data.domain.Page<P> readAllByOrderId(String orderId, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable page, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Description copied from interface:OrderFulfillmentServiceReads a page of all of theOrderFulfillmentsthat are associated with the givenorderId.- Specified by:
readAllByOrderIdin interfaceOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>- Parameters:
orderId- The ID of the order to find fulfillments forfilters- additional filters to apply in the query. Should beEmptyNodeif no additional filters should be applied.page- the requested page of results from the databasecontext- context information surrounding sandboxing and multitenant state- Returns:
- A page of fulfillments that are associated with the given
orderId
-
readAllByOrderIdIn
public List<P> readAllByOrderIdIn(Collection<String> orderIds, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Description copied from interface:OrderFulfillmentServiceReads all of theOrderFulfillmentswhich are associated with any of the givenorderIds.- Specified by:
readAllByOrderIdInin interfaceOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>- Parameters:
orderIds- The IDs of the orders to find fulfillments forcontext- context information surrounding sandboxing and multitenant state- Returns:
- the fulfillments which are associated with the given
orderIds
-
replaceOrCreateAll
@Transactional public List<P> replaceOrCreateAll(Collection<P> fulfillments, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Description copied from interface:OrderFulfillmentServiceReplace all of the given fulfillments which already exist, or create them.- Specified by:
replaceOrCreateAllin interfaceOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>- Parameters:
fulfillments- the fulfillments to replace or createcontext- context information surrounding sandboxing and multitenant state- Returns:
- the replaced and created fulfillments
-
readAllUniqueIds
@NonNull public List<String> readAllUniqueIds(int page, @NonNull cz.jirutka.rsql.parser.ast.Node filters) Description copied from interface:OrderFulfillmentServiceRetrieves a list of unique order fulfillment context IDs no larger than page. It is expected that any appropriate offset is achieved through criteria designated infilters.- Specified by:
readAllUniqueIdsin interfaceOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>- Parameters:
page- the requested page of results from the database. -1 indicates no limit.filters- An RSQL filter used to narrow query results. May beEmptyNodeif no filters should be applied.- Returns:
- unique order fulfillment IDs
-
readAllByOrderIdAndStatus
public List<P> readAllByOrderIdAndStatus(String orderId, String status, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Description copied from interface:OrderFulfillmentServiceReads all of the orderOrderFulfillmentswhich are associated with the givenorderId.- Specified by:
readAllByOrderIdAndStatusin interfaceOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>- Parameters:
orderId- The ID of the parentOrderstatus- TheOrderFulfillment.getStatus()context- context information surrounding sandboxing and multitenant state- Returns:
- the
OrderFulfillmentswhich are associated with the givenorderId
-
readAllByStatus
public org.springframework.data.domain.Page<P> readAllByStatus(String status, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable page, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Description copied from interface:OrderFulfillmentServiceReads a page ofOrderFulfillmentsin the givenstatus.- Specified by:
readAllByStatusin interfaceOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>- Parameters:
status- TheOrderFulfillment.getStatus()to filter onfilters- additional filters to apply in the query. Should beEmptyNodeif no additional filters should be applied.page- the requested page of results from the databasecontext- context information surrounding sandboxing and multitenant state- Returns:
- A page of fulfillments that are associated with the given
status
-
readByContextIdAndStatus
public Optional<P> readByContextIdAndStatus(String id, String status, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Description copied from interface:OrderFulfillmentServiceReads theOrderFulfillmentfor the givenidandstatus.- Specified by:
readByContextIdAndStatusin interfaceOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>- Parameters:
id- The ID of theOrderFulfillmentstatus- TheOrderFulfillment.getStatus()context- context information surrounding sandboxing and multitenant state- Returns:
- Reads the
OrderFulfillmentfor the givenidandstatus.
-
readAllByOrderId
public List<P> readAllByOrderId(String id, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Description copied from interface:OrderFulfillmentServiceReads all of theOrderFulfillmentsthat are associated with the givenorderId.- Specified by:
readAllByOrderIdin interfaceOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>- Parameters:
id- The ID of the order to find fulfillments forcontext- context information surrounding sandboxing and multitenant state- Returns:
- the fulfillments that are associated with the given
orderId
-
replaceFulfillments
-
createFulfillments
-
readByContextIdAndMatchingTenant
public Optional<P> readByContextIdAndMatchingTenant(String id, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:OrderFulfillmentServiceRetrieves the order fulfillment matching the provided ID and the tenant fromContextInfoif present.Differs from the standard narrowing behavior of
CrudEntityService.readByContextId(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:
readByContextIdAndMatchingTenantin interfaceOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>- Parameters:
id- the id of the order fulfillment to findcontextInfo- context information surrounding multitenant state- Returns:
- an
Optionalcontaining the requested order fulfillment if found within the tenant, orOptional.empty()otherwise
-
replaceMatchingTenant
public P replaceMatchingTenant(String id, P updates, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:OrderFulfillmentServiceUpdate the given order fulfillment at the tenant level.- Specified by:
replaceMatchingTenantin interfaceOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>- Parameters:
id- Id of the fulfillment to updateupdates- Updates to applycontextInfo- Additional multitenant and sandbox info- Returns:
- The updated fulifllment if found.
-
readAllByOrderIdAndMatchingTenant
public List<P> readAllByOrderIdAndMatchingTenant(String orderId, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:OrderFulfillmentServiceRetrieves the order fulfillment matching the provided ID and the tenant fromContextInfoif present.Differs from the standard narrowing behavior of
OrderFulfillmentService.readAllByOrderId(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:
readAllByOrderIdAndMatchingTenantin interfaceOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>- Parameters:
orderId- The ID of the order to find fulfillments forcontextInfo- context information surrounding multitenant state- Returns:
- the fulfillments that are associated with the given
orderId
-
readPageByOrderIdMatchingTenant
public org.springframework.data.domain.Page<P> readPageByOrderIdMatchingTenant(String orderId, @Nullable cz.jirutka.rsql.parser.ast.Node filters, @Nullable org.springframework.data.domain.Pageable pageable, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:OrderFulfillmentServiceRetrieves the order fulfillments matching theorderIdand the provided filters and the tenant fromContextInfoif present.Differs from the standard narrowing behavior of
OrderFulfillmentService.readAllByOrderId(String, 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:
readPageByOrderIdMatchingTenantin interfaceOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>contextInfo- context information surrounding multitenant state- Returns:
- an
Optionalcontaining the requested order fulfillment if found within the tenant, orOptional.empty()otherwise
-
readAllMatchingTenant
public org.springframework.data.domain.Page<P> readAllMatchingTenant(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:OrderFulfillmentServiceRetrieves the order fulfillments matching the provided filters and the tenant fromContextInfoif present.Differs from the standard narrowing behavior of {@link OrderFulfillmentService#readAll(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:
readAllMatchingTenantin interfaceOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>contextInfo- context information surrounding multitenant state- Returns:
- an
Optionalcontaining the requested order fulfillment if found within the tenant, orOptional.empty()otherwise
-
readAllByGroupReferenceNumber
public org.springframework.data.domain.Page<P> readAllByGroupReferenceNumber(String groupReferenceNumber, 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:OrderFulfillmentServiceRetrieves the order fulfillments matching the providedgroupReferenceNumberand filters.- Specified by:
readAllByGroupReferenceNumberin interfaceOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>- Parameters:
groupReferenceNumber- the group reference number to match onfilters- An RSQL filter used to narrow query results. May beEmptyNodeif no filters should be applied.pageable- the requested page of results from the databasecontextInfo- context information surrounding multitenant state- Returns:
- A page of fulfillments that are associated with the given
groupReferenceNumber
-
readAllByGroupReferenceNumberAndMatchingTenant
public org.springframework.data.domain.Page<P> readAllByGroupReferenceNumberAndMatchingTenant(String groupReferenceNumber, 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:OrderFulfillmentServiceRetrieves the order fulfillments matching the providedgroupReferenceNumberand filters, and the tenant fromContextInfoif present.- Specified by:
readAllByGroupReferenceNumberAndMatchingTenantin interfaceOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>- Parameters:
groupReferenceNumber- the group reference number to match onfilters- An RSQL filter used to narrow query results. May beEmptyNodeif no filters should be applied.pageable- the requested page of results from the databasecontextInfo- context information surrounding multitenant state- Returns:
- A page of fulfillments that are associated with the given
groupReferenceNumber
-
readAllByOrderIdInAndExcludeFulfillmentItems
public List<P> readAllByOrderIdInAndExcludeFulfillmentItems(@NonNull @NonNull List<String> orderIds, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:OrderFulfillmentServiceRetrieves the order fulfillments for the providedorderIds. This method doesn't fetch the associatedOrderFulfillmentItem.- Specified by:
readAllByOrderIdInAndExcludeFulfillmentItemsin interfaceOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>- Parameters:
orderIds- the order idscontextInfo- context information surrounding multitenant state- Returns:
- the fulfillments that are associated with the given
orderIds
-
readAllByOrderIdAndStatusAndMatchingTenant
public List<P> readAllByOrderIdAndStatusAndMatchingTenant(String orderId, String status, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Description copied from interface:OrderFulfillmentServiceReads all of the orderOrderFulfillmentswhich are associated with the givenorderId, and the tenant fromContextInfoif present.- Specified by:
readAllByOrderIdAndStatusAndMatchingTenantin interfaceOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>- Parameters:
orderId- The ID of the parentOrderstatus- TheOrderFulfillment.getStatus()context- context information surrounding sandboxing and multitenant state- Returns:
- the
OrderFulfillmentswhich are associated with the givenorderIdand tenant.
-
readByContextIdAndStatusAndMatchingTenant
public Optional<P> readByContextIdAndStatusAndMatchingTenant(String id, String status, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Description copied from interface:OrderFulfillmentServiceReads theOrderFulfillmentfor the givenidandstatus, and the tenant fromContextInfoif present.- Specified by:
readByContextIdAndStatusAndMatchingTenantin interfaceOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>- Parameters:
id- The ID of theOrderFulfillmentstatus- TheOrderFulfillment.getStatus()context- context information surrounding sandboxing and multitenant state- Returns:
- Reads the
OrderFulfillmentfor the givenid,status, and tenant.
-
getRepository
protected OrderFulfillmentRepository<com.broadleafcommerce.data.tracking.core.Trackable> getRepository()- Overrides:
getRepositoryin classcom.broadleafcommerce.data.tracking.core.service.BaseCrudEntityService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>
-
getParser
protected com.broadleafcommerce.data.tracking.core.filtering.fetch.FilterParser<cz.jirutka.rsql.parser.ast.Node> getParser() -
setParser
@Autowired public void setParser(com.broadleafcommerce.data.tracking.core.filtering.fetch.FilterParser<cz.jirutka.rsql.parser.ast.Node> parser)
-