You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by vm...@apache.org on 2012/06/25 03:40:29 UTC
svn commit: r1353380 - in
/subversion/branches/javahl-ra/subversion/bindings/javahl: native/
src/org/apache/subversion/javahl/ra/ tests/org/apache/subversion/javahl/
Author: vmpn
Date: Mon Jun 25 01:40:28 2012
New Revision: 1353380
URL: http://svn.apache.org/viewvc?rev=1353380&view=rev
Log:
On the javahl-ra branch:
JavaHL: Add support for the svn_ra_get_session_url() function
[ in subversion/bindings/javahl/native ]
* org_apache_subversion_javahl_ra_SVNRa.cpp
(Java_org_apache_subversion_javahl_ra_SVNRa_getUrl): New
* SVNRa.h,
SVNRa.cpp
(getUrl): New
[ in subversion/bindings/javahl/src/org/apache/subversion/javahl/ra ]
* ISVNRa.java,
SVNRa.java
(getUrl): New
[ in subversion/bindings/javahl/tests/org/apache/subversion/javahl ]
* SVNRATests.java
(getSession, getTestRepoUrl): New function for obtaining URL of the test
repository
(testGetUrl): New test for getUrl()
Modified:
subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.cpp
subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.h
subversion/branches/javahl-ra/subversion/bindings/javahl/native/org_apache_subversion_javahl_ra_SVNRa.cpp
subversion/branches/javahl-ra/subversion/bindings/javahl/src/org/apache/subversion/javahl/ra/ISVNRa.java
subversion/branches/javahl-ra/subversion/bindings/javahl/src/org/apache/subversion/javahl/ra/SVNRa.java
subversion/branches/javahl-ra/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRATests.java
Modified: subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.cpp?rev=1353380&r1=1353379&r2=1353380&view=diff
==============================================================================
--- subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.cpp (original)
+++ subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.cpp Mon Jun 25 01:40:28 2012
@@ -104,6 +104,21 @@ SVNRa::getUUID()
return juuid;
}
+jstring
+SVNRa::getUrl()
+{
+ SVN::Pool subPool(pool);
+ const char * url;
+
+ SVN_JNI_ERR(svn_ra_get_session_url(m_session, &url, subPool.getPool()), NULL);
+
+ jstring jurl = JNIUtil::makeJString(url);
+ if (JNIUtil::isJavaExceptionThrown())
+ return NULL;
+
+ return jurl;
+}
+
void
SVNRa::dispose(jobject jthis)
{
Modified: subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.h
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.h?rev=1353380&r1=1353379&r2=1353380&view=diff
==============================================================================
--- subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.h (original)
+++ subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.h Mon Jun 25 01:40:28 2012
@@ -25,6 +25,7 @@ class SVNRa: public SVNBase
jlong getLatestRevision();
jstring getUUID();
+ jstring getUrl();
svn_revnum_t getDatedRev(jlong timestamp);
jobject getLocks(jstring jpath, jobject jdepth);
Modified: subversion/branches/javahl-ra/subversion/bindings/javahl/native/org_apache_subversion_javahl_ra_SVNRa.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-ra/subversion/bindings/javahl/native/org_apache_subversion_javahl_ra_SVNRa.cpp?rev=1353380&r1=1353379&r2=1353380&view=diff
==============================================================================
--- subversion/branches/javahl-ra/subversion/bindings/javahl/native/org_apache_subversion_javahl_ra_SVNRa.cpp (original)
+++ subversion/branches/javahl-ra/subversion/bindings/javahl/native/org_apache_subversion_javahl_ra_SVNRa.cpp Mon Jun 25 01:40:28 2012
@@ -49,6 +49,17 @@ Java_org_apache_subversion_javahl_ra_SVN
return ras->getUUID();
}
+JNIEXPORT jstring JNICALL
+Java_org_apache_subversion_javahl_ra_SVNRa_getUrl
+(JNIEnv *env, jobject jthis)
+{
+ JNIEntry(SVNRa, getUrl);
+ SVNRa *ras = SVNRa::getCppObject(jthis);
+ CPPADDR_NULL_PTR(ras, NULL);
+
+ return ras->getUrl();
+}
+
JNIEXPORT jlong JNICALL
Java_org_apache_subversion_javahl_ra_SVNRa_getDatedRevision
(JNIEnv *env, jobject jthis, jlong timestamp)
Modified: subversion/branches/javahl-ra/subversion/bindings/javahl/src/org/apache/subversion/javahl/ra/ISVNRa.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-ra/subversion/bindings/javahl/src/org/apache/subversion/javahl/ra/ISVNRa.java?rev=1353380&r1=1353379&r2=1353380&view=diff
==============================================================================
--- subversion/branches/javahl-ra/subversion/bindings/javahl/src/org/apache/subversion/javahl/ra/ISVNRa.java (original)
+++ subversion/branches/javahl-ra/subversion/bindings/javahl/src/org/apache/subversion/javahl/ra/ISVNRa.java Mon Jun 25 01:40:28 2012
@@ -54,6 +54,11 @@ public interface ISVNRa
public String getUUID();
/**
+ * @return parent url for this session
+ */
+ public String getUrl();
+
+ /**
* @param date
* The date
* @return The latest revision at date
Modified: subversion/branches/javahl-ra/subversion/bindings/javahl/src/org/apache/subversion/javahl/ra/SVNRa.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-ra/subversion/bindings/javahl/src/org/apache/subversion/javahl/ra/SVNRa.java?rev=1353380&r1=1353379&r2=1353380&view=diff
==============================================================================
--- subversion/branches/javahl-ra/subversion/bindings/javahl/src/org/apache/subversion/javahl/ra/SVNRa.java (original)
+++ subversion/branches/javahl-ra/subversion/bindings/javahl/src/org/apache/subversion/javahl/ra/SVNRa.java Mon Jun 25 01:40:28 2012
@@ -43,6 +43,9 @@ public class SVNRa extends JNIObject imp
@Override
public native String getUUID();
+
+ @Override
+ public native String getUrl();
public native long getDatedRevision(long timestamp) throws SubversionException;
Modified: subversion/branches/javahl-ra/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRATests.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-ra/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRATests.java?rev=1353380&r1=1353379&r2=1353380&view=diff
==============================================================================
--- subversion/branches/javahl-ra/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRATests.java (original)
+++ subversion/branches/javahl-ra/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRATests.java Mon Jun 25 01:40:28 2012
@@ -131,7 +131,12 @@ public class SVNRATests extends SVNTests
private ISVNRa getSession()
{
- return getSession(thisTest.getUrl().toASCIIString(), super.conf.getAbsolutePath());
+ return getSession(getTestRepoUrl(), super.conf.getAbsolutePath());
+ }
+
+ private String getTestRepoUrl()
+ {
+ return thisTest.getUrl().toASCIIString();
}
public void testGetLatestRevision() throws Exception
@@ -152,4 +157,11 @@ public class SVNRATests extends SVNTests
*/
assertNotNull(session.getUUID());
}
+
+ public void testGetUrl() throws Exception
+ {
+ ISVNRa session = getSession();
+
+ assertEquals(getTestRepoUrl(), session.getUrl());
+ }
}