Class DefaultB2BPermissionService
java.lang.Object
de.hybris.platform.b2b.services.impl.DefaultB2BPermissionService
- All Implemented Interfaces:
B2BPermissionService<B2BCustomerModel,B2BPermissionResultModel>
public class DefaultB2BPermissionService
extends Object
implements B2BPermissionService<B2BCustomerModel,B2BPermissionResultModel>
Default implementation of the
B2BPermissionService.- Spring Bean ID:
- b2bPermissionService
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Set<B2BPermissionResultModel>checkPermissionsOfApprovers(AbstractOrderModel order, List<Class<? extends B2BPermissionModel>> permissionsThatNeedApproval, List<B2BCustomerModel> allApprovers, Boolean fastReturn) Checks the permissions of the approvers for an order.evaluatePermissions(AbstractOrderModel order, B2BCustomerModel employee, List<Class<? extends B2BPermissionModel>> permissionTypes) Evaluate permissions of an order to determine if a violation has occurred and that an approver needs to intervene and approve/reject an order.Get all b2b permissions.Get all permission typesgetApproversForOpenPermissions(AbstractOrderModel order, B2BCustomerModel employee, Collection<B2BPermissionResultModel> openPermissions) Get the approvers for an order's associated permissions with a status of OPEN.protected B2BApproverService<B2BCustomerModel>protected B2BCommentService<AbstractOrderModel>protected B2BPermissionDaoGets the b2b permission for the code provided.protected BaseDaogetEligableApprovers(OrderModel order) Get all approvers who have permissions to approve the order.protected Set<PermissionEvaluateStrategy<B2BPermissionResultModel,AbstractOrderModel, B2BCustomerModel>> protected ModelServiceGets permissions with OPEN status.getOpenPermissonsForApprovers(AbstractOrderModel order, B2BCustomerModel employee, Collection<B2BPermissionResultModel> openPermissions, List<B2BCustomerModel> allApprovers) Get open permissions for approversprotected B2BPermissionResultHelperImplprotected SearchRestrictionServiceprotected SessionServiceprotected UserServiceprotected voidhandleError(AbstractOrderModel order) booleanneedsApproval(AbstractOrderModel order) Checks if the order requires approval by someone other than customer who placed the order.booleanpermissionExists(String code) Determine if a b2b permission exists based on a code.protected StringpermissionResultListToString(B2BCustomerModel customer, Set<B2BPermissionResultModel> approverPermissions) voidsetB2bApproverService(B2BApproverService<B2BCustomerModel> b2bApproverService) voidsetB2bCommentService(B2BCommentService<AbstractOrderModel> b2bCommentService) voidsetB2bPermissionDao(B2BPermissionDao b2bPermissionDao) voidsetBaseDao(BaseDao baseDao) voidsetEvaluateStrategies(Set<PermissionEvaluateStrategy<B2BPermissionResultModel, AbstractOrderModel, B2BCustomerModel>> evaluateStrategies) voidsetModelService(ModelService modelService) voidsetPermissionResultHelper(B2BPermissionResultHelperImpl permissionResultHelper) voidsetPermissionTypes(List<String> permissionTypes) voidsetSearchRestrictionService(SearchRestrictionService searchRestrictionService) voidsetSessionService(SessionService sessionService) voidsetUserService(UserService userService)
-
Constructor Details
-
DefaultB2BPermissionService
public DefaultB2BPermissionService()
-
-
Method Details
-
evaluatePermissions
public Set<B2BPermissionResultModel> evaluatePermissions(AbstractOrderModel order, B2BCustomerModel employee, List<Class<? extends B2BPermissionModel>> permissionTypes) Description copied from interface:B2BPermissionServiceEvaluate permissions of an order to determine if a violation has occurred and that an approver needs to intervene and approve/reject an order.- Specified by:
evaluatePermissionsin interfaceB2BPermissionService<B2BCustomerModel,B2BPermissionResultModel> - Parameters:
order- the order to be evaluatedemployee- the person who placed the orderpermissionTypes- the permission types that will be checked- Returns:
- the set of
B2BPermissionResultModel
-
getApproversForOpenPermissions
public Set<B2BPermissionResultModel> getApproversForOpenPermissions(AbstractOrderModel order, B2BCustomerModel employee, Collection<B2BPermissionResultModel> openPermissions) Description copied from interface:B2BPermissionServiceGet the approvers for an order's associated permissions with a status of OPEN. Approvers are assigned to a customer or it's unit and this evaluates/gathers the approvers for all units up the hierarchy.- Specified by:
getApproversForOpenPermissionsin interfaceB2BPermissionService<B2BCustomerModel,B2BPermissionResultModel> - Parameters:
order- the orderemployee- the customer whom placed the orderopenPermissions- the permissions to be checked for status of OPEN- Returns:
- B2BPermissionResult the set of approvers
-
getOpenPermissonsForApprovers
public Set<B2BPermissionResultModel> getOpenPermissonsForApprovers(AbstractOrderModel order, B2BCustomerModel employee, Collection<B2BPermissionResultModel> openPermissions, List<B2BCustomerModel> allApprovers) Get open permissions for approvers- Parameters:
order- the orderemployee- the employeeopenPermissions- the permissionsallApprovers- the approvers- Returns:
- the
Setof openB2BPermissionResultModel
-
checkPermissionsOfApprovers
protected Set<B2BPermissionResultModel> checkPermissionsOfApprovers(AbstractOrderModel order, List<Class<? extends B2BPermissionModel>> permissionsThatNeedApproval, List<B2BCustomerModel> allApprovers, Boolean fastReturn) Checks the permissions of the approvers for an order.- Parameters:
order- the orderpermissionsThatNeedApproval- A list of permissions types for which approval is needed.allApprovers- A list of approversfastReturn- If true return once an approver can satisfy a workflow is found- Returns:
- A set of permission results.
-
handleError
-
permissionResultListToString
protected String permissionResultListToString(B2BCustomerModel customer, Set<B2BPermissionResultModel> approverPermissions) -
needsApproval
Description copied from interface:B2BPermissionServiceChecks if the order requires approval by someone other than customer who placed the order.- Specified by:
needsApprovalin interfaceB2BPermissionService<B2BCustomerModel,B2BPermissionResultModel> - Parameters:
order- A b2b order.- Returns:
- True if order needs approval.
-
getEligableApprovers
Description copied from interface:B2BPermissionServiceGet all approvers who have permissions to approve the order.- Specified by:
getEligableApproversin interfaceB2BPermissionService<B2BCustomerModel,B2BPermissionResultModel> - Parameters:
order- A b2b order- Returns:
- approvers who are eligible to approve the order.
-
getOpenPermissions
Description copied from interface:B2BPermissionServiceGets permissions with OPEN status.- Specified by:
getOpenPermissionsin interfaceB2BPermissionService<B2BCustomerModel,B2BPermissionResultModel> - Parameters:
order- the order- Returns:
- the open permissions
-
getEvaluateStrategies
protected Set<PermissionEvaluateStrategy<B2BPermissionResultModel,AbstractOrderModel, getEvaluateStrategies()B2BCustomerModel>> -
getB2BPermissionForCode
Description copied from interface:B2BPermissionServiceGets the b2b permission for the code provided.- Specified by:
getB2BPermissionForCodein interfaceB2BPermissionService<B2BCustomerModel,B2BPermissionResultModel> - Parameters:
code- the code- Returns:
- the b2b permission model
-
getAllB2BPermissions
Description copied from interface:B2BPermissionServiceGet all b2b permissions.- Specified by:
getAllB2BPermissionsin interfaceB2BPermissionService<B2BCustomerModel,B2BPermissionResultModel> - Returns:
- the set of B2BPermissionModel
-
setEvaluateStrategies
public void setEvaluateStrategies(Set<PermissionEvaluateStrategy<B2BPermissionResultModel, AbstractOrderModel, B2BCustomerModel>> evaluateStrategies) -
getModelService
-
setModelService
-
getSessionService
-
setSessionService
-
setB2bApproverService
-
getB2bApproverService
-
getPermissionResultHelper
-
setPermissionResultHelper
-
getUserService
-
setUserService
-
getBaseDao
-
setBaseDao
-
permissionExists
Description copied from interface:B2BPermissionServiceDetermine if a b2b permission exists based on a code.- Specified by:
permissionExistsin interfaceB2BPermissionService<B2BCustomerModel,B2BPermissionResultModel> - Parameters:
code- the code- Returns:
- True if permission exists
-
getPermissionTypes
-
setPermissionTypes
-
getAllB2BPermissionTypes
Description copied from interface:B2BPermissionServiceGet all permission types- Specified by:
getAllB2BPermissionTypesin interfaceB2BPermissionService<B2BCustomerModel,B2BPermissionResultModel> - Returns:
- permission types list
-
getSearchRestrictionService
-
setSearchRestrictionService
-
getB2bCommentService
-
setB2bCommentService
-
getB2bPermissionDao
-
setB2bPermissionDao
-