]> source.dussan.org Git - archiva.git/blob
6980c5f8bdbcdf7db04012a42ad77e201692126e
[archiva.git] /
1 package org.apache.archiva.maven.proxy;
2 /*
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  * Unless required by applicable law or agreed to in writing,
13  * software distributed under the License is distributed on an
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15  * KIND, either express or implied.  See the License for the
16  * specific language governing permissions and limitations
17  * under the License.
18  */
19
20 import org.apache.archiva.proxy.model.NetworkProxy;
21 import org.apache.commons.lang3.StringUtils;
22
23 import java.util.HashMap;
24 import java.util.Map;
25
26 /**
27  * @author Olivier Lamy
28  * @since 1.4-M4
29  */
30 public class WagonFactoryRequest
31 {
32
33     public static final String USER_AGENT_SYSTEM_PROPERTY = "archiva.userAgent";
34
35     private static String DEFAULT_USER_AGENT = "Java-Archiva";
36
37     /**
38      * the protocol to find the Wagon for, which must be prefixed with <code>wagon#</code>, for example
39      * <code>wagon#http</code>. <b>to have a wagon supporting ntlm add -ntlm</b>
40      */
41     private String protocol;
42
43     private Map<String, String> headers = new HashMap<>();
44
45     private String userAgent = DEFAULT_USER_AGENT;
46
47     static {
48         if ( StringUtils.isNotBlank( System.getProperty( USER_AGENT_SYSTEM_PROPERTY))) {
49             DEFAULT_USER_AGENT=System.getProperty(USER_AGENT_SYSTEM_PROPERTY);
50         }
51     }
52
53     private NetworkProxy networkProxy;
54
55     public WagonFactoryRequest()
56     {
57         // no op
58     }
59
60     public WagonFactoryRequest( String protocol, Map<String, String> headers )
61     {
62         this.protocol = protocol;
63         this.headers = headers;
64     }
65
66     public String getProtocol()
67     {
68         return protocol;
69     }
70
71     public void setProtocol( String protocol )
72     {
73         this.protocol = protocol;
74     }
75
76     public WagonFactoryRequest protocol( String protocol )
77     {
78         this.protocol = protocol;
79         return this;
80     }
81
82     public Map<String, String> getHeaders()
83     {
84         if ( this.headers == null )
85         {
86             this.headers = new HashMap<>();
87         }
88         return headers;
89     }
90
91     public void setHeaders( Map<String, String> headers )
92     {
93         this.headers = headers;
94     }
95
96     public WagonFactoryRequest headers( Map<String, String> headers )
97     {
98         this.headers = headers;
99         return this;
100     }
101
102     public String getUserAgent()
103     {
104         return userAgent;
105     }
106
107     public void setUserAgent( String userAgent )
108     {
109         this.userAgent = userAgent;
110     }
111
112     public WagonFactoryRequest userAgent( String userAgent )
113     {
114         this.userAgent = userAgent;
115         return this;
116     }
117
118     public NetworkProxy getNetworkProxy()
119     {
120         return networkProxy;
121     }
122
123     public void setNetworkProxy( NetworkProxy networkProxy )
124     {
125         this.networkProxy = networkProxy;
126     }
127
128     public WagonFactoryRequest networkProxy( NetworkProxy networkProxy )
129     {
130         this.networkProxy = networkProxy;
131         return this;
132     }
133
134     @Override
135     public boolean equals( Object o )
136     {
137         if ( this == o )
138         {
139             return true;
140         }
141         if ( !( o instanceof WagonFactoryRequest ) )
142         {
143             return false;
144         }
145
146         WagonFactoryRequest that = (WagonFactoryRequest) o;
147
148         if ( protocol != null ? !protocol.equals( that.protocol ) : that.protocol != null )
149         {
150             return false;
151         }
152         if ( userAgent != null ? !userAgent.equals( that.userAgent ) : that.userAgent != null )
153         {
154             return false;
155         }
156
157         return true;
158     }
159
160     @Override
161     public int hashCode()
162     {
163         int result = protocol != null ? protocol.hashCode() : 0;
164         result = 31 * result + ( userAgent != null ? userAgent.hashCode() : 0 );
165         return result;
166     }
167
168     @Override
169     public String toString()
170     {
171         return "WagonFactoryRequest{" +
172             "protocol='" + protocol + '\'' +
173             ", headers=" + headers +
174             ", userAgent='" + userAgent + '\'' +
175             ", networkProxy=" + networkProxy +
176             '}';
177     }
178 }