You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by br...@apache.org on 2007/02/09 16:39:43 UTC
svn commit: r505329 [2/2] - in /maven/archiva/trunk: archiva-configuration/
archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/
archiva-configuration/src/test/conf/
archiva-configuration/src/test/java/org/apache/maven/archiva/co...
Modified: maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/ProxiedDavServer.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/ProxiedDavServer.java?view=diff&rev=505329&r1=505328&r2=505329
==============================================================================
--- maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/ProxiedDavServer.java (original)
+++ maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/ProxiedDavServer.java Fri Feb 9 07:39:41 2007
@@ -20,9 +20,8 @@
*/
import org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.Configuration;
-import org.apache.maven.archiva.configuration.ConfigurationStore;
-import org.apache.maven.archiva.configuration.ConfigurationStoreException;
import org.apache.maven.archiva.configuration.ConfiguredRepositoryFactory;
import org.apache.maven.archiva.configuration.ProxiedRepositoryConfiguration;
import org.apache.maven.archiva.configuration.Proxy;
@@ -38,25 +37,23 @@
import org.codehaus.plexus.webdav.servlet.DavServerRequest;
import org.codehaus.plexus.webdav.util.WebdavMethodUtil;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletResponse;
-
/**
- * ProxiedDavServer
+ * ProxiedDavServer
*
* @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
* @version $Id$
- *
- * @plexus.component role="org.codehaus.plexus.webdav.DavServerComponent"
- * role-hint="proxied"
- * instantiation-strategy="per-lookup"
+ * @plexus.component role="org.codehaus.plexus.webdav.DavServerComponent"
+ * role-hint="proxied"
+ * instantiation-strategy="per-lookup"
*/
public class ProxiedDavServer
extends AbstractDavServerComponent
@@ -69,7 +66,7 @@
/**
* @plexus.requirement
*/
- private ConfigurationStore configurationStore;
+ private ArchivaConfiguration archivaConfiguration;
/**
* @plexus.requirement role="org.apache.maven.archiva.proxy.ProxyRequestHandler"
@@ -117,29 +114,22 @@
proxiedRepositories = new ArrayList();
- try
- {
- Configuration config = configurationStore.getConfigurationFromStore();
+ Configuration config = archivaConfiguration.getConfiguration();
- wagonProxy = createWagonProxy( config.getProxy() );
+ wagonProxy = createWagonProxy( config.getProxy() );
- repositoryConfiguration = config.getRepositoryByUrlName( getPrefix() );
+ repositoryConfiguration = config.getRepositoryByUrlName( getPrefix() );
- managedRepository = repositoryFactory.createRepository( repositoryConfiguration );
+ managedRepository = repositoryFactory.createRepository( repositoryConfiguration );
- for ( Iterator i = config.getProxiedRepositories().iterator(); i.hasNext(); )
- {
- ProxiedRepositoryConfiguration proxiedRepoConfig = (ProxiedRepositoryConfiguration) i.next();
+ for ( Iterator i = config.getProxiedRepositories().iterator(); i.hasNext(); )
+ {
+ ProxiedRepositoryConfiguration proxiedRepoConfig = (ProxiedRepositoryConfiguration) i.next();
- if ( proxiedRepoConfig.getManagedRepository().equals( repositoryConfiguration.getId() ) )
- {
- proxiedRepositories.add( repositoryFactory.createProxiedRepository( proxiedRepoConfig ) );
- }
+ if ( proxiedRepoConfig.getManagedRepository().equals( repositoryConfiguration.getId() ) )
+ {
+ proxiedRepositories.add( repositoryFactory.createProxiedRepository( proxiedRepoConfig ) );
}
- }
- catch ( ConfigurationStoreException e )
- {
- throw new DavServerException( "Unable to obtain configuration.", e );
}
}
Modified: maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/RepositoryServlet.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/RepositoryServlet.java?view=diff&rev=505329&r1=505328&r2=505329
==============================================================================
--- maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/RepositoryServlet.java (original)
+++ maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/RepositoryServlet.java Fri Feb 9 07:39:41 2007
@@ -19,14 +19,12 @@
* under the License.
*/
+import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.Configuration;
-import org.apache.maven.archiva.configuration.ConfigurationChangeException;
-import org.apache.maven.archiva.configuration.ConfigurationChangeListener;
-import org.apache.maven.archiva.configuration.ConfigurationStore;
-import org.apache.maven.archiva.configuration.ConfigurationStoreException;
-import org.apache.maven.archiva.configuration.InvalidConfigurationException;
import org.apache.maven.archiva.configuration.RepositoryConfiguration;
import org.apache.maven.archiva.security.ArchivaRoleConstants;
+import org.codehaus.plexus.registry.Registry;
+import org.codehaus.plexus.registry.RegistryListener;
import org.codehaus.plexus.security.authentication.AuthenticationException;
import org.codehaus.plexus.security.authentication.AuthenticationResult;
import org.codehaus.plexus.security.authorization.AuthorizationException;
@@ -42,25 +40,24 @@
import org.codehaus.plexus.webdav.servlet.multiplexed.MultiplexedWebDavServlet;
import org.codehaus.plexus.webdav.util.WebdavMethodUtil;
-import java.io.File;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
/**
- * RepositoryServlet
+ * RepositoryServlet
*
* @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
* @version $Id$
*/
public class RepositoryServlet
extends MultiplexedWebDavServlet
- implements ConfigurationChangeListener
+ implements RegistryListener
{
/**
* @plexus.requirement
@@ -77,49 +74,42 @@
*/
private AuditLog audit;
- private Configuration config;
+ private Configuration configuration;
+
+ private ArchivaConfiguration archivaConfiguration;
public void initComponents()
throws ServletException
{
super.initComponents();
- ConfigurationStore configurationStore;
-
- configurationStore = (ConfigurationStore) lookup( ConfigurationStore.ROLE );
securitySystem = (SecuritySystem) lookup( SecuritySystem.ROLE );
httpAuth = (HttpAuthenticator) lookup( HttpAuthenticator.ROLE, "basic" );
audit = (AuditLog) lookup( AuditLog.ROLE );
- try
- {
- config = configurationStore.getConfigurationFromStore();
- configurationStore.addChangeListener( this );
- }
- catch ( ConfigurationStoreException e )
- {
- throw new ServletException( "Unable to obtain configuration.", e );
- }
+ archivaConfiguration = (ArchivaConfiguration) lookup( ArchivaConfiguration.class.getName() );
+ configuration = archivaConfiguration.getConfiguration();
+ archivaConfiguration.addChangeListener( this );
}
public void initServers( ServletConfig servletConfig )
throws DavServerException
{
- List repositories = config.getRepositories();
+ List repositories = configuration.getRepositories();
Iterator itrepos = repositories.iterator();
while ( itrepos.hasNext() )
{
RepositoryConfiguration repoConfig = (RepositoryConfiguration) itrepos.next();
- DavServerComponent server = createServer( repoConfig.getUrlName(), new File( repoConfig.getDirectory() ),
- servletConfig );
+ DavServerComponent server =
+ createServer( repoConfig.getUrlName(), new File( repoConfig.getDirectory() ), servletConfig );
server.addListener( audit );
}
}
public RepositoryConfiguration getRepositoryConfiguration( DavServerRequest request )
{
- return config.getRepositoryByUrlName( request.getPrefix() );
+ return configuration.getRepositoryByUrlName( request.getPrefix() );
}
public String getRepositoryName( DavServerRequest request )
@@ -189,16 +179,16 @@
permission = ArchivaRoleConstants.OPERATION_REPOSITORY_UPLOAD;
}
- AuthorizationResult authzResult = securitySystem.authorize( securitySession, permission,
- getRepositoryConfiguration( davRequest )
- .getId() );
+ AuthorizationResult authzResult =
+ securitySystem.authorize( securitySession, permission, getRepositoryConfiguration( davRequest )
+ .getId() );
if ( !authzResult.isAuthorized() )
{
if ( authzResult.getException() != null )
{
- log( "Authorization Denied [ip=" + request.getRemoteAddr() + ",isWriteRequest=" + isWriteRequest
- + ",permission=" + permission + "] : " + authzResult.getException().getMessage() );
+ log( "Authorization Denied [ip=" + request.getRemoteAddr() + ",isWriteRequest=" + isWriteRequest +
+ ",permission=" + permission + "] : " + authzResult.getException().getMessage() );
}
// Issue HTTP Challenge.
@@ -214,11 +204,10 @@
return true;
}
-
- public void notifyOfConfigurationChange( Configuration newConfiguration )
- throws InvalidConfigurationException, ConfigurationChangeException
+
+ public void notifyOfConfigurationChange( Registry registry )
{
- config = newConfiguration;
+ configuration = archivaConfiguration.getConfiguration();
getDavManager().removeAllServers();
@@ -228,7 +217,7 @@
}
catch ( DavServerException e )
{
- throw new ConfigurationChangeException( "Unable to process configuration change.", e );
+ log( "Error restarting WebDAV server after configuration change - service disabled: " + e.getMessage(), e );
}
}
}
Modified: maven/archiva/trunk/archiva-webapp/src/main/resources/META-INF/plexus/application.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-webapp/src/main/resources/META-INF/plexus/application.xml?view=diff&rev=505329&r1=505328&r2=505329
==============================================================================
--- maven/archiva/trunk/archiva-webapp/src/main/resources/META-INF/plexus/application.xml (original)
+++ maven/archiva/trunk/archiva-webapp/src/main/resources/META-INF/plexus/application.xml Fri Feb 9 07:39:41 2007
@@ -22,14 +22,27 @@
<components>
<component>
- <role>org.codehaus.plexus.security.configuration.UserConfiguration</role>
- <implementation>org.codehaus.plexus.security.configuration.UserConfiguration</implementation>
+ <role>org.codehaus.plexus.registry.Registry</role>
+ <implementation>org.codehaus.plexus.registry.CommonsConfigurationRegistry</implementation>
+ <role-hint>commons-configuration</role-hint>
<configuration>
- <configs>
- <config>${user.home}/.m2/security.properties</config>
- <config>${user.home}/.m2/archiva.properties</config>
- <config>/org/apache/maven/archiva/security.properties</config>
- </configs>
+ <properties>
+ <system/>
+ <jndi prefix="java:comp/env" config-optional="true"/>
+ <xml fileName="${user.home}/.m2/archiva.xml" config-optional="true" config-name="org.apache.maven.archiva"
+ config-at="org.apache.maven.archiva" config-forceCreate="true"/>
+ <xml fileName="${user.home}/.m2/shared.xml" config-optional="true"/>
+ <properties fileName="${user.home}/.m2/security.properties" config-optional="true"
+ config-at="org.codehaus.plexus.security"/>
+ <properties fileName="${user.home}/.m2/archiva.properties" config-optional="true"
+ config-at="org.codehaus.plexus.security"/>
+ <xml fileName="${appserver.base}/conf/archiva.xml" config-optional="true"
+ config-at="org.apache.maven.archiva"/>
+ <xml fileName="${appserver.base}/conf/common.xml" config-optional="true"/>
+ <xml fileName="${appserver.home}/conf/archiva.xml" config-optional="true"
+ config-at="org.apache.maven.archiva"/>
+ <xml fileName="${appserver.home}/conf/common.xml" config-optional="true"/>
+ </properties>
</configuration>
</component>
@@ -40,7 +53,7 @@
<jndiSessionName>java:comp/env/mail/Session</jndiSessionName>
</configuration>
</component>
-
+
<component>
<role>org.codehaus.plexus.webdav.DavServerManager</role>
<role-hint>default</role-hint>