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