/* * ==================================================================== * Copyright (c) 2005-2012 sventon project. All rights reserved. * * This software is licensed as described in the file LICENSE, which * you should have received as part of this distribution. The terms * are also available at http://www.sventon.org. * If newer versions of this license are posted there, you may use a * newer version instead, at your option. * ==================================================================== */ package org.sventon.service.javahl; import org.sventon.SVNConnection; import org.sventon.model.*; import org.sventon.service.RepositoryService; import org.tigris.subversion.javahl.SVNClient; import java.io.File; import java.util.Calendar; import java.util.List; import java.util.Map; /** * Test class. * <p/> * For testing svn+ssh, supply the following JVM parameters: * <ul> * <li>-Dsvnkit.ssh2.username=you</li> * <li>-Dsvnkit.ssh2.passphrase=your_passphrase</li> * <li>-Dsvnkit.ssh2.key=/path/to/your_dsa_or_rsa_key</li> * </ul> */ public class JavaHLTestTool { /** * @param args */ @SuppressWarnings("unchecked") public static void main(String[] args) { final String url = "http://sventon.googlecode.com/svn/"; //final String url = "svn://localhost/myrepro/"; final String uid = null; // overridden by JVM parameter final String pwd = null; // overridden by JVM parameter try { final File currentDir = new File("."); System.out.println("Current dir is: " + currentDir.getAbsolutePath()); final RepositoryService service = new JavaHLRepositoryService(); final SVNClient client = new SVNClient(); final SVNURL svnUrl = SVNURL.parse(url); final SVNConnection connection = new JavaHLConnection(client, "", svnUrl); System.out.println(client.getVersion()); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////// Cut & Paste Zone //////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// final long latestRevision = service.getLatestRevision(connection); System.out.println("\nLatest revision for " + url + " : " + latestRevision); System.out.println("\nLatest Revisions:"); final List<LogEntry> logEntries = service.getLatestRevisions(connection, null, 2); for (LogEntry logEntry : logEntries) { System.out.println("logEntry = " + logEntry); } System.out.println("\nLogEntries from root:"); final List<LogEntry> logEntries2 = service.getLogEntriesFromRepositoryRoot(connection, 100, 110); for (LogEntry logEntry : logEntries2) { System.out.println("logEntry = " + logEntry); } System.out.println("\nLogEntry for single revision:"); final LogEntry logEntry = service.getLogEntry(connection, null, 1817); System.out.println(logEntry); System.out.println("\nGet LogEntries for /trunk/assembly-bin-svnkit.xml [1 .. 1817]"); final List<LogEntry> entries = service.getLogEntries(connection, null, 1, 1817, "/trunk/assembly-bin-svnkit.xml", 10, false, false); for (LogEntry entry : entries) { System.out.println("Entry: " + entry.toString()); } System.out.println("\nFile properties for /trunk/assembly-bin-svnkit.xml at revision 1817"); final Properties fileProperties = service.listProperties(connection, "/trunk/assembly-bin-svnkit.xml", 1817); System.out.println(fileProperties.toString()); System.out.println("\nGet Locks"); final Map<String, DirEntryLock> map = service.getLocks(connection, "/branches/features/svn_facade/sventon/readme.txt", false); for (String s : map.keySet()) { System.out.println("Path: " + s); System.out.println("DirEntryLock: " + map.get(s).toString()); } final Calendar calendar = Calendar.getInstance(); calendar.set(2010, 7, 17, 12, 34, 56); final org.sventon.model.Revision revision = service.translateRevision(connection, org.sventon.model.Revision.create(calendar.getTime()), 0); System.out.println("\nTranslated revision: " + revision.toString()); System.out.print("\nRevisions for path trunk/assembly-bin-svnkit.xml at [1 .. 1817]. Limit 10\n {"); final List<Long> revisionsForPath = service.getRevisionsForPath(connection, "/trunk/assembly-bin-svnkit.xml", 1, 1817, false, 10); for (Long rev : revisionsForPath) { System.out.print(rev.toString() + " "); } System.out.println("}"); System.out.print("\nGetFileRevisions for trunk/assembly-bin-svnkit.xml {\n"); final List<FileRevision> revisionList = service.getFileRevisions(connection, "trunk/assembly-bin-svnkit.xml", 1817); for (FileRevision fileRevision : revisionList) { System.out.println("\t" + fileRevision.toString() + " "); } System.out.println("}"); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////// end //////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } catch (Exception e) { e.printStackTrace(); } } }