Author: jmcconnell
Date: Wed May 23 13:33:54 2007
New Revision: 541057
URL: http://svn.apache.org/viewvc?view=rev&rev=541057
Log:
add repository roles from the configuration
Modified:
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/ConfigurationSynchronization.java
Modified:
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/ConfigurationSynchronization.java
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/ConfigurationSynchronization.java?view=diff&rev=541057&r1=541056&r2=541057
==============================================================================
---
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/ConfigurationSynchronization.java
(original)
+++
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/ConfigurationSynchronization.java
Wed May 23 13:33:54 2007
@@ -30,6 +30,8 @@
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
+import org.codehaus.plexus.redback.role.RoleManager;
+import org.codehaus.plexus.redback.role.RoleManagerException;
import org.codehaus.plexus.registry.Registry;
import org.codehaus.plexus.registry.RegistryListener;
@@ -55,6 +57,11 @@
private ArchivaDAO dao;
/**
+ * @plexus.requirement role-hint="default"
+ */
+ RoleManager roleManager;
+
+ /**
* @plexus.requirement
*/
private ArchivaConfiguration archivaConfiguration;
@@ -102,13 +109,33 @@
ArchivaRepository drepo =
ArchivaConfigurationAdaptor.toArchivaRepository( repoConfig );
drepo.getModel().setCreationSource( "configuration" );
dao.getRepositoryDAO().saveRepository( drepo );
- }
+ }
}
catch ( ArchivaDatabaseException e )
{
// Log error.
getLogger().error( "Unable to add configured repositories to
the database: " + e.getMessage(), e );
}
+
+ // manage roles for repositories
+ try
+ {
+ if ( !roleManager.templatedRoleExists(
"archiva-repository-observer", repoConfig.getId() ) )
+ {
+ roleManager.createTemplatedRole(
"archiva-repository-observer", repoConfig.getId() );
+ }
+
+ if ( !roleManager.templatedRoleExists(
"archiva-repository-manager", repoConfig.getId() ) );
+ {
+ roleManager.createTemplatedRole(
"archiva-repository-manager", repoConfig.getId() );
+ }
+ }
+ catch ( RoleManagerException e )
+ {
+ // Log error.
+ getLogger().error( "Unable to create roles for configured
repositories: " + e.getMessage(), e );
+ }
+
}
}