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"