diff options
Diffstat (limited to 'archiva-modules/metadata')
-rw-r--r-- | archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryStorage.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryStorage.java b/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryStorage.java index 664103dea..1c300b020 100644 --- a/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryStorage.java +++ b/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/storage/RepositoryStorage.java @@ -58,7 +58,18 @@ public interface RepositoryStorage // FIXME: reconsider this API, do we want to expose storage format in the form of a path? ArtifactMetadata readArtifactMetadataFromPath( String repoId, String path ) throws RepositoryStorageRuntimeException; - + + /** + * A relocation capable client will request the POM prior to the artifact, and will then read meta-data and do + * client side relocation. A simplier client (like maven 1) will only request the artifact and not use the + * metadatas. + * <p> + * For such clients, archiva does server-side relocation by reading itself the <relocation> element in + * metadatas and serving the expected artifact. + * @param managedRepository the used managed repository + * @param artifact the artifact reference + * @throws org.apache.archiva.policies.ProxyDownloadException + */ void applyServerSideRelocation( ManagedRepositoryContent managedRepository, ArtifactReference artifact ) throws ProxyDownloadException; |