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)
         {