Author: carlos
Date: Tue Feb 19 16:35:11 2008
New Revision: 629285

URL: http://svn.apache.org/viewvc?rev=629285&view=rev
Log:
Add svnurl, sshoptions and hadle null groupIds like for Codehaus

Modified:
    
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/CsvReader.java
    
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SyncedRepository.java
    
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/Synchronizer.java
    
maven/archiva/tools/trunk/maven-meeper/src/test/java/org/apache/maven/archiva/meeper/CsvReaderTest.java
    
maven/archiva/tools/trunk/maven-meeper/src/test/resources/org/apache/maven/archiva/meeper/sync.csv

Modified: 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/CsvReader.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/CsvReader.java?rev=629285&r1=629284&r2=629285&view=diff
==============================================================================
--- 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/CsvReader.java
 (original)
+++ 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/CsvReader.java
 Tue Feb 19 16:35:11 2008
@@ -48,15 +48,31 @@
             List repos = new ArrayList(data.length - 1);
 
             /* ignore headers line */
-            for (int i = 1; i < data.length; i++) {
-                int j = 0;
+            for ( int i = 1; i < data.length; i++ )
+            {
+                int j = data[i].length -1;
                 SyncedRepository repo = new SyncedRepository();
-                repo.setGroupId(data[i][j++]);
-                repo.setLocation(data[i][j++]);
-                repo.setProtocol(data[i][j++]);
-                repo.setContactName(data[i][j++]);
-                repo.setContactMail(data[i][j++]);
-                repos.add(repo);
+                switch ( data[i].length )
+                {
+                    case 7:
+                        repo.setSvnUrl( getValue(data[i][j--]));
+                    case 6:
+                        repo.setSshOptions( getValue(data[i][j--]));
+                    case 5:
+                        repo.setContactMail( getValue(data[i][j--]));
+                    case 4:
+                        repo.setContactName( getValue(data[i][j--]));
+                    case 3:
+                        repo.setProtocol(getValue( data[i][j--]));
+                    case 2:
+                        repo.setLocation( getValue(data[i][j--]));
+                    case 1:
+                        repo.setGroupId(getValue( data[i][j--]));
+                        repos.add( repo );
+                        break;
+                    default:
+                        //line ignored data[i];
+                }
             }
 
             return repos;
@@ -67,6 +83,18 @@
             } catch (IOException e) {
                 // ignore
             }
+        }
+    }
+
+    private String getValue( String value )
+    {
+        if ( ( value == null ) || ( value.length() == 0 ) )
+        {
+            return null;
+        }
+        else
+        {
+            return value;
         }
     }
 }

Modified: 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SyncedRepository.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SyncedRepository.java?rev=629285&r1=629284&r2=629285&view=diff
==============================================================================
--- 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SyncedRepository.java
 (original)
+++ 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SyncedRepository.java
 Tue Feb 19 16:35:11 2008
@@ -41,6 +41,8 @@
 
     private String sshOptions;
 
+    private String svnUrl;
+
     private String out, err;
 
     public void setGroupId(String groupId) {
@@ -89,6 +91,16 @@
 
     public void setSshOptions(String sshOptions) {
         this.sshOptions = sshOptions;
+    }
+
+    public String getSvnUrl()
+    {
+        return svnUrl;
+    }
+
+    public void setSvnUrl( String svnUrl )
+    {
+        this.svnUrl = svnUrl;
     }
 
     public String toString() {

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=629285&r1=629284&r2=629285&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 16:35:11 2008
@@ -102,16 +102,20 @@
             cl.createArg().setValue("--rsh=ssh " + s);
         }
 
-        String groupDir = repo.getGroupId().replaceAll("\\.", "\\/");
-        cl.createArg().setValue(repo.getLocation() + "/" + groupDir + "/");
-        cl.createArg().setValue(options.getBasedir() + "/" + groupDir + "/");
+        String groupDir = "";
+        if ( repo.getGroupId() != null )
+        {
+            groupDir = repo.getGroupId().replaceAll( "\\.", "\\/" ) + "/";
+        }
+        cl.createArg().setValue( repo.getLocation() + "/" + groupDir );
+        cl.createArg().setValue( options.getBasedir() + "/" + groupDir );
     }
 
     private int executeCommandLine(Commandline cl, SyncedRepository repo) {
         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 {

Modified: 
maven/archiva/tools/trunk/maven-meeper/src/test/java/org/apache/maven/archiva/meeper/CsvReaderTest.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/tools/trunk/maven-meeper/src/test/java/org/apache/maven/archiva/meeper/CsvReaderTest.java?rev=629285&r1=629284&r2=629285&view=diff
==============================================================================
--- 
maven/archiva/tools/trunk/maven-meeper/src/test/java/org/apache/maven/archiva/meeper/CsvReaderTest.java
 (original)
+++ 
maven/archiva/tools/trunk/maven-meeper/src/test/java/org/apache/maven/archiva/meeper/CsvReaderTest.java
 Tue Feb 19 16:35:11 2008
@@ -21,25 +21,41 @@
 
 import junit.framework.TestCase;
 
-public class CsvReaderTest extends TestCase {
+public class CsvReaderTest
+    extends TestCase
+{
 
     private CsvReader reader;
 
-    protected void setUp() throws Exception {
+    protected void setUp()
+        throws Exception
+    {
         super.setUp();
 
         reader = new CsvReader();
     }
 
-    public void testParse() throws Exception {
-        InputStream is = this.getClass().getClassLoader().getResourceAsStream(
-                "org/apache/maven/archiva/meeper/sync.csv");
-        List repos = reader.parse(is);
-        assertEquals(2, repos.size());
-        for (Iterator it = repos.iterator(); it.hasNext();) {
+    public void testParse()
+        throws Exception
+    {
+        InputStream is =
+            this.getClass().getClassLoader().getResourceAsStream( 
"org/apache/maven/archiva/meeper/sync.csv" );
+        List repos = reader.parse( is );
+        for ( Iterator it = repos.iterator(); it.hasNext(); )
+        {
             SyncedRepository repo = (SyncedRepository) it.next();
-            System.out.println(repo);
+            System.out.println( repo );
         }
+
+        assertEquals( 4, repos.size() );
+
+        SyncedRepository codehausRepo = (SyncedRepository) repos.get( 2 );
+        assertNotNull( codehausRepo.getSshOptions() );
+        assertNull( codehausRepo.getGroupId() );
+
+        SyncedRepository svnRepo = (SyncedRepository) repos.get( 3 );
+        assertNull( svnRepo.getSshOptions() );
+        assertNotNull( svnRepo.getSvnUrl() );
     }
 
 }

Modified: 
maven/archiva/tools/trunk/maven-meeper/src/test/resources/org/apache/maven/archiva/meeper/sync.csv
URL: 
http://svn.apache.org/viewvc/maven/archiva/tools/trunk/maven-meeper/src/test/resources/org/apache/maven/archiva/meeper/sync.csv?rev=629285&r1=629284&r2=629285&view=diff
==============================================================================
--- 
maven/archiva/tools/trunk/maven-meeper/src/test/resources/org/apache/maven/archiva/meeper/sync.csv
 (original)
+++ 
maven/archiva/tools/trunk/maven-meeper/src/test/resources/org/apache/maven/archiva/meeper/sync.csv
 Tue Feb 19 16:35:11 2008
@@ -1,3 +1,5 @@
 "groupId","location","protocol","contactName","contactMail","ssh options"
 "asm","[EMAIL 
PROTECTED]:../../groups/maven/htdocs/maven2","rsync_ssh","EugeneKuleshov","[EMAIL
 PROTECTED]"
 "ch.qos.logback","rsync://pixie.qos.ch/mvnrepo","rsync","Ceki Gulcu","[EMAIL 
PROTECTED]"
+"","[EMAIL PROTECTED]:/repository","rsync_ssh",,[EMAIL PROTECTED],"'-i 
$HOME/.ssh/new-id_dsa'"
+"org.springframework","/home/maven/repository-staging/to-ibiblio/maven-spring","rsync","Ben
 Hale","[EMAIL PROTECTED] 
",,"https://springframework.svn.sourceforge.net/svnroot/springframework/repos/repo";


Reply via email to