1 package org.apache.archiva.repository.content.legacy;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.archiva.admin.model.beans.RemoteRepository;
23 import org.apache.archiva.model.ArtifactReference;
24 import org.apache.archiva.model.RepositoryURL;
25 import org.apache.archiva.repository.RemoteRepositoryContent;
26 import org.apache.archiva.repository.content.legacy.AbstractLegacyRepositoryContent;
27 import org.apache.archiva.repository.layout.LayoutException;
28 import org.springframework.context.annotation.Scope;
29 import org.springframework.stereotype.Service;
30
31
32
33
34
35
36
37 @Service( "remoteRepositoryContent#legacy" )
38 @Scope( "prototype" )
39 public class RemoteLegacyRepositoryContent
40 extends AbstractLegacyRepositoryContent
41 implements RemoteRepositoryContent
42 {
43 private RemoteRepository repository;
44
45 public String getId()
46 {
47 return repository.getId();
48 }
49
50 public RemoteRepository getRepository()
51 {
52 return repository;
53 }
54
55 public RepositoryURL getURL()
56 {
57 return new RepositoryURL( repository.getUrl() );
58 }
59
60 public void setRepository( RemoteRepository repository )
61 {
62 this.repository = repository;
63 }
64
65
66
67
68
69
70
71 @Override
72 public ArtifactReference toArtifactReference( String path )
73 throws LayoutException
74 {
75 if ( path.startsWith( repository.getUrl() ) )
76 {
77 return super.toArtifactReference( path.substring( repository.getUrl().length() ) );
78 }
79
80 return super.toArtifactReference( path );
81 }
82
83 public RepositoryURL toURL( ArtifactReference reference )
84 {
85 String url = repository.getUrl() + toPath( reference );
86 return new RepositoryURL( url );
87 }
88 }