Scarab commit: svn commit: r11062 - trunk/src/java/org/tigris/scarab/om/ScarabUserImpl.java

[email protected] Wed, 21 Dec 2011 19:35:02 -0800 (PST)
Newsgroups gmane.comp.java.scarab.cvs
Message-ID <[email protected]>
Author: dabbous
Date: 2011-12-21 19:35:01-0800
New Revision: 11062

Modified:
   trunk/src/java/org/tigris/scarab/om/ScarabUserImpl.java

Log:
Changed Syntax for scarab.default.role:

scarab.default.role=modulename.rolename

currently just one module supported.
I want to get this into the module editor.
work in progress

Modified: trunk/src/java/org/tigris/scarab/om/ScarabUserImpl.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/om/ScarabUserImpl.java?view=diff&pathrev=11062&r1=11061&r2=11062
==============================================================================
--- trunk/src/java/org/tigris/scarab/om/ScarabUserImpl.java	(original)
+++ trunk/src/java/org/tigris/scarab/om/ScarabUserImpl.java	2011-12-21 19:35:01-0800
@@ -426,16 +426,16 @@
                     ScarabModule module = (ScarabModule)scarabModules.get(i);
                     Integer moduleId = module.getModuleId();
                     boolean hasRoles = this.hasAnyRoleIn(module);
+                    String moduleName = module.getName();
                     
                     if(!hasRoles)
                     {
-                        String defaultRoleName = ScarabGlobalTool.getTurbineProperty("scarab.default.role");
+                        String defaultRoleName = getDefaultRoleForModule(moduleName);                        
                         if(defaultRoleName != null)
                         {
                             Role role = TurbineSecurity.getRole(defaultRoleName);
                             if(role != null)
                             {
-                                User x = null;
                                 ScarabUser su = (ScarabUser)this;
                                 TurbineSecurity.grant(su, module, role);
                                 hasRoles = true;
@@ -487,6 +487,26 @@
         }
         return result;
     }
+
+    private String getDefaultRoleForModule(String moduleName) 
+    {
+        String moduleRoleName = ScarabGlobalTool.getTurbineProperty("scarab.default.role");
+        String defaultRoleName = null;
+
+        if(moduleRoleName != null)
+        {
+            int index = moduleRoleName.lastIndexOf('.');
+            if(index > 0)
+            {
+                String mod = moduleRoleName.substring(0,index);
+                if(mod.equals(moduleName))
+                {
+                    defaultRoleName = moduleRoleName.substring(index+1);
+                }
+            }
+        }
+        return defaultRoleName;
+    }
     
     /**
      * @see org.tigris.scarab.om.ScarabUser#hasAnyRoleIn(Module)

------------------------------------------------------
http://scarab.tigris.org/ds/viewMessage.do?dsForumId=3577&dsMessageId=2898960