]> source.dussan.org Git - archiva.git/blob
be0555088a161d489db24b55c598b06006983a05
[archiva.git] /
1 package org.apache.maven.repository.proxy.configuration;
2
3 /*
4  * Copyright 2005-2006 The Apache Software Foundation.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19 import org.apache.maven.artifact.repository.ArtifactRepository;
20 import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
21 import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
22 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
23 import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
24 import org.apache.maven.repository.proxy.repository.ProxyRepository;
25
26 import java.util.ArrayList;
27 import java.util.Collections;
28 import java.util.List;
29
30 /**
31  * @author Edwin Punzalan
32  * @plexus.component role="org.apache.maven.repository.proxy.configuration.ProxyConfiguration"
33  */
34 public class ProxyConfiguration
35 {
36     public static final String ROLE = ProxyConfiguration.class.getName();
37
38     /**
39      * @plexus.requirement
40      */
41     private ArtifactRepositoryFactory artifactRepositoryFactory;
42
43     private boolean browsable;
44
45     private ArtifactRepository repoCache;
46
47     private ArrayList repositories = new ArrayList();
48
49     public void setBrowsable( boolean browsable )
50     {
51         this.browsable = browsable;
52     }
53
54     public boolean isBrowsable()
55     {
56         return browsable;
57     }
58
59     public void setRepositoryCachePath( String repoCachePath )
60     {
61         ArtifactRepositoryPolicy standardPolicy;
62         standardPolicy = new ArtifactRepositoryPolicy( true, ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS,
63                                                        ArtifactRepositoryPolicy.CHECKSUM_POLICY_IGNORE );
64
65         ArtifactRepositoryLayout layout = new DefaultRepositoryLayout();
66
67         repoCache = artifactRepositoryFactory.createArtifactRepository( "localCache", repoCachePath, layout,
68                                                                         standardPolicy, standardPolicy );
69     }
70
71     public ArtifactRepository getRepositoryCache()
72     {
73         return repoCache;
74     }
75
76     public String getRepositoryCachePath()
77     {
78         return repoCache.getBasedir();
79     }
80
81     public void addRepository( ProxyRepository repository )
82     {
83         repositories.add( repository );
84     }
85
86     public List getRepositories()
87     {
88         return Collections.unmodifiableList( repositories );
89     }
90
91     public void setRepositories( ArrayList repositories )
92     {
93         this.repositories = repositories;
94     }
95 }