Class DefaultOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment>
- java.lang.Object
-
- com.broadleafcommerce.data.tracking.core.service.BaseCrudEntityService<P>
-
- com.broadleafcommerce.data.tracking.core.service.BaseRsqlCrudEntityService<P>
-
- com.broadleafcommerce.order.service.DefaultOrderFulfillmentService<P>
-
- All Implemented Interfaces:
com.broadleafcommerce.data.tracking.core.service.CrudEntityService<P>,com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityService<P>,OrderFulfillmentService<P>
public class DefaultOrderFulfillmentService<P extends com.broadleafcommerce.order.client.domain.OrderFulfillment> extends com.broadleafcommerce.data.tracking.core.service.BaseRsqlCrudEntityService<P> implements OrderFulfillmentService<P>
Default implementation ofOrderFulfillmentService.- Author:
- Samarth Dhruva (samarthd)
-
-
Constructor Summary
Constructors Constructor Description DefaultOrderFulfillmentService(OrderFulfillmentRepository<com.broadleafcommerce.data.tracking.core.Trackable> orderFulfillmentRepository, com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityHelper helper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected List<P>createFulfillments(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>getParser()protected OrderFulfillmentRepository<com.broadleafcommerce.data.tracking.core.Trackable>getRepository()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.List<P>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.List<P>readAllByOrderIdAndMatchingTenant(String orderId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)Retrieves the order fulfillment matching the provided ID and the tenant fromContextInfoif present.List<P>readAllByOrderIdAndStatus(String orderId, String status, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)Reads all of the orderOrderFulfillmentswhich are associated with the givenorderId.List<P>readAllByOrderIdIn(Collection<String> orderIds, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)Reads all of theOrderFulfillmentswhich are associated with any of the givenorderIds.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.List<String>readAllUniqueIds(int page, cz.jirutka.rsql.parser.ast.Node filters)Retrieves a list of unique order fulfillment context IDs no larger than page.Optional<P>readByContextIdAndMatchingTenant(String id, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)Retrieves the order fulfillment matching the provided ID and the tenant fromContextInfoif present.Optional<P>readByContextIdAndStatus(String id, String status, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)Reads theOrderFulfillmentfor the givenidandstatus.protected List<P>replaceFulfillments(List<P> fulfillments, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)List<P>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, readAll
-
Methods 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, updateSort
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods 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, updateSort
-
-
-
-
Constructor Detail
-
DefaultOrderFulfillmentService
public DefaultOrderFulfillmentService(OrderFulfillmentRepository<com.broadleafcommerce.data.tracking.core.Trackable> orderFulfillmentRepository, com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityHelper helper)
-
-
Method Detail
-
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
-
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
protected List<P> replaceFulfillments(List<P> fulfillments, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
-
createFulfillments
protected List<P> createFulfillments(List<P> fulfillments, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
-
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
-
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
-
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
-
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)
-
-