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 Response
deleteBusinessRule(String id)
Response
deleteTarget(String id)
BusinessRuleEvaluationResponse
evaluateUser(BusinessRuleCrudRequest evaluationCrudServiceRequest)
BusinessRuleDtoListResponse
findBeans(BusinessRuleSearchBean searchBean, int from, int size)
BusinessRuleTargetListDtoResponse
findTarget(BusinessRuleTargetSearchBean searchBean, int from, int size)
BusinessRuleUserRecalculationListResponse
findUsersToBeRecalculated(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.BusinessRuleDto
getBusinessRule(String id)
BrTargetDto
getTarget(String id)
Response
performRecalculation()
Will perform the recalculation (provisioning of users) based on the business rules with pending statuses.Response
performReview()
action to generate a list of users that are impacted by business rules changes.BusinessRuleDtoResponse
saveBusinessRule(BusinessRuleDto target)
Method is user to save (add / Update) Business rule.BrTargetDto
saveTarget(BrTargetDto target)
Method is user to save (add / Update) target.Response
validate(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:BusinessRuleWebService
Method is user to save (add / Update) target. This action will changeBusinessRuleDto#getStatus()
toBusinessRuleStatusEnum.ON_MODIFY
value, so the business rule will be in the list of rules that we should check agains all users.- Specified by:
saveTarget
in interfaceBusinessRuleWebService
- Parameters:
target
- targetBrConditionDto
to be saved- Returns:
- - return
BrConditionDto
dto after save from the DB
-
getTarget
public BrTargetDto getTarget(String id)
- Specified by:
getTarget
in 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:
deleteTarget
in interfaceBusinessRuleWebService
- Parameters:
id
- - is of the target that need to be deleted.- Returns:
- -
Response#getStatus()
withResponseStatus.FAILURE
if target is used in any business rules or will be problems with database. Otherwise it will returnResponse#getStatus()
withResponseStatus.SUCCESS
value
-
saveBusinessRule
public BusinessRuleDtoResponse saveBusinessRule(BusinessRuleDto target)
Description copied from interface:BusinessRuleWebService
Method is user to save (add / Update) Business rule. This action will changeBusinessRuleDto#getStatus()
to: -BusinessRuleStatusEnum.ON_MODIFY
if business rule was changed or status was changed fromBusinessRuleStatusEnum.INACTIVE
toBusinessRuleStatusEnum.ACTIVE
-BusinessRuleStatusEnum.ON_DEACTIVATE
if business rule status was changed fromBusinessRuleStatusEnum.ACTIVE
toBusinessRuleStatusEnum.INACTIVE
-BusinessRuleStatusEnum.ON_DELETE
if business rule going to be deleted of rules that we should check against all users.- Specified by:
saveBusinessRule
in interfaceBusinessRuleWebService
- Parameters:
target
- - business ruleBrConditionDto
to be saved- Returns:
- - return
BusinessRuleDtoResponse
response after save from the DB
-
getBusinessRule
public BusinessRuleDto getBusinessRule(String id)
- Specified by:
getBusinessRule
in interfaceBusinessRuleWebService
-
deleteBusinessRule
public Response deleteBusinessRule(String id)
- Specified by:
deleteBusinessRule
in interfaceBusinessRuleWebService
-
findBeans
public BusinessRuleDtoListResponse findBeans(BusinessRuleSearchBean searchBean, int from, int size)
- Specified by:
findBeans
in interfaceBusinessRuleWebService
-
findTarget
public BusinessRuleTargetListDtoResponse findTarget(BusinessRuleTargetSearchBean searchBean, int from, int size)
- Specified by:
findTarget
in interfaceBusinessRuleWebService
-
validate
public Response validate(BrConditionDto condition)
Description copied from interface:BusinessRuleWebService
Method is used to validate logic of the the condition.- Specified by:
validate
in interfaceBusinessRuleWebService
- Parameters:
condition
- - the condition to be checked- Returns:
-
performReview
public Response performReview()
Description copied from interface:BusinessRuleWebService
action to generate a list of users that are impacted by business rules changes.- Specified by:
performReview
in interfaceBusinessRuleWebService
- Returns:
- - success, due to it's async, don't expect here any business logic errors.
-
performRecalculation
public Response performRecalculation()
Description copied from interface:BusinessRuleWebService
Will perform the recalculation (provisioning of users) based on the business rules with pending statuses.- Specified by:
performRecalculation
in 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:BusinessRuleWebService
Method is used to get list of Preview users, it's a lit of users that affected by chages in business rules.- Specified by:
findUsersToBeRecalculated
in interfaceBusinessRuleWebService
- Parameters:
name
- - the user name for searchfrom
- - from (zero based) start of resultsize
- - size of result page- Returns:
- -
BusinessRuleUserRecalculationListResponse
with explanations.
-
evaluateUser
public BusinessRuleEvaluationResponse evaluateUser(BusinessRuleCrudRequest evaluationCrudServiceRequest)
- Specified by:
evaluateUser
in interfaceBusinessRuleWebService
-
-