55 StoreFactory storeFactory = authorizationProvider.getStoreFactory();
56 PolicyStore policyStore = storeFactory.getPolicyStore();
57 UserModel userModel =
event.getUser();
58 Map<String, String[]> attributes =
new HashMap<>();
60 attributes.put(
"type",
new String[] {
"user"});
61 attributes.put(
"config:users",
new String[] {userModel.getId()});
63 List<Policy> search = policyStore.findByResourceServer(attributes, null, -1, -1);
65 for (Policy policy : search) {
66 PolicyProviderFactory policyFactory = authorizationProvider.getProviderFactory(policy.getType());
67 UserPolicyRepresentation representation = UserPolicyRepresentation.class.cast(policyFactory.toRepresentation(policy, authorizationProvider));
68 Set<String> users = representation.getUsers();
70 users.remove(userModel.getId());
72 if (users.isEmpty()) {
73 policyFactory.onRemove(policy, authorizationProvider);
74 policyStore.delete(policy.getId());
76 policyFactory.onUpdate(policy, representation, authorizationProvider);