Introduce SimpleRoleRegistration
authorMathieu Baudier <mbaudier@argeo.org>
Fri, 22 Mar 2013 15:15:56 +0000 (15:15 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Fri, 22 Mar 2013 15:15:56 +0000 (15:15 +0000)
https://www.argeo.org/bugzilla/show_bug.cgi?id=141

git-svn-id: https://svn.argeo.org/commons/trunk@6204 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/core/SimpleRoleRegistration.java

index b20a842842d98f7a19fba31cdff1631f10e2365a..aa8a5f06e2bb23b447921e4ea19b085fa66dfe61 100644 (file)
@@ -1,9 +1,12 @@
 package org.argeo.security.core;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.argeo.security.UserAdminService;
 
 /**
@@ -11,21 +14,29 @@ import org.argeo.security.UserAdminService;
  * is already registered.
  */
 public class SimpleRoleRegistration implements Runnable {
+       private final static Log log = LogFactory
+                       .getLog(SimpleRoleRegistration.class);
+
        private String role;
-       private List<String> roles;
+       private List<String> roles = new ArrayList<String>();
        private UserAdminService userAdminService;
 
        @Override
        public void run() {
                Set<String> existingRoles = userAdminService.listEditableRoles();
                if (role != null && !existingRoles.contains(role))
-                       userAdminService.newRole(role);
+                       newRole(role);
                for (String r : roles) {
                        if (!existingRoles.contains(r))
-                               userAdminService.newRole(r);
+                               newRole(r);
                }
        }
 
+       protected void newRole(String r) {
+               userAdminService.newRole(r);
+               log.info("Added role " + r + " required by application.");
+       }
+
        public void register(UserAdminService userAdminService, Map<?, ?> properties) {
                this.userAdminService = userAdminService;
                run();