You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by br...@apache.org on 2013/06/17 07:42:22 UTC
svn commit: r1493646 - in
/subversion/branches/javahl-ra/subversion/bindings/javahl: native/
src/org/apache/subversion/javahl/remote/ tests/org/apache/subversion/javahl/
Author: brane
Date: Mon Jun 17 05:42:21 2013
New Revision: 1493646
URL: http://svn.apache.org/r1493646
Log:
On the javahl-ra branch: Implement ISVNRemote.reparent.
[in subversion/bindings/javahl/src/org/apache/subversion/javahl]
* remote/RemoteSession.java (ISVNRemote.reparent): Declare native method.
[in subversion/bindings/javahl/tests/org/apache/subversion/javahl]
* SVNRemoteTests.java (SVNRemoteTests.testReparent): New test case.
(SVNRemoteTests.getSession): Do not throw a checked exception.
[in subversion/bindings/javahl/native]
* RemoteSession.h, RemoteSession.cpp (RemoteSession::reparent): New.
* org_apache_subversion_javahl_remote_RemoteSession.cpp
(Java_org_apache_subversion_javahl_remote_RemoteSession_reparent):
Implement native method.
Modified:
subversion/branches/javahl-ra/subversion/bindings/javahl/native/RemoteSession.cpp
subversion/branches/javahl-ra/subversion/bindings/javahl/native/RemoteSession.h
subversion/branches/javahl-ra/subversion/bindings/javahl/native/org_apache_subversion_javahl_remote_RemoteSession.cpp
subversion/branches/javahl-ra/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java
subversion/branches/javahl-ra/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRemoteTests.java
Modified: subversion/branches/javahl-ra/subversion/bindings/javahl/native/RemoteSession.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-ra/subversion/bindings/javahl/native/RemoteSession.cpp?rev=1493646&r1=1493645&r2=1493646&view=diff
==============================================================================
--- subversion/branches/javahl-ra/subversion/bindings/javahl/native/RemoteSession.cpp (original)
+++ subversion/branches/javahl-ra/subversion/bindings/javahl/native/RemoteSession.cpp Mon Jun 17 05:42:21 2013
@@ -273,6 +273,11 @@ RemoteSession::dispose(jobject jthis)
SVNBase::dispose(jthis, &fid, JAVA_CLASS_REMOTE_SESSION);
}
+void RemoteSession::reparent(const char* url)
+{
+ SVN_JNI_ERR(svn_ra_reparent(m_session, url, pool.getPool()), );
+}
+
jstring
RemoteSession::getSessionUrl()
{
Modified: subversion/branches/javahl-ra/subversion/bindings/javahl/native/RemoteSession.h
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-ra/subversion/bindings/javahl/native/RemoteSession.h?rev=1493646&r1=1493645&r2=1493646&view=diff
==============================================================================
--- subversion/branches/javahl-ra/subversion/bindings/javahl/native/RemoteSession.h (original)
+++ subversion/branches/javahl-ra/subversion/bindings/javahl/native/RemoteSession.h Mon Jun 17 05:42:21 2013
@@ -58,6 +58,7 @@ class RemoteSession : public SVNBase
virtual void dispose(jobject jthis);
+ void reparent(const char* url);
jstring getSessionUrl();
jstring getReposUUID();
jobject getLatestRevision();
Modified: subversion/branches/javahl-ra/subversion/bindings/javahl/native/org_apache_subversion_javahl_remote_RemoteSession.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-ra/subversion/bindings/javahl/native/org_apache_subversion_javahl_remote_RemoteSession.cpp?rev=1493646&r1=1493645&r2=1493646&view=diff
==============================================================================
--- subversion/branches/javahl-ra/subversion/bindings/javahl/native/org_apache_subversion_javahl_remote_RemoteSession.cpp (original)
+++ subversion/branches/javahl-ra/subversion/bindings/javahl/native/org_apache_subversion_javahl_remote_RemoteSession.cpp Mon Jun 17 05:42:21 2013
@@ -66,6 +66,19 @@ Java_org_apache_subversion_javahl_remote
ras->cancelOperation();
}
+JNIEXPORT void JNICALL
+Java_org_apache_subversion_javahl_remote_RemoteSession_reparent(
+ JNIEnv *env, jobject jthis, jstring jurl)
+{
+ JNIEntry(RemoteSession, getSessionUrl);
+ RemoteSession *ras = RemoteSession::getCppObject(jthis);
+ CPPADDR_NULL_PTR(ras, );
+
+ JNIStringHolder url(jurl);
+ if (!JNIUtil::isJavaExceptionThrown())
+ ras->reparent(url);
+}
+
JNIEXPORT jstring JNICALL
Java_org_apache_subversion_javahl_remote_RemoteSession_getSessionUrl(
JNIEnv *env, jobject jthis)
Modified: subversion/branches/javahl-ra/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-ra/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java?rev=1493646&r1=1493645&r2=1493646&view=diff
==============================================================================
--- subversion/branches/javahl-ra/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java (original)
+++ subversion/branches/javahl-ra/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java Mon Jun 17 05:42:21 2013
@@ -43,10 +43,7 @@ public class RemoteSession extends JNIOb
public native void cancelOperation() throws ClientException;
- public void reparent(String url) throws ClientException
- {
- thrownotimplemented("reparent");
- }
+ public native void reparent(String url) throws ClientException;
public native String getSessionUrl() throws ClientException;
Modified: subversion/branches/javahl-ra/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRemoteTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/javahl-ra/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRemoteTests.java?rev=1493646&r1=1493645&r2=1493646&view=diff
==============================================================================
--- subversion/branches/javahl-ra/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRemoteTests.java (original)
+++ subversion/branches/javahl-ra/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRemoteTests.java Mon Jun 17 05:42:21 2013
@@ -125,7 +125,7 @@ public class SVNRemoteTests extends SVNT
assertNotNull("Null session was returned by factory", raSession);
return raSession;
}
- catch (ClientException ex)
+ catch (Exception ex)
{
throw new RuntimeException(ex);
}
@@ -175,7 +175,6 @@ public class SVNRemoteTests extends SVNT
assertEquals(getTestRepoUrl(), session.getSessionUrl());
}
-
public void testGetSession_ConfigConstructor() throws Exception
{
ISVNRemote session;
@@ -194,4 +193,12 @@ public class SVNRemoteTests extends SVNT
assertNotNull("Null session was returned by factory", session);
assertEquals(getTestRepoUrl(), session.getSessionUrl());
}
+
+ public void testReparent() throws Exception
+ {
+ ISVNRemote session = getSession();
+ String newUrl = session.getSessionUrl() + "/A/B/E";
+ session.reparent(newUrl);
+ assertEquals(newUrl, session.getSessionUrl());
+ }
}