You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2013/04/24 15:38:23 UTC

svn commit: r1471410 - in /archiva/trunk/archiva-modules: archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/ archiva-web/archiva-rest/archiva-rest-services/src/main/java/org...

Author: olamy
Date: Wed Apr 24 13:38:23 2013
New Revision: 1471410

URL: http://svn.apache.org/r1471410
Log:
verify roles for repository are configured on startup

Modified:
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java
    archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRedbackRuntimeConfigurationService.java

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java?rev=1471410&r1=1471409&r2=1471410&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java Wed Apr 24 13:38:23 2013
@@ -109,7 +109,7 @@ public class DefaultManagedRepositoryAdm
 
     @PostConstruct
     public void initialize()
-        throws RepositoryAdminException
+        throws RepositoryAdminException, RoleManagerException
     {
         try
         {
@@ -120,10 +120,12 @@ public class DefaultManagedRepositoryAdm
         {
             throw new RepositoryAdminException( e.getMessage(), e );
         }
-        // initialize index context on start
+        // initialize index context on start and check roles here
         for ( ManagedRepository managedRepository : getManagedRepositories() )
         {
             createIndexContext( managedRepository );
+            addRepositoryRoles( managedRepository.getId() );
+
         }
     }
 
@@ -264,13 +266,13 @@ public class DefaultManagedRepositoryAdm
         try
         {
             addRepository( repository, config );
-            addRepositoryRoles( repository );
+            addRepositoryRoles( repository.getId() );
 
             if ( stageRepoNeeded )
             {
                 ManagedRepositoryConfiguration stagingRepository = getStageRepoConfig( repository );
                 addRepository( stagingRepository, config );
-                addRepositoryRoles( stagingRepository );
+                addRepositoryRoles( stagingRepository.getId() );
                 triggerAuditEvent( stagingRepository.getId(), null, AuditEvent.ADD_MANAGED_REPO, auditInformation );
             }
         }
@@ -727,7 +729,8 @@ public class DefaultManagedRepositoryAdm
         return true;
     }
 
-    protected void addRepositoryRoles( ManagedRepositoryConfiguration newRepository )
+
+    public void addRepositoryRoles( ManagedRepository newRepository )
         throws RoleManagerException
     {
         String repoId = newRepository.getId();
@@ -746,6 +749,24 @@ public class DefaultManagedRepositoryAdm
         }
     }
 
+
+    private void addRepositoryRoles( String repoId )
+        throws RoleManagerException
+    {
+        // TODO: double check these are configured on start up
+        // TODO: belongs in the business logic
+
+        if ( !getRoleManager().templatedRoleExists( ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, repoId ) )
+        {
+            getRoleManager().createTemplatedRole( ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, repoId );
+        }
+
+        if ( !getRoleManager().templatedRoleExists( ArchivaRoleConstants.TEMPLATE_REPOSITORY_MANAGER, repoId ) )
+        {
+            getRoleManager().createTemplatedRole( ArchivaRoleConstants.TEMPLATE_REPOSITORY_MANAGER, repoId );
+        }
+    }
+
     protected void removeRepositoryRoles( ManagedRepositoryConfiguration existingRepository )
         throws RoleManagerException
     {

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRedbackRuntimeConfigurationService.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRedbackRuntimeConfigurationService.java?rev=1471410&r1=1471409&r2=1471410&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRedbackRuntimeConfigurationService.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRedbackRuntimeConfigurationService.java Wed Apr 24 13:38:23 2013
@@ -179,6 +179,8 @@ public class DefaultRedbackRuntimeConfig
 
             ldapUserMapper.initialize();
 
+            //check repositories roles are here !!!
+
             return Boolean.TRUE;
         }
         catch ( Exception e )