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/12/09 12:22:02 UTC

svn commit: r1549548 - in /archiva/trunk/archiva-modules: archiva-web/archiva-security/src/test/java/org/apache/archiva/security/mock/ archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ metadata/metadata-repository-api/src/main/java/or...

Author: olamy
Date: Mon Dec  9 11:22:02 2013
New Revision: 1549548

URL: http://svn.apache.org/r1549548
Log:
finally use a relocation for MRM-1761

Modified:
    archiva/trunk/archiva-modules/archiva-web/archiva-security/src/test/java/org/apache/archiva/security/mock/MockBeanServices.java
    archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java
    archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryStorage.java
    archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryStorage.java

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-security/src/test/java/org/apache/archiva/security/mock/MockBeanServices.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-security/src/test/java/org/apache/archiva/security/mock/MockBeanServices.java?rev=1549548&r1=1549547&r2=1549548&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-security/src/test/java/org/apache/archiva/security/mock/MockBeanServices.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-security/src/test/java/org/apache/archiva/security/mock/MockBeanServices.java Mon Dec  9 11:22:02 2013
@@ -154,7 +154,6 @@ public class MockBeanServices
 
     @Override
     public String getFilePathWithVersion( String requestPath, ManagedRepositoryContent managedRepositoryContent )
-        throws LayoutException, XMLException
     {
         return null;
     }

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java?rev=1549548&r1=1549547&r2=1549548&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java Mon Dec  9 11:22:02 2013
@@ -39,6 +39,7 @@ import org.apache.archiva.indexer.merger
 import org.apache.archiva.indexer.merger.TemporaryGroupIndex;
 import org.apache.archiva.indexer.search.RepositorySearch;
 import org.apache.archiva.maven2.metadata.MavenMetadataReader;
+import org.apache.archiva.metadata.repository.storage.RelocationException;
 import org.apache.archiva.metadata.repository.storage.RepositoryStorage;
 import org.apache.archiva.model.ArchivaRepositoryMetadata;
 import org.apache.archiva.model.ArtifactReference;
@@ -537,10 +538,10 @@ public class ArchivaDavResourceFactory
         {
             return repositoryStorage.getFilePathWithVersion( archivaLocator.getResourcePath(), managedRepositoryContent );
         }
-        catch ( LayoutException e )
+        catch ( RelocationException e )
         {
             log.error( e.getMessage(), e );
-            throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
+            throw new BrowserRedirectException( e.getPath() );
         }
         catch ( XMLException e )
         {

Modified: archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryStorage.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryStorage.java?rev=1549548&r1=1549547&r2=1549548&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryStorage.java (original)
+++ archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryStorage.java Mon Dec  9 11:22:02 2013
@@ -74,7 +74,7 @@ public interface RepositoryStorage
     String getFilePath( String requestPath, ManagedRepository managedRepository );
 
     String getFilePathWithVersion( final String requestPath, ManagedRepositoryContent managedRepositoryContent )
-        throws LayoutException, XMLException;
+        throws RelocationException, XMLException;
 
 
 }

Modified: archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryStorage.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryStorage.java?rev=1549548&r1=1549547&r2=1549548&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryStorage.java (original)
+++ archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryStorage.java Mon Dec  9 11:22:02 2013
@@ -38,6 +38,7 @@ import org.apache.archiva.metadata.model
 import org.apache.archiva.metadata.repository.RepositorySessionFactory;
 import org.apache.archiva.metadata.repository.filter.Filter;
 import org.apache.archiva.metadata.repository.storage.ReadMetadataRequest;
+import org.apache.archiva.metadata.repository.storage.RelocationException;
 import org.apache.archiva.metadata.repository.storage.RepositoryPathTranslator;
 import org.apache.archiva.metadata.repository.storage.RepositoryStorage;
 import org.apache.archiva.metadata.repository.storage.RepositoryStorageMetadataInvalidException;
@@ -765,10 +766,10 @@ public class Maven2RepositoryStorage
     }
 
     public String getFilePathWithVersion( final String requestPath, ManagedRepositoryContent managedRepositoryContent )
-        throws XMLException
+        throws XMLException, RelocationException
     {
 
-        if (StringUtils.endsWith( requestPath, METADATA_FILENAME ))
+        if ( StringUtils.endsWith( requestPath, METADATA_FILENAME ) )
         {
             return getFilePath( requestPath, managedRepositoryContent.getRepository() );
         }
@@ -811,6 +812,10 @@ public class Maven2RepositoryStorage
                                          artifactReference.getVersion(), "-SNAPSHOT" ) + "-" + timestamp + "-"
                                          + buildNumber );
 
+            throw new RelocationException(
+                "/repository/" + managedRepositoryContent.getRepository().getId() +
+                    ( StringUtils.startsWith( filePath, "/" ) ? "" : "/" ) + filePath, RelocationException.RelocationType.TEMPORARY );
+
         }
 
         return filePath;