Author: jmcconnell
Date: Tue Dec  5 08:37:53 2006
New Revision: 482705

URL: http://svn.apache.org/viewvc?view=rev&rev=482705
Log:
MRM-242 added a new base role for the repository managers to inherit

Added:
    
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/BaseRepositoryManagerRoleProfile.java
Modified:
    
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleConstants.java
    
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleProfileManager.java
    
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/RepositoryManagerDynamicRoleProfile.java
    
maven/archiva/trunk/archiva-security/src/main/resources/META-INF/plexus/components.xml

Modified: 
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleConstants.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleConstants.java?view=diff&rev=482705&r1=482704&r2=482705
==============================================================================
--- 
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleConstants.java
 (original)
+++ 
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleConstants.java
 Tue Dec  5 08:37:53 2006
@@ -29,6 +29,8 @@
 
     public static final String GUEST_ROLE = "Guest";
 
+    public static final String BASE_REPOSITORY_MANAGER = "Repository Manager 
Base";
+
     // dynamic role prefixes
     public static final String REPOSITORY_MANAGER_ROLE_PREFIX = "Repository 
Manager";
 

Modified: 
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleProfileManager.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleProfileManager.java?view=diff&rev=482705&r1=482704&r2=482705
==============================================================================
--- 
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleProfileManager.java
 (original)
+++ 
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/ArchivaRoleProfileManager.java
 Tue Dec  5 08:37:53 2006
@@ -32,6 +32,8 @@
     public void initialize()
         throws RoleProfileException
     {
+        getRole( "archiva-repository-manager-base" );
+
         mergeRoleProfiles( "system-administrator", 
"archiva-system-administrator" );
         mergeRoleProfiles( "user-administrator", "archiva-user-administrator" 
);
         mergeRoleProfiles( "guest", "archiva-guest" );

Added: 
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/BaseRepositoryManagerRoleProfile.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/BaseRepositoryManagerRoleProfile.java?view=auto&rev=482705
==============================================================================
--- 
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/BaseRepositoryManagerRoleProfile.java
 (added)
+++ 
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/BaseRepositoryManagerRoleProfile.java
 Tue Dec  5 08:37:53 2006
@@ -0,0 +1,42 @@
+package org.apache.maven.archiva.security;
+
+import org.codehaus.plexus.rbac.profile.AbstractRoleProfile;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @plexus.component role="org.codehaus.plexus.rbac.profile.RoleProfile"
+ * role-hint="archiva-repository-manager-base"
+ */
+public class BaseRepositoryManagerRoleProfile
+    extends AbstractRoleProfile
+{
+    /**
+     * Create the Role name for a Repository Manager, using the provided 
repository id.
+     *
+     */
+    public String getRoleName( )
+    {
+        return ArchivaRoleConstants.BASE_REPOSITORY_MANAGER;
+    }
+
+    public List getOperations()
+    {
+        List operations = new ArrayList();
+
+        operations.add( ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION );
+
+        return operations;
+    }
+
+    public boolean isPermanent()
+    {
+        return true;
+    }
+
+    public boolean isAssignable()
+    {
+        return false;
+    }
+}

Modified: 
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/RepositoryManagerDynamicRoleProfile.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/RepositoryManagerDynamicRoleProfile.java?view=diff&rev=482705&r1=482704&r2=482705
==============================================================================
--- 
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/RepositoryManagerDynamicRoleProfile.java
 (original)
+++ 
maven/archiva/trunk/archiva-security/src/main/java/org/apache/maven/archiva/security/RepositoryManagerDynamicRoleProfile.java
 Tue Dec  5 08:37:53 2006
@@ -52,6 +52,12 @@
         return operations;
     }
 
+
+    public List getChildRoles()
+    {
+        return Collections.singletonList( 
ArchivaRoleConstants.BASE_REPOSITORY_MANAGER );
+    }
+
     public List getDynamicChildRoles( String string )
     {
         return Collections.singletonList(

Modified: 
maven/archiva/trunk/archiva-security/src/main/resources/META-INF/plexus/components.xml
URL: 
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-security/src/main/resources/META-INF/plexus/components.xml?view=diff&rev=482705&r1=482704&r2=482705
==============================================================================
--- 
maven/archiva/trunk/archiva-security/src/main/resources/META-INF/plexus/components.xml
 (original)
+++ 
maven/archiva/trunk/archiva-security/src/main/resources/META-INF/plexus/components.xml
 Tue Dec  5 08:37:53 2006
@@ -81,6 +81,20 @@
       </requirements>
     </component>
     <component>
+      <role>org.codehaus.plexus.rbac.profile.RoleProfile</role>
+      <role-hint>archiva-repository-manager-base</role-hint>
+      
<implementation>org.apache.maven.archiva.security.BaseRepositoryManagerRoleProfile</implementation>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.security.rbac.RBACManager</role>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.PlexusContainer</role>
+          <field-name>container</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
       <role>org.codehaus.plexus.rbac.profile.DynamicRoleProfile</role>
       <role-hint>archiva-repository-manager</role-hint>
       
<implementation>org.apache.maven.archiva.security.RepositoryManagerDynamicRoleProfile</implementation>


Reply via email to