Author: olamy
Date: Wed Sep 7 12:18:55 2011
New Revision: 1166148
URL: http://svn.apache.org/viewvc?rev=1166148&view=rev
Log:
start using new repo admin module in webdav : need some other refactoring to
remove it completely
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/pom.xml
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/RepositoryServlet.java
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/AbstractRepositoryServletTestCase.java
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletTest.java
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/UnauthenticatedRepositoryServlet.java
archiva/trunk/pom.xml
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webdav/pom.xml
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/pom.xml?rev=1166148&r1=1166147&r2=1166148&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webdav/pom.xml (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webdav/pom.xml Wed Sep 7
12:18:55 2011
@@ -41,14 +41,18 @@
</dependency>
<dependency>
<groupId>org.apache.archiva</groupId>
+ <artifactId>archiva-repository-scanner</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.archiva</groupId>
<artifactId>archiva-configuration</artifactId>
- <!-- TODO uncomment when repository admin will be finished
+ <!-- should be runtime but currently not possible due
ConfigurationListener
<scope>runtime</scope>
-->
</dependency>
<dependency>
<groupId>org.apache.archiva</groupId>
- <artifactId>archiva-repository-scanner</artifactId>
+ <artifactId>archiva-repository-admin</artifactId>
</dependency>
<dependency>
<groupId>org.apache.archiva</groupId>
@@ -166,6 +170,8 @@
<argLine>-Xmx512m -Xms512m -client</argLine>
<systemPropertyVariables>
<appserver.base>${basedir}/target/appserver-base</appserver.base>
+ <plexus.home>${project.build.outputDirectory}</plexus.home>
+ <java.io.tmpdir>${project.build.outputDirectory}</java.io.tmpdir>
</systemPropertyVariables>
<forkMode>${webdav.forkMode}</forkMode>
</configuration>
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/RepositoryServlet.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/RepositoryServlet.java?rev=1166148&r1=1166147&r2=1166148&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/RepositoryServlet.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/RepositoryServlet.java
Wed Sep 7 12:18:55 2011
@@ -19,6 +19,10 @@ package org.apache.maven.archiva.webdav;
* under the License.
*/
+import org.apache.archiva.admin.repository.RepositoryAdminException;
+import org.apache.archiva.admin.repository.managed.ManagedRepository;
+import org.apache.archiva.admin.repository.managed.ManagedRepositoryAdmin;
+import org.apache.archiva.security.ServletAuthenticator;
import org.apache.jackrabbit.webdav.DavException;
import org.apache.jackrabbit.webdav.DavLocatorFactory;
import org.apache.jackrabbit.webdav.DavMethods;
@@ -34,8 +38,6 @@ import org.apache.jackrabbit.webdav.serv
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.ConfigurationEvent;
import org.apache.maven.archiva.configuration.ConfigurationListener;
-import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
-import org.apache.archiva.security.ServletAuthenticator;
import
org.codehaus.redback.integration.filter.authentication.HttpAuthenticator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -62,7 +64,9 @@ public class RepositoryServlet
private ArchivaConfiguration configuration;
- private Map<String, ManagedRepositoryConfiguration> repositoryMap;
+ private ManagedRepositoryAdmin managedRepositoryAdmin;
+
+ private Map<String, ManagedRepository> repositoryMap;
private DavLocatorFactory locatorFactory;
@@ -76,7 +80,15 @@ public class RepositoryServlet
throws ServletException
{
super.init( servletConfig );
- initServers( servletConfig );
+ try
+ {
+ initServers( servletConfig );
+ }
+ catch ( RepositoryAdminException e )
+ {
+ log.error( e.getMessage(), e );
+ throw new ServletException( e.getMessage(), e );
+ }
}
/**
@@ -156,6 +168,7 @@ public class RepositoryServlet
}
public synchronized void initServers( ServletConfig servletConfig )
+ throws RepositoryAdminException
{
WebApplicationContext wac =
WebApplicationContextUtils.getRequiredWebApplicationContext(
servletConfig.getServletContext() );
@@ -163,9 +176,11 @@ public class RepositoryServlet
configuration = wac.getBean( "archivaConfiguration#default",
ArchivaConfiguration.class );
configuration.addListener( this );
- repositoryMap =
configuration.getConfiguration().getManagedRepositoriesAsMap();
+ managedRepositoryAdmin = wac.getBean( ManagedRepositoryAdmin.class );
+
+ repositoryMap = managedRepositoryAdmin.getManagedRepositoriesAsMap();
- for ( ManagedRepositoryConfiguration repo : repositoryMap.values() )
+ for ( ManagedRepository repo : repositoryMap.values() )
{
File repoDir = new File( repo.getLocation() );
@@ -180,7 +195,7 @@ public class RepositoryServlet
}
}
- resourceFactory = wac.getBean("davResourceFactory#archiva",
DavResourceFactory.class );
+ resourceFactory = wac.getBean( "davResourceFactory#archiva",
DavResourceFactory.class );
locatorFactory = new ArchivaDavLocatorFactory();
ServletAuthenticator servletAuth = wac.getBean(
ServletAuthenticator.class );
@@ -195,16 +210,25 @@ public class RepositoryServlet
{
if ( event.getType() == ConfigurationEvent.SAVED )
{
- initRepositories();
+ try
+ {
+ initRepositories();
+ }
+ catch ( RepositoryAdminException e )
+ {
+ log.error( e.getMessage(), e );
+ throw new RuntimeException( e.getMessage(), e );
+ }
}
}
private void initRepositories()
+ throws RepositoryAdminException
{
synchronized ( repositoryMap )
{
repositoryMap.clear();
- repositoryMap.putAll(
configuration.getConfiguration().getManagedRepositoriesAsMap() );
+ repositoryMap.putAll(
managedRepositoryAdmin.getManagedRepositoriesAsMap() );
}
synchronized ( reloadLock )
@@ -213,11 +237,12 @@ public class RepositoryServlet
}
}
- public synchronized ManagedRepositoryConfiguration getRepository( String
prefix )
+ public synchronized ManagedRepository getRepository( String prefix )
+ throws RepositoryAdminException
{
if ( repositoryMap.isEmpty() )
{
- repositoryMap.putAll(
configuration.getConfiguration().getManagedRepositoriesAsMap() );
+ repositoryMap.putAll(
managedRepositoryAdmin.getManagedRepositoriesAsMap() );
}
return repositoryMap.get( prefix );
}
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/AbstractRepositoryServletTestCase.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/AbstractRepositoryServletTestCase.java?rev=1166148&r1=1166147&r2=1166148&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/AbstractRepositoryServletTestCase.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/AbstractRepositoryServletTestCase.java
Wed Sep 7 12:18:55 2011
@@ -26,6 +26,7 @@ import com.meterware.servletunit.Servlet
import junit.framework.Assert;
import junit.framework.TestCase;
import net.sf.ehcache.CacheManager;
+import org.apache.archiva.admin.repository.managed.ManagedRepository;
import org.apache.commons.io.FileUtils;
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.Configuration;
@@ -173,8 +174,9 @@ public abstract class AbstractRepository
}
protected void assertRepositoryValid( RepositoryServlet servlet, String
repoId )
+ throws Exception
{
- ManagedRepositoryConfiguration repository = servlet.getRepository(
repoId );
+ ManagedRepository repository = servlet.getRepository( repoId );
assertNotNull( "Archiva Managed Repository id:<" + repoId + "> should
exist.", repository );
File repoRoot = new File( repository.getLocation() );
assertTrue( "Archiva Managed Repository id:<" + repoId + "> should
have a valid location on disk.",
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletTest.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletTest.java?rev=1166148&r1=1166147&r2=1166148&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletTest.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletTest.java
Wed Sep 7 12:18:55 2011
@@ -19,6 +19,7 @@ package org.apache.maven.archiva.webdav;
* under the License.
*/
+import org.apache.archiva.admin.repository.managed.ManagedRepository;
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.Configuration;
import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
@@ -67,7 +68,7 @@ public class RepositoryServletTest
c.removeManagedRepository( c.findManagedRepositoryById(
REPOID_INTERNAL ) );
saveConfiguration( archivaConfiguration );
- ManagedRepositoryConfiguration repository = servlet.getRepository(
REPOID_INTERNAL );
+ ManagedRepository repository = servlet.getRepository( REPOID_INTERNAL
);
assertNull( repository );
}
@@ -92,7 +93,7 @@ public class RepositoryServletTest
c.addManagedRepository( repo );
saveConfiguration( archivaConfiguration );
- ManagedRepositoryConfiguration repository = servlet.getRepository(
NEW_REPOSITORY_ID );
+ ManagedRepository repository = servlet.getRepository(
NEW_REPOSITORY_ID );
assertNotNull( repository );
assertEquals( NEW_REPOSITORY_NAME, repository.getName() );
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/UnauthenticatedRepositoryServlet.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/UnauthenticatedRepositoryServlet.java?rev=1166148&r1=1166147&r2=1166148&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/UnauthenticatedRepositoryServlet.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/UnauthenticatedRepositoryServlet.java
Wed Sep 7 12:18:55 2011
@@ -19,10 +19,12 @@ package org.apache.maven.archiva.webdav;
* under the License.
*/
+import org.apache.archiva.admin.repository.RepositoryAdminException;
+
import javax.servlet.ServletConfig;
/**
- * UnauthenticatedRepositoryServlet
+ * UnauthenticatedRepositoryServlet
*
* @version $Id$
*/
@@ -32,9 +34,16 @@ public class UnauthenticatedRepositorySe
@Override
public synchronized void initServers( ServletConfig servletConfig )
{
- super.initServers(servletConfig);
-
+ try
+ {
+ super.initServers( servletConfig );
+ }
+ catch ( RepositoryAdminException e )
+ {
+ throw new RuntimeException( e.getMessage(), e );
+ }
+
UnauthenticatedDavSessionProvider sessionProvider = new
UnauthenticatedDavSessionProvider();
- setDavSessionProvider(sessionProvider);
+ setDavSessionProvider( sessionProvider );
}
}
Modified: archiva/trunk/pom.xml
URL:
http://svn.apache.org/viewvc/archiva/trunk/pom.xml?rev=1166148&r1=1166147&r2=1166148&view=diff
==============================================================================
--- archiva/trunk/pom.xml (original)
+++ archiva/trunk/pom.xml Wed Sep 7 12:18:55 2011
@@ -1490,6 +1490,11 @@
<version>2.9</version>
<configuration>
<redirectTestOutputToFile>${surefire.redirectTestOutputToFile}</redirectTestOutputToFile>
+ <systemPropertyVariables>
+ <appserver.base>${basedir}/target/appserver-base</appserver.base>
+ <plexus.home>${project.build.outputDirectory}</plexus.home>
+ <java.io.tmpdir>${project.build.outputDirectory}</java.io.tmpdir>
+ </systemPropertyVariables>
</configuration>
</plugin>
<plugin>