Class DefaultOrderCancelService
- java.lang.Object
-
- de.hybris.platform.ordercancel.impl.DefaultOrderCancelService
-
- All Implemented Interfaces:
OrderCancelCallbackService
,OrderCancelService
- Direct Known Subclasses:
MockOrderCancelService
,SapOmsOrderCancelCallbackService
public class DefaultOrderCancelService extends java.lang.Object implements OrderCancelService, OrderCancelCallbackService
Order Cancel Service implementation
-
-
Constructor Summary
Constructors Constructor Description DefaultOrderCancelService()
-
Method Summary
-
-
-
Method Detail
-
getCancelRecordForOrder
public OrderCancelRecordModel getCancelRecordForOrder(OrderModel order)
Description copied from interface:OrderCancelService
Gets Cancellation record for a given order.- Specified by:
getCancelRecordForOrder
in interfaceOrderCancelService
- Parameters:
order
- instance ofOrderModel
to get the cancel record for- Returns:
- Cancellation record for the given order
-
getPendingCancelRecordEntry
public OrderCancelRecordEntryModel getPendingCancelRecordEntry(OrderModel order) throws OrderCancelException
Description copied from interface:OrderCancelService
Gets cancellation record entry being currently in progress.- Specified by:
getPendingCancelRecordEntry
in interfaceOrderCancelService
- Parameters:
order
- instance ofOrderModel
to get the cancel record for- Returns:
- Cancellation record entry being currently in progress.
- Throws:
OrderCancelException
- - if more than one entry is being in progress
-
isCancelPossible
public CancelDecision isCancelPossible(OrderModel order, PrincipalModel requestor, boolean partialCancel, boolean partialEntryCancel)
Description copied from interface:OrderCancelService
Verifies if order cancel is possible for given order and given conditions- Specified by:
isCancelPossible
in interfaceOrderCancelService
- Parameters:
order
- order to be canceled.requestor
- instance ofPrincipalModel
, containing the principal of a requestorpartialCancel
- if true, the methods verifies if partial cancel can be performed on the given orderpartialEntryCancel
- if true, the methods verifies if partial entry cancel can be performed on the given order. Partial entry cancel means that only part of order entry is canceled (i.e. only order entry quantity is reduced)- Returns:
- instance of
CancelDecision
containing the decision details
-
getAllCancelableEntries
public java.util.Map<AbstractOrderEntryModel,java.lang.Long> getAllCancelableEntries(OrderModel order, PrincipalModel requestor)
Returns all cancellableOrderEntry
. UsesOrderCancelCancelableEntriesStrategy
to perform logic "which entries are cancellable".- Specified by:
getAllCancelableEntries
in interfaceOrderCancelService
- Parameters:
order
- Order that is subject to cancelrequestor
- Principal that originates the request ("issuer of the request"). It might be different from current session user. (can be null)- Returns:
- the cancellable
AbstractOrderEntryModel
and their cancellable quantity.
-
getConfiguration
public OrderCancelConfigModel getConfiguration()
Description copied from interface:OrderCancelService
Return current configuration- Specified by:
getConfiguration
in interfaceOrderCancelService
- Returns:
- current configuration
-
requestOrderCancel
public OrderCancelRecordEntryModel requestOrderCancel(OrderCancelRequest orderCancelRequest, PrincipalModel requestor) throws OrderCancelException
Description copied from interface:OrderCancelService
Requests complete cancel operation on an Order. Depending on current state, order might be canceled immediately or the cancellation decision might be delayed until the response from Warehouse arrives. Returned cancellation record allows to get information about order cancel request.- Specified by:
requestOrderCancel
in interfaceOrderCancelService
- Parameters:
orderCancelRequest
- order cancel request instancerequestor
- instance ofPrincipalModel
, containing the principal of a requestor- Returns:
- OrderCancelRecordEntryModel that represents the request and the result of cancel operation.
- Throws:
OrderCancelException
- in the case the cancellation of order is not allowed
-
onOrderCancelResponse
public void onOrderCancelResponse(OrderCancelResponse cancelResponse) throws OrderCancelException
Description copied from interface:OrderCancelCallbackService
Callback method used by the Warehouse adapter to pass cancel operation result. Warehouse adapter uses this method to provide feedback information how was the Order canceled (completely, partially, not at all).- Specified by:
onOrderCancelResponse
in interfaceOrderCancelCallbackService
- Parameters:
cancelResponse
- instance ofOrderCancelResponse
- Throws:
OrderCancelException
- in the case of any error during the order cancellation
-
findPendingCancelRequest
protected OrderModificationRecordEntryModel findPendingCancelRequest(OrderCancelRecordModel ocrm)
-
getOrderCancelRecordsHandler
public OrderCancelRecordsHandler getOrderCancelRecordsHandler()
- Returns:
- the orderCancelRecordsHandler
-
setOrderCancelRecordsHandler
public void setOrderCancelRecordsHandler(OrderCancelRecordsHandler orderCancelRecordsHandler)
- Parameters:
orderCancelRecordsHandler
- the orderCancelRecordsHandler to set
-
getModelService
public ModelService getModelService()
- Returns:
- the modelService
-
setModelService
public void setModelService(ModelService modelService)
- Parameters:
modelService
- the modelService to set
-
getStateMappingStrategy
public OrderCancelStateMappingStrategy getStateMappingStrategy()
- Returns:
- the stateMappingStrategy
-
setStateMappingStrategy
public void setStateMappingStrategy(OrderCancelStateMappingStrategy stateMappingStrategy)
- Parameters:
stateMappingStrategy
- the stateMappingStrategy to set
-
getCancelDenialStrategies
public java.util.List<OrderCancelDenialStrategy> getCancelDenialStrategies()
- Returns:
- the cancelDenialStrategies
-
setCancelDenialStrategies
public void setCancelDenialStrategies(java.util.List<OrderCancelDenialStrategy> cancelDenialStrategies)
- Parameters:
cancelDenialStrategies
- the cancelDenialStrategies to set
-
getRequestExecutorsMap
public java.util.Map<OrderCancelState,OrderCancelRequestExecutor> getRequestExecutorsMap()
- Returns:
- the requestExecutorsMap
-
setRequestExecutorsMap
public void setRequestExecutorsMap(java.util.Map<OrderCancelState,OrderCancelRequestExecutor> requestExecutorsMap)
- Parameters:
requestExecutorsMap
- the requestExecutorsMap to set
-
getResponseExecutorsMap
public java.util.Map<OrderCancelState,OrderCancelResponseExecutor> getResponseExecutorsMap()
- Returns:
- the responseExecutorsMap
-
setResponseExecutorsMap
public void setResponseExecutorsMap(java.util.Map<OrderCancelState,OrderCancelResponseExecutor> responseExecutorsMap)
- Parameters:
responseExecutorsMap
- the responseExecutorsMap to set
-
getOrderCancelDao
public OrderCancelDao getOrderCancelDao()
- Returns:
- the orderCancelDao
-
setOrderCancelDao
public void setOrderCancelDao(OrderCancelDao orderCancelDao)
- Parameters:
orderCancelDao
- the orderCancelDao to set
-
getCancelableEntriesStrategy
public OrderCancelCancelableEntriesStrategy getCancelableEntriesStrategy()
- Returns:
- the cancelableEntriesStrategy
-
setCancelableEntriesStrategy
public void setCancelableEntriesStrategy(OrderCancelCancelableEntriesStrategy cancelableEntriesStrategy)
- Parameters:
cancelableEntriesStrategy
- the cancellableEntriesStrategy to set
-
-