Package org.openiam.srvc.am
Class BusinessRuleWebServiceImpl
- java.lang.Object
-
- org.openiam.srvc.AbstractApiService
-
- org.openiam.srvc.am.BusinessRuleWebServiceImpl
-
- All Implemented Interfaces:
BusinessRuleWebService
@Service("businessRuleWS") public class BusinessRuleWebServiceImpl extends AbstractApiService implements BusinessRuleWebService
-
-
Field Summary
-
Fields inherited from class org.openiam.srvc.AbstractApiService
applicationContext, log, rabbitMQSender
-
-
Constructor Summary
Constructors Constructor Description BusinessRuleWebServiceImpl(BusinessRuleQueue queue, BusinessRuleEvaluationQueue businessRuleEvaluationQueue)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ResponsedeleteBusinessRule(String id)ResponsedeleteTarget(String id)BusinessRuleEvaluationResponseevaluateUser(BusinessRuleCrudRequest evaluationCrudServiceRequest)BusinessRuleDtoListResponsefindBeans(BusinessRuleSearchBean searchBean, int from, int size)BusinessRuleTargetListDtoResponsefindTarget(BusinessRuleTargetSearchBean searchBean, int from, int size)BusinessRuleUserRecalculationListResponsefindUsersToBeRecalculated(String name, int from, int size)Method is used to get list of Preview users, it's a lit of users that affected by chages in business rules.BusinessRuleDtogetBusinessRule(String id)BrTargetDtogetTarget(String id)ResponseperformRecalculation()Will perform the recalculation (provisioning of users) based on the business rules with pending statuses.ResponseperformReview()action to generate a list of users that are impacted by business rules changes.BusinessRuleDtoResponsesaveBusinessRule(BusinessRuleDto target)Method is user to save (add / Update) Business rule.BrTargetDtosaveTarget(BrTargetDto target)Method is user to save (add / Update) target.Responsevalidate(BrConditionDto condition)Method is used to validate logic of the the condition.-
Methods inherited from class org.openiam.srvc.AbstractApiService
broadcast, crudRequest, getBooleanValue, getIntValue, getIntValue, getRabbitMqQueue, getResponse, getResponse, getValue, getValue, getValueList, getValueList, idRequest, manageApiRequest, manageApiRequest, manageCrudApiRequest, manageCrudApiRequest, manageCrudApiRequest, manageCrudApiRequest, membershipRequestProcessing, membershipRequestProcessing, publish, publish, sendAsync, sendAsync
-
-
-
-
Constructor Detail
-
BusinessRuleWebServiceImpl
@Autowired public BusinessRuleWebServiceImpl(BusinessRuleQueue queue, BusinessRuleEvaluationQueue businessRuleEvaluationQueue)
-
-
Method Detail
-
saveTarget
public BrTargetDto saveTarget(BrTargetDto target)
Description copied from interface:BusinessRuleWebServiceMethod is user to save (add / Update) target. This action will changeBusinessRuleDto#getStatus()toBusinessRuleStatusEnum.ON_MODIFYvalue, so the business rule will be in the list of rules that we should check agains all users.- Specified by:
saveTargetin interfaceBusinessRuleWebService- Parameters:
target- targetBrConditionDtoto be saved- Returns:
- - return
BrConditionDtodto after save from the DB
-
getTarget
public BrTargetDto getTarget(String id)
- Specified by:
getTargetin interfaceBusinessRuleWebService- Parameters:
id- - is of the target that need to get.- Returns:
- - null if no entity with the provided id otherwise return
BrTargetDto
-
deleteTarget
public Response deleteTarget(String id)
- Specified by:
deleteTargetin interfaceBusinessRuleWebService- Parameters:
id- - is of the target that need to be deleted.- Returns:
- -
Response#getStatus()withResponseStatus.FAILUREif target is used in any business rules or will be problems with database. Otherwise it will returnResponse#getStatus()withResponseStatus.SUCCESSvalue
-
saveBusinessRule
public BusinessRuleDtoResponse saveBusinessRule(BusinessRuleDto target)
Description copied from interface:BusinessRuleWebServiceMethod is user to save (add / Update) Business rule. This action will changeBusinessRuleDto#getStatus()to: -BusinessRuleStatusEnum.ON_MODIFYif business rule was changed or status was changed fromBusinessRuleStatusEnum.INACTIVEtoBusinessRuleStatusEnum.ACTIVE-BusinessRuleStatusEnum.ON_DEACTIVATEif business rule status was changed fromBusinessRuleStatusEnum.ACTIVEtoBusinessRuleStatusEnum.INACTIVE-BusinessRuleStatusEnum.ON_DELETEif business rule going to be deleted of rules that we should check against all users.- Specified by:
saveBusinessRulein interfaceBusinessRuleWebService- Parameters:
target- - business ruleBrConditionDtoto be saved- Returns:
- - return
BusinessRuleDtoResponseresponse after save from the DB
-
getBusinessRule
public BusinessRuleDto getBusinessRule(String id)
- Specified by:
getBusinessRulein interfaceBusinessRuleWebService
-
deleteBusinessRule
public Response deleteBusinessRule(String id)
- Specified by:
deleteBusinessRulein interfaceBusinessRuleWebService
-
findBeans
public BusinessRuleDtoListResponse findBeans(BusinessRuleSearchBean searchBean, int from, int size)
- Specified by:
findBeansin interfaceBusinessRuleWebService
-
findTarget
public BusinessRuleTargetListDtoResponse findTarget(BusinessRuleTargetSearchBean searchBean, int from, int size)
- Specified by:
findTargetin interfaceBusinessRuleWebService
-
validate
public Response validate(BrConditionDto condition)
Description copied from interface:BusinessRuleWebServiceMethod is used to validate logic of the the condition.- Specified by:
validatein interfaceBusinessRuleWebService- Parameters:
condition- - the condition to be checked- Returns:
-
performReview
public Response performReview()
Description copied from interface:BusinessRuleWebServiceaction to generate a list of users that are impacted by business rules changes.- Specified by:
performReviewin interfaceBusinessRuleWebService- Returns:
- - success, due to it's async, don't expect here any business logic errors.
-
performRecalculation
public Response performRecalculation()
Description copied from interface:BusinessRuleWebServiceWill perform the recalculation (provisioning of users) based on the business rules with pending statuses.- Specified by:
performRecalculationin interfaceBusinessRuleWebService- Returns:
- - success, due to it's async, don't expect here any business logic errors.
-
findUsersToBeRecalculated
public BusinessRuleUserRecalculationListResponse findUsersToBeRecalculated(String name, int from, int size)
Description copied from interface:BusinessRuleWebServiceMethod is used to get list of Preview users, it's a lit of users that affected by chages in business rules.- Specified by:
findUsersToBeRecalculatedin interfaceBusinessRuleWebService- Parameters:
name- - the user name for searchfrom- - from (zero based) start of resultsize- - size of result page- Returns:
- -
BusinessRuleUserRecalculationListResponsewith explanations.
-
evaluateUser
public BusinessRuleEvaluationResponse evaluateUser(BusinessRuleCrudRequest evaluationCrudServiceRequest)
- Specified by:
evaluateUserin interfaceBusinessRuleWebService
-
-