You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2010/06/17 20:20:27 UTC
svn commit: r955695 - in /subversion/trunk/subversion/bindings/javahl:
native/ src/org/apache/subversion/javahl/ tests/org/apache/subversion/javahl/
Author: hwright
Date: Thu Jun 17 18:20:27 2010
New Revision: 955695
URL: http://svn.apache.org/viewvc?rev=955695&view=rev
Log:
JavaHL: Add the repository upgrade API to the Java API.
[ in subversion/bindings/javahl/ ]
* tests/org/apache/subversion/javahl/SVNAdminTests.java
(testUpgrade): New.
* native/SVNAdmin.cpp,
native/SVNAdmin.h
(upgrade): New.
* native/org_apache_subversion_javahl_SVNAdmin.cpp
(Java_org_apache_subversion_javahl_SVNAdmin_upgrade): New.
* src/org/apache/subversion/javahl/ISVNAdmin.java,
src/org/apache/subversion/javahl/SVNAdmin.java
(upgrade): New.
Modified:
subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.cpp
subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.h
subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNAdmin.cpp
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNAdmin.java
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNAdmin.java
subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNAdminTests.java
Modified: subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.cpp?rev=955695&r1=955694&r2=955695&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.cpp Thu Jun 17 18:20:27 2010
@@ -570,6 +570,25 @@ SVNAdmin::verify(File &path, Revision &r
requestPool.pool()), );
}
+void SVNAdmin::upgrade(File &path, ReposNotifyCallback *notifyCallback)
+{
+ SVN::Pool requestPool;
+
+ if (path.isNull())
+ {
+ JNIUtil::throwNullPointerException("path");
+ return;
+ }
+
+ SVN_JNI_ERR(svn_repos_upgrade2(path.getInternalStyle(requestPool), FALSE,
+ notifyCallback != NULL
+ ? ReposNotifyCallback::notify
+ : NULL,
+ notifyCallback,
+ requestPool.pool()),
+ );
+}
+
jobject SVNAdmin::lslocks(File &path)
{
SVN::Pool requestPool;
Modified: subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.h?rev=955695&r1=955694&r2=955695&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.h (original)
+++ subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.h Thu Jun 17 18:20:27 2010
@@ -65,6 +65,7 @@ class SVNAdmin : public SVNBase
void deltify(File &path, Revision &start, Revision &end);
void create(File &path, bool ignoreUUID, bool forceUUID, File &configPath,
const char *fstype);
+ void upgrade(File &path, ReposNotifyCallback *callback);
SVNAdmin();
virtual ~SVNAdmin();
void dispose(jobject jthis);
Modified: subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNAdmin.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNAdmin.cpp?rev=955695&r1=955694&r2=955695&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNAdmin.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNAdmin.cpp Thu Jun 17 18:20:27 2010
@@ -446,3 +446,24 @@ Java_org_apache_subversion_javahl_SVNAdm
cl->rmlocks(path, locks);
}
+
+JNIEXPORT void JNICALL
+Java_org_apache_subversion_javahl_SVNAdmin_upgrade
+(JNIEnv *env, jobject jthis, jobject jpath, jobject jnotifyCallback)
+{
+ JNIEntry(SVNAdmin, rmlocks);
+ SVNAdmin *cl = SVNAdmin::getCppObject(jthis);
+ if (cl == NULL)
+ {
+ JNIUtil::throwError(_("bad C++ this"));
+ return;
+ }
+
+ File path(jpath);
+ if (JNIUtil::isExceptionThrown())
+ return;
+
+ ReposNotifyCallback callback(jnotifyCallback);
+
+ cl->upgrade(path, jnotifyCallback != NULL ? &callback : NULL);
+}
Modified: subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNAdmin.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNAdmin.java?rev=955695&r1=955694&r2=955695&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNAdmin.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNAdmin.java Thu Jun 17 18:20:27 2010
@@ -221,4 +221,12 @@ public interface ISVNAdmin {
public abstract void rmlocks(File path, String[] locks)
throws ClientException;
+ /**
+ * upgrade the repository format
+ * @param path the path to the repository
+ * @param callback for notification
+ * @throws ClientException throw in case of problem
+ */
+ public abstract void upgrade(File path, ReposNotifyCallback callback)
+ throws ClientException;
}
Modified: subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNAdmin.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNAdmin.java?rev=955695&r1=955694&r2=955695&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNAdmin.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNAdmin.java Thu Jun 17 18:20:27 2010
@@ -231,4 +231,6 @@ public class SVNAdmin implements ISVNAdm
*/
public native void rmlocks(File path, String[] locks)
throws ClientException;
+
+ public native void upgrade(File path, ReposNotifyCallback callback);
}
Modified: subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNAdminTests.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNAdminTests.java?rev=955695&r1=955694&r2=955695&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNAdminTests.java (original)
+++ subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNAdminTests.java Thu Jun 17 18:20:27 2010
@@ -82,6 +82,14 @@ public class SVNAdminTests extends SVNTe
Revision.HEAD, null);
}
+ /* This test only tests the call down to the C++ layer. */
+ public void testUpgrade()
+ throws SubversionException, IOException
+ {
+ OneTest thisTest = new OneTest(false);
+ admin.upgrade(thisTest.getRepository(), null);
+ }
+
public void testLoadRepo()
throws SubversionException, IOException
{