Author: brett Date: Wed Feb 25 13:35:29 2009 New Revision: 747773 URL: http://svn.apache.org/viewvc?rev=747773&view=rev Log: [MNG-3379] guarantee that whitespace covers previous lines
Modified: maven/components/branches/maven-2.1.x/maven-core/src/main/java/org/apache/maven/cli/AbstractConsoleDownloadMonitor.java maven/components/branches/maven-2.1.x/maven-core/src/main/java/org/apache/maven/cli/ConsoleDownloadMonitor.java Modified: maven/components/branches/maven-2.1.x/maven-core/src/main/java/org/apache/maven/cli/AbstractConsoleDownloadMonitor.java URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.1.x/maven-core/src/main/java/org/apache/maven/cli/AbstractConsoleDownloadMonitor.java?rev=747773&r1=747772&r2=747773&view=diff ============================================================================== --- maven/components/branches/maven-2.1.x/maven-core/src/main/java/org/apache/maven/cli/AbstractConsoleDownloadMonitor.java (original) +++ maven/components/branches/maven-2.1.x/maven-core/src/main/java/org/apache/maven/cli/AbstractConsoleDownloadMonitor.java Wed Feb 25 13:35:29 2009 @@ -79,15 +79,33 @@ public void transferCompleted( TransferEvent transferEvent ) { + String line = createCompletionLine( transferEvent ); + out.println( line ); + } + + protected String createCompletionLine( TransferEvent transferEvent ) + { + String line; long contentLength = transferEvent.getResource().getContentLength(); if ( contentLength != WagonConstants.UNKNOWN_LENGTH ) { + StringBuffer buf = new StringBuffer(); String type = ( transferEvent.getRequestType() == TransferEvent.REQUEST_PUT ? "uploaded" : "downloaded" ); - String l = contentLength >= 1024 ? ( contentLength / 1024 ) + "K" : contentLength + "b"; + buf.append( contentLength >= 1024 ? ( contentLength / 1024 ) + "K" : contentLength + "b" ); String name = transferEvent.getResource().getName(); name = name.substring( name.lastIndexOf( '/' ) + 1, name.length() ); - out.println( l + " " + type + " (" + name + ") " ); + buf.append( " " ); + buf.append( type ); + buf.append( " (" ); + buf.append( name ); + buf.append( ")" ); + line = buf.toString(); + } + else + { + line = ""; } + return line; } public void transferError( TransferEvent transferEvent ) Modified: maven/components/branches/maven-2.1.x/maven-core/src/main/java/org/apache/maven/cli/ConsoleDownloadMonitor.java URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.1.x/maven-core/src/main/java/org/apache/maven/cli/ConsoleDownloadMonitor.java?rev=747773&r1=747772&r2=747773&view=diff ============================================================================== --- maven/components/branches/maven-2.1.x/maven-core/src/main/java/org/apache/maven/cli/ConsoleDownloadMonitor.java (original) +++ maven/components/branches/maven-2.1.x/maven-core/src/main/java/org/apache/maven/cli/ConsoleDownloadMonitor.java Wed Feb 25 13:35:29 2009 @@ -38,6 +38,7 @@ extends AbstractConsoleDownloadMonitor { private Map/* <Resource,Integer> */downloads; + private int maxLength; public ConsoleDownloadMonitor( Logger logger ) { @@ -80,19 +81,26 @@ downloads.put( resource, complete ); } + StringBuffer buf = new StringBuffer(); for ( Iterator i = downloads.entrySet().iterator(); i.hasNext(); ) { Map.Entry entry = (Map.Entry) i.next(); Long complete = (Long) entry.getValue(); String status = getDownloadStatusForResource( complete.longValue(), ( (Resource) entry.getKey() ).getContentLength() ); - out.print( status ); + buf.append( status ); if ( i.hasNext() ) { - out.print( " " ); + buf.append( " " ); } } - out.print( "\r" ); + + if ( buf.length() > maxLength ) + { + maxLength = buf.length(); + } + + out.print( buf.toString() + "\r" ); } String getDownloadStatusForResource( long progress, long total ) @@ -109,7 +117,15 @@ public synchronized void transferCompleted( TransferEvent transferEvent ) { - super.transferCompleted( transferEvent ); + StringBuffer line = new StringBuffer( createCompletionLine( transferEvent ) ); + + while ( line.length() < maxLength ) + { + line.append( " " ); + } + maxLength = 0; + + out.println( line ); downloads.remove( transferEvent.getResource() ); } }