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 19:16:14 UTC
svn commit: r955677 - in /subversion/trunk/subversion/bindings/javahl:
native/ src/org/apache/subversion/javahl/ src/org/tigris/subversion/javahl/
Author: hwright
Date: Thu Jun 17 17:16:14 2010
New Revision: 955677
URL: http://svn.apache.org/viewvc?rev=955677&view=rev
Log:
JavaHL: Support notification in the repository recovery API.
[ in subversion/bindings/javahl/ ]
* native/SVNAdmin.cpp,
native/SVNAdmin.h
(recover): Add a notification callback param, and update the repos API call.
* native/org_apache_subversion_javahl_SVNAdmin.cpp
(Java_org_apache_subversion_javahl_SVNAdmin_recover): Add the callback param,
update the call into the SVNAdmin object.
* src/org/apache/subversion/javahl/ISVNAdmin.java,
src/org/apache/subversion/javahl/SVNAdmin.java
(recover): Add the extra notification param.
* src/org/tigris/subversion/javahl/SVNAdmin.java
(recover): Update compat wrapper.
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/src/org/tigris/subversion/javahl/SVNAdmin.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=955677&r1=955676&r2=955677&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.cpp Thu Jun 17 17:16:14 2010
@@ -356,7 +356,7 @@ void SVNAdmin::lstxns(File &path, Messag
}
-jlong SVNAdmin::recover(File &path)
+jlong SVNAdmin::recover(File &path, ReposNotifyCallback *notifyCallback)
{
SVN::Pool requestPool;
svn_revnum_t youngest_rev;
@@ -368,8 +368,12 @@ jlong SVNAdmin::recover(File &path)
return -1;
}
- SVN_JNI_ERR(svn_repos_recover3(path.getInternalStyle(requestPool), FALSE,
- NULL, NULL, NULL, NULL, requestPool.pool()),
+ SVN_JNI_ERR(svn_repos_recover4(path.getInternalStyle(requestPool), FALSE,
+ notifyCallback != NULL
+ ? ReposNotifyCallback::notify
+ : NULL,
+ notifyCallback,
+ NULL, NULL, requestPool.pool()),
-1);
/* Since db transactions may have been replayed, it's nice to tell
Modified: subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.h?rev=955677&r1=955676&r2=955677&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.h (original)
+++ subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.h Thu Jun 17 17:16:14 2010
@@ -50,7 +50,7 @@ class SVNAdmin : public SVNBase
bool usePreRevPropChangeHook,
bool usePostRevPropChangeHook);
void rmtxns(File &path, StringArray &transactions);
- jlong recover(File &path);
+ jlong recover(File &path, ReposNotifyCallback *notifyCallback);
void lstxns(File &path, MessageReceiver &messageReceiver);
void load(File &path, InputStream &dataIn, bool ignoreUUID, bool forceUUID,
bool usePreCommitHook, bool usePostCommitHook,
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=955677&r1=955676&r2=955677&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 17:16:14 2010
@@ -295,7 +295,7 @@ Java_org_apache_subversion_javahl_SVNAdm
JNIEXPORT jlong JNICALL
Java_org_apache_subversion_javahl_SVNAdmin_recover
-(JNIEnv *env, jobject jthis, jobject jpath)
+(JNIEnv *env, jobject jthis, jobject jpath, jobject jnotifyCallback)
{
JNIEntry(SVNAdmin, recover);
SVNAdmin *cl = SVNAdmin::getCppObject(jthis);
@@ -309,7 +309,9 @@ Java_org_apache_subversion_javahl_SVNAdm
if (JNIUtil::isExceptionThrown())
return -1;
- return cl->recover(path);
+ ReposNotifyCallback callback(jnotifyCallback);
+
+ return cl->recover(path, jnotifyCallback != NULL ? &callback : NULL);
}
JNIEXPORT void JNICALL
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=955677&r1=955676&r2=955677&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 17:16:14 2010
@@ -157,7 +157,8 @@ public interface ISVNAdmin {
* @param path the path to the repository
* @throws ClientException throw in case of problem
*/
- public abstract long recover(File path) throws ClientException;
+ public abstract long recover(File path, ReposNotifyCallback callback)
+ throws ClientException;
/**
* remove open transaction in a repository
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=955677&r1=955676&r2=955677&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 17:16:14 2010
@@ -176,12 +176,8 @@ public class SVNAdmin implements ISVNAdm
public native void lstxns(File path, MessageReceiver receiver)
throws ClientException;
- /**
- * recover the berkeley db of a repository, returns youngest revision
- * @param path the path to the repository
- * @throws ClientException throw in case of problem
- */
- public native long recover(File path) throws ClientException;
+ public native long recover(File path, ReposNotifyCallback callback)
+ throws ClientException;
/**
* remove open transaction in a repository
Modified: subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java?rev=955677&r1=955676&r2=955677&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java Thu Jun 17 17:16:14 2010
@@ -332,7 +332,7 @@ public class SVNAdmin
{
try
{
- return aSVNAdmin.recover(new File(path));
+ return aSVNAdmin.recover(new File(path), null);
}
catch (org.apache.subversion.javahl.ClientException ex)
{