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() );
     }
 }


Reply via email to