]> source.dussan.org Git - archiva.git/blob
8a9927159d1f0cbdabf6cc7b5f1a0f1034e25859
[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.repository.proxy.repository.ProxyRepository;
20 import org.apache.maven.wagon.proxy.ProxyInfo;
21
22 import java.io.File;
23 import java.util.ArrayList;
24 import java.util.Collections;
25 import java.util.List;
26
27 /**
28  * Class to represent the configuration file for the proxy
29  *
30  * @author Edwin Punzalan
31  */
32 public class ProxyConfiguration
33 {
34     private List repositories = new ArrayList();
35
36     private String cachePath;
37
38     private String layout;
39
40     private ProxyInfo httpProxy;
41
42     /**
43      * Used to set the location where the proxy should cache the configured repositories
44      *
45      * @param path
46      */
47     public void setRepositoryCachePath( String path )
48     {
49         cachePath = new File( path ).getAbsolutePath();
50     }
51
52     /**
53      * Used to retrieved the absolute path of the repository cache
54      *
55      * @return path to the proxy cache
56      */
57     public String getRepositoryCachePath()
58     {
59         return cachePath;
60     }
61
62     public void setHttpProxy( ProxyInfo httpProxy )
63     {
64         this.httpProxy = httpProxy;
65     }
66
67     public void setHttpProxy( String host, int port )
68     {
69         ProxyInfo proxyInfo = new ProxyInfo();
70         proxyInfo.setHost( host );
71         proxyInfo.setPort( port );
72
73         httpProxy = proxyInfo;
74     }
75
76     public void setHttpProxy( String host, int port, String username, String password )
77     {
78         setHttpProxy( host, port );
79         httpProxy.setUserName( username );
80         httpProxy.setPassword( password );
81     }
82
83     public void setHttpProxy( String host, int port, String username, String password, String ntlmHost,
84                               String ntlmDomain )
85     {
86         setHttpProxy( host, port );
87         httpProxy.setUserName( username );
88         httpProxy.setPassword( password );
89         httpProxy.setNtlmHost( ntlmHost );
90         httpProxy.setNtlmDomain( ntlmDomain );
91     }
92
93     public ProxyInfo getHttpProxy()
94     {
95         return httpProxy;
96     }
97
98     /**
99      * Used to add proxied repositories.
100      *
101      * @param repository the repository to be proxied
102      */
103     public void addRepository( ProxyRepository repository )
104     {
105         repositories.add( repository );
106     }
107
108     /**
109      * Used to retrieve an unmodifyable list of proxied repositories. They returned list determines the search sequence
110      * for retrieving artifacts.
111      *
112      * @return a list of ProxyRepository objects representing proxied repositories
113      */
114     public List getRepositories()
115     {
116         return Collections.unmodifiableList( repositories );
117     }
118
119     /**
120      * Used to set the list of repositories to be proxied.  This replaces any repositories already added to this
121      * configuraion instance.  Useful for re-arranging an existing proxied list.
122      *
123      * @param repositories
124      */
125     public void setRepositories( List repositories )
126     {
127         this.repositories = repositories;
128     }
129
130     public String getLayout()
131     {
132         if ( layout == null )
133         {
134             layout = "default";
135         }
136
137         return layout;
138     }
139
140     public void setLayout( String layout )
141     {
142         this.layout = layout;
143     }
144 }