1 package org.apache.maven.util;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 import org.apache.commons.logging.Log;
22 import org.apache.commons.logging.LogFactory;
23 import org.apache.maven.wagon.events.TransferEvent;
24 import org.apache.maven.wagon.events.TransferListener;
25
26 /**
27 * Console download progress meter.
28 *
29 * @author <a href="mailto:brett@apache.org">Brett Porter</a>
30 * @version $Id: ConsoleDownloadMeter.java 517014 2007-03-11 21:15:50Z ltheussl $
31 */
32 public class ConsoleDownloadMeter
33 implements TransferListener
34 {
35 /** LOGGER for debug output */
36 private static final Log LOGGER = LogFactory.getLog( BootstrapDownloadMeter.class );
37
38 private long complete;
39
40 public void transferInitiated( TransferEvent transferEvent )
41 {
42
43 }
44
45 public void transferStarted( TransferEvent transferEvent )
46 {
47 complete = 0;
48 }
49
50 public void transferProgress( TransferEvent transferEvent, byte[] buffer, int length )
51 {
52 long total = transferEvent.getResource().getContentLength();
53 complete += length;
54 System.out.print( ( complete / 1024 ) + "/" + ( total == 0 ? "?" : ( total / 1024 ) + "K" ) + "\r" );
55 }
56
57 public void transferCompleted( TransferEvent transferEvent )
58 {
59 long total = transferEvent.getResource().getContentLength();
60 LOGGER.info( ( total / 1024 ) + "K downloaded" );
61 }
62
63 public void transferError( TransferEvent transferEvent )
64 {
65 LOGGER.error( transferEvent.getException().getMessage() );
66 }
67
68 public void debug( String message )
69 {
70 LOGGER.debug( message );
71 }
72 }