1 package org.apache.maven.wagon.events;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.wagon.Wagon;
23 import org.apache.maven.wagon.resource.Resource;
24
25 import java.io.File;
26
27
28
29
30
31
32
33
34 public class TransferEvent
35 extends WagonEvent
36 {
37
38
39
40
41 public static final int TRANSFER_INITIATED = 0;
42
43
44
45
46 public static final int TRANSFER_STARTED = 1;
47
48
49
50
51 public static final int TRANSFER_COMPLETED = 2;
52
53
54
55
56 public static final int TRANSFER_PROGRESS = 3;
57
58
59
60
61 public static final int TRANSFER_ERROR = 4;
62
63
64
65
66 public static final int REQUEST_GET = 5;
67
68
69
70
71 public static final int REQUEST_PUT = 6;
72
73 private Resource resource;
74
75 private int eventType;
76
77 private int requestType;
78
79 private Exception exception;
80
81 private File localFile;
82
83 public TransferEvent( final Wagon wagon, final Resource resource, final int eventType, final int requestType )
84 {
85 super( wagon );
86
87 this.resource = resource;
88
89 setEventType( eventType );
90
91 setRequestType( requestType );
92
93 }
94
95 public TransferEvent( final Wagon wagon, final Resource resource, final Exception exception, final int requestType )
96 {
97 this( wagon, resource, TRANSFER_ERROR, requestType );
98
99 this.exception = exception;
100 }
101
102
103
104
105 public Resource getResource()
106 {
107 return resource;
108 }
109
110
111
112
113 public Exception getException()
114 {
115 return exception;
116 }
117
118
119
120
121
122
123
124 public int getRequestType()
125 {
126 return requestType;
127 }
128
129
130
131
132
133
134
135
136
137 public void setRequestType( final int requestType )
138 {
139 switch ( requestType )
140 {
141
142 case REQUEST_PUT:
143 break;
144 case REQUEST_GET:
145 break;
146
147 default :
148 throw new IllegalArgumentException( "Illegal request type: " + requestType );
149 }
150
151 this.requestType = requestType;
152 }
153
154
155
156
157 public int getEventType()
158 {
159 return eventType;
160 }
161
162
163
164
165 public void setEventType( final int eventType )
166 {
167 switch ( eventType )
168 {
169
170 case TRANSFER_INITIATED:
171 break;
172 case TRANSFER_STARTED:
173 break;
174 case TRANSFER_COMPLETED:
175 break;
176 case TRANSFER_PROGRESS:
177 break;
178 case TRANSFER_ERROR:
179 break;
180 default :
181 throw new IllegalArgumentException( "Illegal event type: " + eventType );
182 }
183
184 this.eventType = eventType;
185 }
186
187
188
189
190 public void setResource( final Resource resource )
191 {
192 this.resource = resource;
193 }
194
195
196
197
198 public File getLocalFile()
199 {
200 return localFile;
201 }
202
203
204
205
206 public void setLocalFile( File localFile )
207 {
208 this.localFile = localFile;
209 }
210
211 public String toString()
212 {
213 StringBuffer sb = new StringBuffer();
214
215 sb.append( "TransferEvent[" );
216
217 switch ( this.getRequestType() )
218 {
219 case REQUEST_GET:
220 sb.append( "GET" );
221 break;
222 case REQUEST_PUT:
223 sb.append( "PUT" );
224 break;
225 default:
226 sb.append( this.getRequestType() );
227 break;
228 }
229
230 sb.append( "|" );
231 switch ( this.getEventType() )
232 {
233 case TRANSFER_COMPLETED:
234 sb.append( "COMPLETED" );
235 break;
236 case TRANSFER_ERROR:
237 sb.append( "ERROR" );
238 break;
239 case TRANSFER_INITIATED:
240 sb.append( "INITIATED" );
241 break;
242 case TRANSFER_PROGRESS:
243 sb.append( "PROGRESS" );
244 break;
245 case TRANSFER_STARTED:
246 sb.append( "STARTED" );
247 break;
248 default:
249 sb.append( this.getEventType() );
250 break;
251 }
252
253 sb.append( "|" );
254
255 sb.append( this.getWagon().getRepository() ).append( "|" );
256 sb.append( this.getLocalFile() ).append( "|" );
257 sb.append( this.getResource().inspect() );
258 sb.append( "]" );
259
260 return sb.toString();
261 }
262
263 public int hashCode()
264 {
265 final int prime = 31;
266 int result = 1;
267 result = prime * result + eventType;
268 result = prime * result + ( ( exception == null ) ? 0 : exception.hashCode() );
269 result = prime * result + ( ( localFile == null ) ? 0 : localFile.hashCode() );
270 result = prime * result + requestType;
271 result = prime * result + ( ( resource == null ) ? 0 : resource.hashCode() );
272 return result;
273 }
274
275 public boolean equals( Object obj )
276 {
277 if ( this == obj )
278 {
279 return true;
280 }
281 if ( ( obj == null ) || ( getClass() != obj.getClass() ) )
282 {
283 return false;
284 }
285 final TransferEvent other = (TransferEvent) obj;
286 if ( eventType != other.eventType )
287 {
288 return false;
289 }
290 if ( exception == null )
291 {
292 if ( other.exception != null )
293 {
294 return false;
295 }
296 }
297 else if ( !exception.getClass().equals( other.exception.getClass() ) )
298 {
299 return false;
300 }
301 if ( requestType != other.requestType )
302 {
303 return false;
304 }
305 if ( resource == null )
306 {
307 if ( other.resource != null )
308 {
309 return false;
310 }
311 }
312 else if ( !resource.equals( other.resource ) )
313 {
314 return false;
315 }
316 else if ( !source.equals( other.source ) )
317 {
318 return false;
319 }
320 return true;
321 }
322
323 }