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());
+    }
 }