1 package org
.argeo
.security
.core
;
3 import java
.util
.ArrayList
;
8 import org
.apache
.commons
.logging
.Log
;
9 import org
.apache
.commons
.logging
.LogFactory
;
10 import org
.argeo
.security
.UserAdminService
;
13 * Register one or many roles via a user admin service. Does nothing if the role
14 * is already registered.
16 public class SimpleRoleRegistration
implements Runnable
{
17 private final static Log log
= LogFactory
18 .getLog(SimpleRoleRegistration
.class);
21 private List
<String
> roles
= new ArrayList
<String
>();
22 private UserAdminService userAdminService
;
26 Set
<String
> existingRoles
= userAdminService
.listEditableRoles();
27 if (role
!= null && !existingRoles
.contains(role
))
29 for (String r
: roles
) {
30 if (!existingRoles
.contains(r
))
35 protected void newRole(String r
) {
36 userAdminService
.newRole(r
);
37 log
.info("Added role " + r
+ " required by application.");
40 public void register(UserAdminService userAdminService
, Map
<?
, ?
> properties
) {
41 this.userAdminService
= userAdminService
;
45 public void setRole(String role
) {
49 public void setRoles(List
<String
> roles
) {
53 public void setUserAdminService(UserAdminService userAdminService
) {
54 this.userAdminService
= userAdminService
;