Author: hwright
Date: Wed Sep  1 19:10:15 2010
New Revision: 991656

URL: http://svn.apache.org/viewvc?rev=991656&view=rev
Log:
JavaHL: Remove the native wrapper for doImport() by updating the public API
to accept a commit message handler.

* subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
  (testBasicImport, testBasicImportIgnores): Update tests.
  (ConstMsg): New helper class.

* subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
  (setUp): Update the import API.

* subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
  (doImport): Update the public API to add a log message callback.

* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
  (doImport): Same.

* subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
  (commitMessageHandler): Update wrapper.
  (cachedHandler): New.
  (doImport): Update wrapper.
  (ConstMsg): New.

Modified:
    
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
    
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
    
subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
    
subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
    
subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java

Modified: 
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java?rev=991656&r1=991655&r2=991656&view=diff
==============================================================================
--- 
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
 (original)
+++ 
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
 Wed Sep  1 19:10:15 2010
@@ -432,9 +432,10 @@ public interface ISVNClient
      *
      * @since 1.5
      */
-    void doImport(String path, String url, String message, Depth depth,
+    void doImport(String path, String url, Depth depth,
                   boolean noIgnore, boolean ignoreUnknownNodeTypes,
-                  Map<String, String> revpropTable, CommitCallback callback)
+                  Map<String, String> revpropTable,
+                  CommitMessage handler, CommitCallback callback)
             throws ClientException;
 
     /**

Modified: 
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java?rev=991656&r1=991655&r2=991656&view=diff
==============================================================================
--- 
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
 (original)
+++ 
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
 Wed Sep  1 19:10:15 2010
@@ -370,23 +370,11 @@ public class SVNClient implements ISVNCl
     /**
      * @since 1.5
      */
-    public void doImport(String path, String url, String message,
-                         Depth depth, boolean noIgnore,
-                         boolean ignoreUnknownNodeTypes,
-                         Map<String, String> revpropTable,
-                         CommitCallback callback)
-            throws ClientException
-    {
-        doImport(path, url, depth, noIgnore, ignoreUnknownNodeTypes,
-                 revpropTable, new ConstMsg(message), callback);
-    }
-
-    private native void doImport(String path, String url,
-                                 Depth depth, boolean noIgnore,
-                                 boolean ignoreUnknownNodeTypes,
-                                 Map<String, String> revpropTable,
-                                 CommitMessage handler,
-                                 CommitCallback callback)
+    public native void doImport(String path, String url, Depth depth,
+                                boolean noIgnore,
+                                boolean ignoreUnknownNodeTypes,
+                                Map<String, String> revpropTable,
+                                CommitMessage handler, CommitCallback callback)
             throws ClientException;
 
     /**

Modified: 
subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java?rev=991656&r1=991655&r2=991656&view=diff
==============================================================================
--- 
subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
 (original)
+++ 
subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
 Wed Sep  1 19:10:15 2010
@@ -716,11 +716,18 @@ public class SVNClient implements SVNCli
     /**
      * @since 1.0
      */
-    public void commitMessageHandler(final CommitMessage messageHandler)
+    public void commitMessageHandler(CommitMessage messageHandler)
     {
         class MyCommitMessageHandler
             implements org.apache.subversion.javahl.CommitMessage
         {
+            private CommitMessage messageHandler;
+
+            public MyCommitMessageHandler(CommitMessage messageHandler)
+            {
+                this.messageHandler = messageHandler;
+            }
+
             public String getLogMessage(
                 Set<org.apache.subversion.javahl.CommitItem> 
elementsToBeCommited)
             {
@@ -742,9 +749,13 @@ public class SVNClient implements SVNCli
             }
         }
 
-        aSVNClient.commitMessageHandler(new MyCommitMessageHandler());
+        aSVNClient.commitMessageHandler(new MyCommitMessageHandler(
+                                                            messageHandler));
+        cachedHandler = new MyCommitMessageHandler(messageHandler);
     }
 
+    private org.apache.subversion.javahl.CommitMessage cachedHandler = null;
+
     /**
      * @deprecated Use {...@link #remove(String[], String, boolean, boolean, 
Map)}
      *             instead.
@@ -1246,8 +1257,10 @@ public class SVNClient implements SVNCli
     {
         try
         {
-            aSVNClient.doImport(path, url, message, Depth.toADepth(depth),
+            aSVNClient.doImport(path, url, Depth.toADepth(depth),
                                 noIgnore, ignoreUnknownNodeTypes, revpropTable,
+                                message == null ? cachedHandler
+                                    : new ConstMsg(message),
                                 null);
         }
         catch (org.apache.subversion.javahl.ClientException ex)
@@ -2600,4 +2613,21 @@ public class SVNClient implements SVNCli
             callback.onSummary(new DiffSummary(summary));
         }
     }
+
+    private class ConstMsg
+        implements org.apache.subversion.javahl.CommitMessage
+    {
+        private String message;
+
+        ConstMsg(String message)
+        {
+            this.message = message;
+        }
+
+        public String getLogMessage(
+                    Set<org.apache.subversion.javahl.CommitItem> items)
+        {
+            return message;
+        }
+    }
 }

Modified: 
subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=991656&r1=991655&r2=991656&view=diff
==============================================================================
--- 
subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
 (original)
+++ 
subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
 Wed Sep  1 19:10:15 2010
@@ -1751,9 +1751,9 @@ public class BasicTests extends SVNTests
         addExpectedCommitItem(thisTest.getWCPath(),
                 null, "new_file", NodeKind.none, CommitItemStateFlags.Add);
         client.doImport(file.getAbsolutePath(),
-                thisTest.getUrl()+"/dirA/dirB/new_file",
-                "log message for new import", Depth.infinity,
-                false, false, null, null);
+                thisTest.getUrl()+"/dirA/dirB/new_file", Depth.infinity,
+                false, false, null,
+                new ConstMsg("log message for new import"), null);
 
         // delete new_file
         file.delete();
@@ -1918,8 +1918,8 @@ public class BasicTests extends SVNTests
         addExpectedCommitItem(thisTest.getWCPath(),
                 null, "dir", NodeKind.none, CommitItemStateFlags.Add);
         client.doImport(dir.getAbsolutePath(), thisTest.getUrl()+"/dir",
-                "log message for import", Depth.infinity,
-                false, false, null, null);
+                Depth.infinity, false, false, null,
+                new ConstMsg("log message for import"), null);
 
         // remove dir
         removeDirOrFile(dir);
@@ -3528,6 +3528,21 @@ public class BasicTests extends SVNTests
         }
     }
 
+    private class ConstMsg implements CommitMessage
+    {
+        private String message;
+
+        ConstMsg(String message)
+        {
+            this.message = message;
+        }
+
+        public String getLogMessage(Set<CommitItem> items)
+        {
+            return message;
+        }
+    }
+
     private Map<String, byte[]> collectProperties(String path,
                                              Revision revision,
                                              Revision pegRevision, Depth depth,

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=991656&r1=991655&r2=991656&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
 Wed Sep  1 19:10:15 2010
@@ -237,7 +237,8 @@ class SVNTests extends TestCase
         addExpectedCommitItem(greekFiles.getAbsolutePath(), null, null,
                               NodeKind.none, CommitItemStateFlags.Add);
         client.doImport(greekFiles.getAbsolutePath(), makeReposUrl(greekRepos),
-                        null, Depth.infinity, false, false, null, null);
+                        Depth.infinity, false, false, null, 
+                        new MyCommitMessage(), null);
         admin.dump(greekRepos, new FileOutputStream(greekDump),
                    null, null, false, false, null);
     }


Reply via email to