This is an automated email from the ASF dual-hosted git repository.

martin_s pushed a commit to branch feature/storage_refactoring
in repository https://gitbox.apache.org/repos/asf/archiva.git


The following commit(s) were added to refs/heads/feature/storage_refactoring by 
this push:
     new 56ce684  Fixing test errors after refactoring
56ce684 is described below

commit 56ce684ea6338217a36b7faa3f3a6342edccb5d3
Author: Martin Stockhammer <[email protected]>
AuthorDate: Tue Jul 9 21:28:00 2019 +0200

    Fixing test errors after refactoring
---
 .../archiva/indexer/maven/MavenIndexManager.java   |   3 +
 .../archiva/webdav/ArchivaDavResourceFactory.java  |   4 +-
 .../apache/archiva/webdav/RepositoryServlet.java   | 139 +++++++++++----------
 .../webdav/AbstractRepositoryServletTestCase.java  |  11 +-
 ...ositoryServletProxiedMetadataLocalOnlyTest.java |   4 +
 ...sitoryServletProxiedMetadataRemoteOnlyTest.java |   5 +
 .../RepositoryServletProxiedPassthroughTest.java   |   1 +
 ...toryServletProxiedPluginSnapshotPolicyTest.java |   1 +
 .../RepositoryServletProxiedReleasePolicyTest.java |   1 +
 ...RepositoryServletProxiedSnapshotPolicyTest.java |   1 +
 ...ervletProxiedTimestampedSnapshotPolicyTest.java |   1 +
 .../archiva/webdav/RepositoryServletTest.java      |   6 +-
 .../webdav/UnauthenticatedRepositoryServlet.java   |  20 ++-
 13 files changed, 112 insertions(+), 85 deletions(-)

diff --git 
a/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/maven/MavenIndexManager.java
 
b/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/maven/MavenIndexManager.java
index a69d2ba..705a10d 100644
--- 
a/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/maven/MavenIndexManager.java
+++ 
b/archiva-modules/archiva-maven/archiva-maven-indexer/src/main/java/org/apache/archiva/indexer/maven/MavenIndexManager.java
@@ -682,6 +682,9 @@ public class MavenIndexManager implements 
ArchivaIndexManager {
     {
         try
         {
+            if (!Files.exists(indexDirectory.getFilePath())) {
+                Files.createDirectories(indexDirectory.getFilePath());
+            }
             return indexer.createIndexingContext( contextKey, 
repository.getId( ), repoDir.toFile( ), indexDirectory.getFilePath( ).toFile( ),
                 repository.getLocation( ) == null ? null : 
repository.getLocation( ).toString( ),
                 indexUrl,
diff --git 
a/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java
 
b/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java
index 5102db7..e8602ca 100644
--- 
a/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java
+++ 
b/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java
@@ -611,8 +611,8 @@ public class ArchivaDavResourceFactory
                         {
                             // Perform an adjustment of the resource to the 
managed
                             // repository expected path.
-                            String localResourcePath = 
managedRepository.getRequestInfo().toNativePath( logicalResource.getPath() );
-                            resourceAsset = managedRepositoryContent.getAsset( 
localResourcePath );
+                            // String localResourcePath = 
managedRepository.getRequestInfo().toNativePath( logicalResource.getPath() );
+                            resourceAsset = managedRepositoryContent.getAsset( 
logicalResource.getPath() );
                             resource =
                                 new ArchivaDavResource( resourceAsset, 
logicalResource.getPath(),
                                                         
managedRepositoryContent,
diff --git 
a/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/RepositoryServlet.java
 
b/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/RepositoryServlet.java
index 1b6e64d..5ca4171 100644
--- 
a/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/RepositoryServlet.java
+++ 
b/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/RepositoryServlet.java
@@ -20,12 +20,12 @@ package org.apache.archiva.webdav;
  */
 
 import org.apache.archiva.admin.model.RepositoryAdminException;
-import org.apache.archiva.admin.model.beans.ManagedRepository;
-import org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
 import org.apache.archiva.configuration.ArchivaConfiguration;
 import org.apache.archiva.configuration.ConfigurationEvent;
 import org.apache.archiva.configuration.ConfigurationListener;
 import 
org.apache.archiva.redback.integration.filter.authentication.HttpAuthenticator;
+import org.apache.archiva.repository.ManagedRepository;
+import org.apache.archiva.repository.RepositoryRegistry;
 import org.apache.archiva.security.ServletAuthenticator;
 import org.apache.jackrabbit.webdav.DavException;
 import org.apache.jackrabbit.webdav.DavLocatorFactory;
@@ -53,7 +53,10 @@ import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
+import java.util.LinkedHashMap;
 import java.util.Map;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
+import java.util.stream.Collectors;
 
 /**
  * RepositoryServlet
@@ -66,7 +69,7 @@ public class RepositoryServlet
 
     private ArchivaConfiguration configuration;
 
-    private ManagedRepositoryAdmin managedRepositoryAdmin;
+    RepositoryRegistry repositoryRegistry;
 
     private Map<String, ManagedRepository> repositoryMap;
 
@@ -76,22 +79,14 @@ public class RepositoryServlet
 
     private DavSessionProvider sessionProvider;
 
-    private final Object reloadLock = new Object();
+    protected final ReentrantReadWriteLock rwLock = new 
ReentrantReadWriteLock();
 
     @Override
     public void init( ServletConfig servletConfig )
         throws ServletException
     {
         super.init( servletConfig );
-        try
-        {
-            initServers( servletConfig );
-        }
-        catch ( RepositoryAdminException e )
-        {
-            log.error( e.getMessage(), e );
-            throw new ServletException( e.getMessage(), e );
-        }
+        initServers( servletConfig );
     }
 
     /**
@@ -170,53 +165,62 @@ public class RepositoryServlet
         }
     }
 
-    public synchronized void initServers( ServletConfig servletConfig )
-        throws RepositoryAdminException
-    {
+    public void initServers( ServletConfig servletConfig ) {
 
         long start = System.currentTimeMillis();
 
         WebApplicationContext wac =
             WebApplicationContextUtils.getRequiredWebApplicationContext( 
servletConfig.getServletContext() );
 
-        configuration = wac.getBean( "archivaConfiguration#default", 
ArchivaConfiguration.class );
-        configuration.addListener( this );
+        rwLock.writeLock().lock();
+        try {
+            configuration = wac.getBean("archivaConfiguration#default", 
ArchivaConfiguration.class);
+            configuration.addListener(this);
 
-        managedRepositoryAdmin = wac.getBean( ManagedRepositoryAdmin.class );
+            repositoryRegistry = wac.getBean(RepositoryRegistry.class);
+            repositoryMap = new LinkedHashMap<>();
 
-        repositoryMap = managedRepositoryAdmin.getManagedRepositoriesAsMap();
+            fillRepositoryMap();
 
-        for ( ManagedRepository repo : repositoryMap.values() )
-        {
-            Path repoDir = Paths.get( repo.getLocation() );
+            for (ManagedRepository repo : repositoryMap.values()) {
+                Path repoDir = Paths.get(repo.getLocation());
 
-            if ( !Files.exists(repoDir) )
-            {
-                try
-                {
-                    Files.createDirectories( repoDir );
-                }
-                catch ( IOException e )
-                {
-                    log.info( "Unable to create missing directory for {}", 
repo.getLocation() );
-                    continue;
+                if (!Files.exists(repoDir)) {
+                    try {
+                        Files.createDirectories(repoDir);
+                    } catch (IOException e) {
+                        log.info("Unable to create missing directory for {}", 
repo.getLocation());
+                        continue;
+                    }
                 }
             }
-        }
-
-        resourceFactory = wac.getBean( "davResourceFactory#archiva", 
DavResourceFactory.class );
-        locatorFactory = new ArchivaDavLocatorFactory();
 
-        ServletAuthenticator servletAuth = wac.getBean( 
ServletAuthenticator.class );
-        HttpAuthenticator httpAuth = wac.getBean( "httpAuthenticator#basic", 
HttpAuthenticator.class );
+            resourceFactory = wac.getBean("davResourceFactory#archiva", 
DavResourceFactory.class);
+            locatorFactory = new ArchivaDavLocatorFactory();
 
-        sessionProvider = new ArchivaDavSessionProvider( servletAuth, httpAuth 
);
+            ServletAuthenticator servletAuth = 
wac.getBean(ServletAuthenticator.class);
+            HttpAuthenticator httpAuth = 
wac.getBean("httpAuthenticator#basic", HttpAuthenticator.class);
 
+            sessionProvider = new ArchivaDavSessionProvider(servletAuth, 
httpAuth);
+        } finally {
+            rwLock.writeLock().unlock();
+        }
         long end = System.currentTimeMillis();
 
         log.debug( "initServers done in {} ms", (end - start) );
     }
 
+    private void fillRepositoryMap() {
+        final Map<String, ManagedRepository> repos = 
repositoryRegistry.getManagedRepositories().stream().collect(Collectors.toMap(r 
-> r.getId(), r -> r));
+        rwLock.writeLock().lock();
+        try {
+            repositoryMap.clear();
+            repositoryMap.putAll(repos);
+        } finally {
+            rwLock.writeLock().unlock();
+        }
+    }
+
     @Override
     public void configurationEvent( ConfigurationEvent event )
     {
@@ -237,26 +241,23 @@ public class RepositoryServlet
     private void initRepositories()
         throws RepositoryAdminException
     {
-        synchronized ( repositoryMap )
-        {
-            repositoryMap.clear();
-            repositoryMap.putAll( 
managedRepositoryAdmin.getManagedRepositoriesAsMap() );
-        }
-
-        synchronized ( reloadLock )
-        {
             initServers( getServletConfig() );
-        }
     }
 
-    public synchronized ManagedRepository getRepository( String prefix )
+    public ManagedRepository getRepository( String prefix )
         throws RepositoryAdminException
     {
-        if ( repositoryMap.isEmpty() )
-        {
-            repositoryMap.putAll( 
managedRepositoryAdmin.getManagedRepositoriesAsMap() );
+        rwLock.readLock().lock();
+        try {
+            if (repositoryMap.isEmpty()) {
+                rwLock.readLock().unlock();
+                fillRepositoryMap();
+                rwLock.readLock().lock();
+            }
+            return repositoryMap.get(prefix);
+        } finally {
+            rwLock.readLock().unlock();
         }
-        return repositoryMap.get( prefix );
     }
 
     ArchivaConfiguration getConfiguration()
@@ -322,21 +323,25 @@ public class RepositoryServlet
     @Override
     public void destroy()
     {
-        configuration.removeListener( this );
-
-        resourceFactory = null;
-        configuration = null;
-        locatorFactory = null;
-        sessionProvider = null;
-        repositoryMap.clear();
-        repositoryMap = null;
+        rwLock.writeLock().lock();
+        try {
+            configuration.removeListener(this);
+
+            resourceFactory = null;
+            configuration = null;
+            locatorFactory = null;
+            sessionProvider = null;
+            repositoryMap.clear();
+            repositoryMap = null;
 
-        WebApplicationContext wac = 
WebApplicationContextUtils.getRequiredWebApplicationContext( 
getServletContext() );
+            WebApplicationContext wac = 
WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext());
 
-        if ( wac instanceof ConfigurableApplicationContext )
-        {
-            ( (ConfigurableApplicationContext) wac ).close();
+            if (wac instanceof ConfigurableApplicationContext) {
+                ((ConfigurableApplicationContext) wac).close();
+            }
+            super.destroy();
+        } finally {
+            rwLock.writeLock().unlock();
         }
-        super.destroy();
     }
 }
diff --git 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/AbstractRepositoryServletTestCase.java
 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/AbstractRepositoryServletTestCase.java
index dfcab22..536d9df 100644
--- 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/AbstractRepositoryServletTestCase.java
+++ 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/AbstractRepositoryServletTestCase.java
@@ -22,12 +22,12 @@ package org.apache.archiva.webdav;
 import com.gargoylesoftware.htmlunit.*;
 import junit.framework.TestCase;
 import net.sf.ehcache.CacheManager;
-import org.apache.archiva.admin.model.beans.ManagedRepository;
 import org.apache.archiva.configuration.ArchivaConfiguration;
 import org.apache.archiva.configuration.Configuration;
 import org.apache.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.archiva.configuration.RemoteRepositoryConfiguration;
 import org.apache.archiva.indexer.ArchivaIndexingContext;
+import org.apache.archiva.repository.ManagedRepository;
 import org.apache.archiva.repository.RepositoryRegistry;
 import org.apache.archiva.repository.RepositoryType;
 import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
@@ -144,8 +144,10 @@ public abstract class AbstractRepositoryServletTestCase
     protected void saveConfiguration()
         throws Exception
     {
-        saveConfiguration( archivaConfiguration );
+        repositoryRegistry.setArchivaConfiguration(archivaConfiguration);
         repositoryRegistry.reload();
+        saveConfiguration( archivaConfiguration );
+
     }
 
     @Before
@@ -159,6 +161,8 @@ public abstract class AbstractRepositoryServletTestCase
         System.setProperty( "appserver.base", 
getAppserverBase().toAbsolutePath().toString());
         log.info("setUp appserverBase={}, projectBase={}, workingDir={}", 
getAppserverBase(), getProjectBase(), Paths.get("").toString());
 
+        repositoryRegistry.getRepositories().stream().forEach(r -> r.close());
+
         org.apache.archiva.common.utils.FileUtils.deleteDirectory( 
getAppserverBase() );
 
         Path testConf = getProjectBase().resolve( 
"src/test/resources/repository-archiva.xml" );
@@ -717,6 +721,7 @@ public abstract class AbstractRepositoryServletTestCase
     public void tearDown()
         throws Exception
     {
+        repositoryRegistry.getRepositories().stream().forEach(r -> r.close());
 
         if ( Files.exists(repoRootInternal) )
         {
@@ -829,8 +834,10 @@ public abstract class AbstractRepositoryServletTestCase
     protected void saveConfiguration( ArchivaConfiguration 
archivaConfiguration )
         throws Exception
     {
+        repositoryRegistry.setArchivaConfiguration(archivaConfiguration);
         repositoryRegistry.reload();
         archivaConfiguration.save( archivaConfiguration.getConfiguration() );
+
     }
 
 
diff --git 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedMetadataLocalOnlyTest.java
 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedMetadataLocalOnlyTest.java
index 9b0654b..18b9d4d 100644
--- 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedMetadataLocalOnlyTest.java
+++ 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedMetadataLocalOnlyTest.java
@@ -55,6 +55,7 @@ public class RepositoryServletProxiedMetadataLocalOnlyTest
         setupSnapshotsRemoteRepo();
         setupPrivateSnapshotsRemoteRepo();
         setupCleanInternalRepo();
+        saveConfiguration();
 
         String path = 
"org/apache/archiva/archivatest-maven-plugin/4.0-alpha-1-SNAPSHOT/maven-metadata.xml";
         String expectedMetadata = createVersionMetadata( "org.apache.archiva", 
"archivatest-maven-plugin",
@@ -80,6 +81,7 @@ public class RepositoryServletProxiedMetadataLocalOnlyTest
         setupSnapshotsRemoteRepo();
         setupPrivateSnapshotsRemoteRepo();
         setupCleanInternalRepo();
+        saveConfiguration();
 
         String path = 
"org/apache/archiva/archivatest-maven-plugin/4.0-alpha-2/maven-metadata.xml";
         String expectedMetadata = createVersionMetadata( "org.apache.archiva", 
"archivatest-maven-plugin",
@@ -102,6 +104,7 @@ public class RepositoryServletProxiedMetadataLocalOnlyTest
         setupSnapshotsRemoteRepo();
         setupPrivateSnapshotsRemoteRepo();
         setupCleanInternalRepo();
+        saveConfiguration();
 
         String path = 
"org/apache/archiva/archivatest-maven-plugin/maven-metadata.xml";
         String version = "1.0-alpha-4";
@@ -126,6 +129,7 @@ public class RepositoryServletProxiedMetadataLocalOnlyTest
         setupSnapshotsRemoteRepo();
         setupPrivateSnapshotsRemoteRepo();
         setupCleanInternalRepo();
+        saveConfiguration();
 
         String path = "org/apache/archiva/maven-metadata.xml";
         String expectedMetadata = createGroupMetadata( "org.apache.archiva", 
new String[] { "archivatest-maven-plugin" } );
diff --git 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedMetadataRemoteOnlyTest.java
 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedMetadataRemoteOnlyTest.java
index dd5da45..1c6864c 100644
--- 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedMetadataRemoteOnlyTest.java
+++ 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedMetadataRemoteOnlyTest.java
@@ -57,6 +57,7 @@ public class RepositoryServletProxiedMetadataRemoteOnlyTest
         setupSnapshotsRemoteRepo();
         setupPrivateSnapshotsRemoteRepo();
         setupCleanInternalRepo();
+        saveConfiguration();
 
         String path = 
"org/apache/archiva/archivatest-maven-plugin/4.0-alpha-1-SNAPSHOT/maven-metadata.xml";
         String version = "4.0-alpha-1-SNAPSHOT";
@@ -88,6 +89,7 @@ public class RepositoryServletProxiedMetadataRemoteOnlyTest
         setupSnapshotsRemoteRepo();
         setupPrivateSnapshotsRemoteRepo();
         setupCleanInternalRepo();
+        saveConfiguration();
 
         String path = 
"org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-2-SNAPSHOT/maven-metadata.xml";
         String version = "2.2-beta-2-SNAPSHOT";
@@ -119,6 +121,7 @@ public class RepositoryServletProxiedMetadataRemoteOnlyTest
         setupSnapshotsRemoteRepo();
         setupPrivateSnapshotsRemoteRepo();
         setupCleanInternalRepo();
+        saveConfiguration();
 
         String path = 
"org/apache/archiva/archivatest-maven-plugin/4.0-alpha-2/maven-metadata.xml";
         String expectedMetadata =
@@ -145,6 +148,7 @@ public class RepositoryServletProxiedMetadataRemoteOnlyTest
         setupSnapshotsRemoteRepo();
         setupPrivateSnapshotsRemoteRepo();
         setupCleanInternalRepo();
+        saveConfiguration();
 
         String path = 
"org/apache/archiva/archivatest-maven-plugin/maven-metadata.xml";
         String latest = "1.0-alpha-4";
@@ -174,6 +178,7 @@ public class RepositoryServletProxiedMetadataRemoteOnlyTest
         setupSnapshotsRemoteRepo();
         setupPrivateSnapshotsRemoteRepo();
         setupCleanInternalRepo();
+        saveConfiguration();
 
         String path = "org/apache/archiva/maven-metadata.xml";
         String expectedMetadata =
diff --git 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedPassthroughTest.java
 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedPassthroughTest.java
index e6ed57b..5a8d97e 100644
--- 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedPassthroughTest.java
+++ 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedPassthroughTest.java
@@ -136,6 +136,7 @@ public class RepositoryServletProxiedPassthroughTest
         // --- Setup
         setupCentralRemoteRepo();
         setupCleanInternalRepo();
+        saveConfiguration();
 
         String expectedRemoteContents = contents;
         String expectedManagedContents = null;
diff --git 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedPluginSnapshotPolicyTest.java
 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedPluginSnapshotPolicyTest.java
index d475fa3..fd7f18c 100644
--- 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedPluginSnapshotPolicyTest.java
+++ 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedPluginSnapshotPolicyTest.java
@@ -167,6 +167,7 @@ public class 
RepositoryServletProxiedPluginSnapshotPolicyTest
         // --- Setup
         setupSnapshotsRemoteRepo();
         setupCleanInternalRepo();
+        saveConfiguration();
 
         String resourcePath = 
"org/apache/archiva/archivatest-maven-plugin/4.0-alpha-1-SNAPSHOT/archivatest-maven-plugin-4.0-alpha-1-20070822.033400-42.jar";
         String expectedRemoteContents = 
"archivatest-maven-plugin-4.0-alpha-1-20070822.033400-42|jar-remote-contents";
diff --git 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedReleasePolicyTest.java
 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedReleasePolicyTest.java
index c14b6c2..87fd62a 100644
--- 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedReleasePolicyTest.java
+++ 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedReleasePolicyTest.java
@@ -163,6 +163,7 @@ public class RepositoryServletProxiedReleasePolicyTest
         // --- Setup
         setupCentralRemoteRepo();
         setupCleanInternalRepo();
+        saveConfiguration();
 
         String resourcePath = "org/apache/archiva/test/1.0/test-1.0.jar";
         String expectedRemoteContents = "archiva-test-1.0|jar-remote-contents";
diff --git 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedSnapshotPolicyTest.java
 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedSnapshotPolicyTest.java
index e35b176..9388c45 100644
--- 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedSnapshotPolicyTest.java
+++ 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedSnapshotPolicyTest.java
@@ -189,6 +189,7 @@ public class RepositoryServletProxiedSnapshotPolicyTest
         // --- Setup
         setupSnapshotsRemoteRepo();
         setupCleanInternalRepo();
+        saveConfiguration();
 
         String resourcePath = 
"org/apache/archiva/test/2.0-SNAPSHOT/test-2.0-SNAPSHOT.jar";
         String expectedRemoteContents = 
"archiva-test-2.0-SNAPSHOT|jar-remote-contents";
diff --git 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedTimestampedSnapshotPolicyTest.java
 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedTimestampedSnapshotPolicyTest.java
index fea53db..202b34f 100644
--- 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedTimestampedSnapshotPolicyTest.java
+++ 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletProxiedTimestampedSnapshotPolicyTest.java
@@ -185,6 +185,7 @@ public class 
RepositoryServletProxiedTimestampedSnapshotPolicyTest
         // --- Setup
         setupSnapshotsRemoteRepo();
         setupCleanInternalRepo();
+        saveConfiguration();
 
         String resourcePath = 
"org/apache/archiva/test/3.0-SNAPSHOT/test-3.0-20070822.033400-42.jar";
         String expectedRemoteContents = 
"archiva-test-3.0-20070822.033400-42|jar-remote-contents";
diff --git 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletTest.java
 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletTest.java
index b88e75e..024d387 100644
--- 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletTest.java
+++ 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletTest.java
@@ -21,10 +21,10 @@ package org.apache.archiva.webdav;
 
 import com.gargoylesoftware.htmlunit.WebRequest;
 import com.gargoylesoftware.htmlunit.WebResponse;
-import org.apache.archiva.admin.model.beans.ManagedRepository;
 import org.apache.archiva.configuration.ArchivaConfiguration;
 import org.apache.archiva.configuration.Configuration;
 import org.apache.archiva.configuration.ManagedRepositoryConfiguration;
+import org.apache.archiva.repository.ManagedRepository;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -80,7 +80,7 @@ public class RepositoryServletTest
         c.removeManagedRepository( c.findManagedRepositoryById( 
REPOID_INTERNAL ) );
         saveConfiguration( archivaConfiguration );
 
-        ManagedRepository repository = servlet.getRepository( REPOID_INTERNAL 
);
+        org.apache.archiva.repository.ManagedRepository repository = 
servlet.getRepository( REPOID_INTERNAL );
         assertNull( repository );
     }
 
@@ -137,6 +137,6 @@ public class RepositoryServletTest
         WebResponse response = getServletUnitClient().getResponse( request );
         assertResponseNotFound( response );
         assertThat( response.getContentAsString() ) //
-            .contains( "Legacy Maven1 repository not supported anymore." );
+            .contains( "Resource does not exist" );
     }
 }
diff --git 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/UnauthenticatedRepositoryServlet.java
 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/UnauthenticatedRepositoryServlet.java
index 6ac977f..43cf117 100644
--- 
a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/UnauthenticatedRepositoryServlet.java
+++ 
b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/UnauthenticatedRepositoryServlet.java
@@ -37,19 +37,17 @@ public class UnauthenticatedRepositoryServlet
     extends RepositoryServlet
 {
     @Override
-    public synchronized void initServers( ServletConfig servletConfig )
+    public void initServers( ServletConfig servletConfig )
     {
-        try
-        {
-            super.initServers( servletConfig );
-        }
-        catch ( RepositoryAdminException e )
-        {
-            throw new RuntimeException( e.getMessage(), e );
-        }
+        rwLock.writeLock().lock();
+        try {
+            super.initServers(servletConfig);
 
-        UnauthenticatedDavSessionProvider sessionProvider = new 
UnauthenticatedDavSessionProvider();
-        setDavSessionProvider( sessionProvider );
+            UnauthenticatedDavSessionProvider sessionProvider = new 
UnauthenticatedDavSessionProvider();
+            setDavSessionProvider(sessionProvider);
+        } finally {
+            rwLock.writeLock().unlock();
+        }
     }
 
     @Override

Reply via email to