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/12 16:14:03 UTC

svn commit: r954009 - in /subversion/trunk/subversion/bindings/javahl: native/ src/org/apache/subversion/javahl/ tests/org/apache/subversion/javahl/

Author: hwright
Date: Sat Jun 12 14:14:03 2010
New Revision: 954009

URL: http://svn.apache.org/viewvc?rev=954009&view=rev
Log:
JavaHL: Extend the use of the repository notification framework to dump.

[ in subversion/bindings/javahl/ ]
* tests/org/apache/subversion/javahl/SVNTests.java
  (setUp): Adjust call to dump().

* native/SVNAdmin.h,
  native/SVNAdmin.cpp
  (dump): Update to use the new repos API, along with the notifier.
 
* native/org_apache_subversion_javahl_SVNAdmin.cpp
  (Java_org_apache_subversion_javahl_SVNAdmin_dump): Update args for the
    notifier callback.

* src/org/apache/subversion/javahl/ISVNAdmin.java,
  src/org/apache/subversion/javahl/SVNAdmin.java
  (dump): Use a notifier, rather than an output error stream.

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/SVNTests.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=954009&r1=954008&r2=954009&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.cpp Sat Jun 12 14:14:03 2010
@@ -160,9 +160,9 @@ void SVNAdmin::deltify(File &path, Revis
 }
 
 void SVNAdmin::dump(File &path, OutputStream &dataOut,
-                    OutputStream &messageOut,
                     Revision &revsionStart, Revision &revisionEnd,
-                    bool incremental, bool useDeltas)
+                    bool incremental, bool useDeltas,
+                    ReposNotifyCallback *notifyCallback)
 {
   SVN::Pool requestPool;
   svn_repos_t *repos;
@@ -221,9 +221,12 @@ void SVNAdmin::dump(File &path, OutputSt
                      " (%ld)"), youngest), );
     }
 
-  SVN_JNI_ERR(svn_repos_dump_fs2(repos, dataOut.getStream(requestPool),
-                                 messageOut.getStream(requestPool),
+  SVN_JNI_ERR(svn_repos_dump_fs3(repos, dataOut.getStream(requestPool),
                                  lower, upper, incremental, useDeltas,
+                                 notifyCallback != NULL
+                                    ? ReposNotifyCallback::notify
+                                    : NULL,
+                                 notifyCallback,
                                  NULL, NULL, requestPool.pool()), );
 }
 

Modified: subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.h?rev=954009&r1=954008&r2=954009&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.h (original)
+++ subversion/trunk/subversion/bindings/javahl/native/SVNAdmin.h Sat Jun 12 14:14:03 2010
@@ -59,9 +59,9 @@ class SVNAdmin : public SVNBase
                         MessageReceiver &messageReceiver);
   void listDBLogs(File &path, MessageReceiver &messageReceiver);
   void hotcopy(File &path, File &targetPath, bool cleanLogs);
-  void dump(File &path, OutputStream &dataOut, OutputStream &messageOut,
-            Revision &revsionStart, Revision &RevisionEnd,
-            bool incremental, bool useDeltas);
+  void dump(File &path, OutputStream &dataOut, Revision &revsionStart,
+            Revision &RevisionEnd, bool incremental, bool useDeltas,
+            ReposNotifyCallback *notifyCallback);
   void deltify(File &path, Revision &start, Revision &end);
   void create(File &path, bool ignoreUUID, bool forceUUID, File &configPath,
               const char *fstype);

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=954009&r1=954008&r2=954009&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 Sat Jun 12 14:14:03 2010
@@ -132,8 +132,8 @@ Java_org_apache_subversion_javahl_SVNAdm
 JNIEXPORT void JNICALL
 Java_org_apache_subversion_javahl_SVNAdmin_dump
 (JNIEnv *env, jobject jthis, jobject jpath, jobject jdataout,
- jobject jmessageout, jobject jrevisionStart, jobject jrevisionEnd,
- jboolean jincremental, jboolean juseDeltas)
+ jobject jrevisionStart, jobject jrevisionEnd, jboolean jincremental,
+ jboolean juseDeltas, jobject jnotifyCallback)
 {
   JNIEntry(SVNAdmin, dump);
   SVNAdmin *cl = SVNAdmin::getCppObject(jthis);
@@ -151,10 +151,6 @@ Java_org_apache_subversion_javahl_SVNAdm
   if (JNIUtil::isExceptionThrown())
     return;
 
-  OutputStream messageOut(jmessageout);
-  if (JNIUtil::isExceptionThrown())
-    return;
-
   Revision revisionStart(jrevisionStart);
   if (JNIUtil::isExceptionThrown())
     return;
@@ -163,8 +159,11 @@ Java_org_apache_subversion_javahl_SVNAdm
   if (JNIUtil::isExceptionThrown())
     return;
 
-  cl->dump(path, dataOut, messageOut, revisionStart, revisionEnd,
-           jincremental ? true : false, juseDeltas ? true : false);
+  ReposNotifyCallback notifyCallback(jnotifyCallback);
+
+  cl->dump(path, dataOut, revisionStart, revisionEnd,
+           jincremental ? true : false, juseDeltas ? true : false,
+           jnotifyCallback != NULL ? &notifyCallback : 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=954009&r1=954008&r2=954009&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 Sat Jun 12 14:14:03 2010
@@ -80,17 +80,17 @@ public interface ISVNAdmin {
 	 * dump the data in a repository
 	 * @param path              the path to the repository
 	 * @param dataOut           the data will be outputed here
-	 * @param errorOut          the messages will be outputed here
 	 * @param start             the first revision to be dumped
 	 * @param end               the last revision to be dumped
 	 * @param incremental       the dump will be incremantal
 	 * @param useDeltas         the dump will contain deltas between nodes
+     * @param callback          the callback to recieve notifications
 	 * @throws ClientException  throw in case of problem
 	 * @since 1.5
 	 */
 	public abstract void dump(File path, OutputStream dataOut,
-                OutputStream errorOut, Revision start, Revision end,
-                boolean incremental, boolean useDeltas)
+                Revision start, Revision end, boolean incremental,
+                boolean useDeltas, 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=954009&r1=954008&r2=954009&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 Sat Jun 12 14:14:03 2010
@@ -115,22 +115,9 @@ public class SVNAdmin implements ISVNAdm
     public native void deltify(File path, Revision start, Revision end)
             throws ClientException;
 
-    /**
-     * dump the data in a repository
-     * @param path              the path to the repository
-     * @param dataOut           the data will be outputed here
-     * @param errorOut          the messages will be outputed here
-     * @param start             the first revision to be dumped
-     * @param end               the last revision to be dumped
-     * @param incremental       the dump will be incremantal
-     * @param useDeltas         the dump will contain deltas between nodes
-     * @throws ClientException  throw in case of problem
-     * @since 1.5
-     */
     public native void dump(File path, OutputStream dataOut,
-                            OutputStream errorOut, Revision start,
-                            Revision end, boolean incremental,
-                            boolean useDeltas)
+                            Revision start, Revision end, boolean incremental,
+                            boolean useDeltas, ReposNotifyCallback callback)
             throws ClientException;
 
     /**

Modified: subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java?rev=954009&r1=954008&r2=954009&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java (original)
+++ subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java Sat Jun 12 14:14:03 2010
@@ -239,7 +239,7 @@ class SVNTests extends TestCase
         client.doImport(greekFiles.getAbsolutePath(), makeReposUrl(greekRepos),
                         null, Depth.infinity, false, false, null);
         admin.dump(greekRepos, new FileOutputStream(greekDump),
-                   new IgnoreOutputer(), null, null, false, false);
+                   null, null, false, false, null);
     }
 
     /**