Author: carlos
Date: Tue Feb 19 18:09:07 2008
New Revision: 629318

URL: http://svn.apache.org/viewvc?rev=629318&view=rev
Log:
Improve output and copy repo owner on error email

Modified:
    
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/Synchronizer.java

Modified: 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/Synchronizer.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/Synchronizer.java?rev=629318&r1=629317&r2=629318&view=diff
==============================================================================
--- 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/Synchronizer.java
 (original)
+++ 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/Synchronizer.java
 Tue Feb 19 18:09:07 2008
@@ -5,6 +5,7 @@
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 
@@ -41,12 +42,15 @@
 
     public void sync( List repositories )
     {
+        int i = 1;
         Iterator it = repositories.iterator();
         while ( it.hasNext() )
         {
             SyncedRepository repo = (SyncedRepository) it.next();
             try
             {
+                System.out.println( "[" + ( i++ ) + " of " + 
repositories.size() + "] Synchronizing " +
+                    repo.getGroupId() + " " + repo.getLocation() );
                 sync( repo );
             }
             catch ( RuntimeException e )
@@ -102,7 +106,6 @@
         cl.createArg().setValue( "--exclude-from=" + 
options.getExclusionsFile() );
         addCommonArguments( cl, repo );
 
-        System.out.println( "=== Synchronizing metadata " + repo.getGroupId() 
+ " " + repo.getLocation() );
         return executeCommandLine( cl, repo );
     }
 
@@ -115,7 +118,6 @@
         cl.createArg().setValue( "--ignore-existing" );
         addCommonArguments( cl, repo );
 
-        System.out.println( "=== Synchronizing artifacts " + repo.getGroupId() 
+ " " + repo.getLocation() );
         return executeCommandLine( cl, repo );
     }
 
@@ -152,7 +154,7 @@
         CommandLineUtils.StringStreamConsumer out = new 
CommandLineUtils.StringStreamConsumer();
         CommandLineUtils.StringStreamConsumer err = new 
CommandLineUtils.StringStreamConsumer();
 
-        //System.out.println( "About to execute " + cl );
+        // System.out.println( "About to execute " + cl );
 
         int exitCode;
         try
@@ -232,13 +234,15 @@
 
         if ( synchronizer.failedRepositories.isEmpty() )
         {
-            synchronizer.sendEmail( "SUCCESS", "--- All repositories 
synchronized successfully ---" );
+            synchronizer.sendEmail( Collections.EMPTY_LIST, "SUCCESS",
+                                    "--- All repositories synchronized 
successfully ---" );
         }
         else
         {
             StringBuffer sb = new StringBuffer();
             sb.append( "--- Some repositories were not synchronized ---" );
             sb.append( "\n" );
+
             Iterator it = synchronizer.failedRepositories.iterator();
             while ( it.hasNext() )
             {
@@ -250,7 +254,7 @@
                 sb.append( "\n" );
                 sb.append( "\n" );
             }
-            synchronizer.sendEmail( "FAILURE", sb.toString() );
+            synchronizer.sendEmail( synchronizer.failedRepositories, 
"FAILURE", sb.toString() );
         }
 
     }
@@ -258,13 +262,22 @@
     /**
      * send email out
      */
-    private void sendEmail( String subject, String text )
+    private void sendEmail( List failedRepos, String subject, String text )
     {
         SimpleEmail email = new SimpleEmail();
         email.setHostName( options.getMailHostname() );
         try
         {
             email.addTo( options.getMailTo() );
+            Iterator it = failedRepos.iterator();
+            while ( it.hasNext() )
+            {
+                SyncedRepository repo = (SyncedRepository) it.next();
+                if ( repo.getContactMail() != null )
+                {
+                    email.addTo( repo.getContactMail(), repo.getContactName() 
);
+                }
+            }
             email.setFrom( options.getMailFrom() );
             email.setSubject( options.getMailSubject() + " " + subject );
             email.setMsg( text + options.getMailFooter() );


Reply via email to