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/02/27 00:19:54 UTC

svn commit: r916857 - in /subversion/trunk/subversion/bindings/javahl: src/org/apache/subversion/javahl/ src/org/tigris/subversion/javahl/ tests/org/apache/subversion/javahl/

Author: hwright
Date: Fri Feb 26 23:19:53 2010
New Revision: 916857

URL: http://svn.apache.org/viewvc?rev=916857&view=rev
Log:
JavaHL: Update the copy APIs to use the Collections Java framework.

[ in subversion/bindings/javahl/ ]
* tests/org/apache/subversion/javahl/BasicTests.java:
  Update tests to provide a List of the copy sources.

* src/org/tigris/subversion/javahl/SVNClient.java
  (copy): Update to provide a List for the new package.

* src/org/apache/subversion/javahl/SVNClient.java
  (copy): Make the native version private, and implement the update API as
    a wrapper around the native method.

* src/org/apache/subversion/javahl/ISVNClient.java
  (copy): Use a List for the copy sources, in place of an array.

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

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=916857&r1=916856&r2=916857&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 Fri Feb 26 23:19:53 2010
@@ -27,6 +27,7 @@
 
 import java.io.OutputStream;
 import java.util.Collection;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -324,7 +325,7 @@
      * @throws ClientException If the copy operation fails.
      * @since 1.7
      */
-    void copy(CopySource[] sources, String destPath, String message,
+    void copy(List<CopySource> sources, String destPath, String message,
               boolean copyAsChild, boolean makeParents,
               boolean ignoreExternals, Map<String, String> revpropTable)
             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=916857&r1=916856&r2=916857&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 Fri Feb 26 23:19:53 2010
@@ -28,6 +28,7 @@
 import java.io.OutputStream;
 
 import java.util.Collection;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -282,10 +283,21 @@
     /**
      * @since 1.7
      */
-    public native void copy(CopySource[] sources, String destPath,
-                            String message, boolean copyAsChild,
-                            boolean makeParents, boolean ignoreExternals,
-                            Map<String, String> revpropTable)
+    public void copy(List<CopySource> sources, String destPath,
+                     String message, boolean copyAsChild,
+                     boolean makeParents, boolean ignoreExternals,
+                     Map<String, String> revpropTable)
+            throws ClientException
+    {
+        this.copy(sources.toArray(new CopySource[sources.size()]),
+                  destPath, message, copyAsChild, makeParents,
+                  ignoreExternals, revpropTable);
+    }
+
+    private native void copy(CopySource[] sources, String destPath,
+                             String message, boolean copyAsChild,
+                             boolean makeParents, boolean ignoreExternals,
+                             Map<String, String> revpropTable)
             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=916857&r1=916856&r2=916857&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 Fri Feb 26 23:19:53 2010
@@ -941,12 +941,13 @@
     {
         try
         {
-            org.apache.subversion.javahl.CopySource[] aCopySources =
-                new org.apache.subversion.javahl.CopySource[sources.length];
+            List<org.apache.subversion.javahl.CopySource> aCopySources =
+                new ArrayList<org.apache.subversion.javahl.CopySource>(
+                                                            sources.length);
 
-            for (int i = 0; i < sources.length; i++)
+            for (CopySource src : sources)
             {
-                aCopySources[i] = sources[i].toApache();
+                aCopySources.add(src.toApache());
             }
 
             aSVNClient.copy(aCopySources, destPath, message, copyAsChild,

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=916857&r1=916856&r2=916857&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 Fri Feb 26 23:19:53 2010
@@ -890,14 +890,13 @@
 
         // Copy files from A/B/E to A/B/F.
         String[] srcPaths = { "alpha", "beta" };
-        CopySource[] sources = new CopySource[srcPaths.length];
-        for (int i = 0; i < srcPaths.length; i++)
+        List<CopySource> sources = new ArrayList<CopySource>(srcPaths.length);
+        for (String fileName : srcPaths)
         {
-            String fileName = srcPaths[i];
-            sources[i] =
+            sources.add(
                 new CopySource(new File(thisTest.getWorkingCopy(),
                                         "A/B/E/" + fileName).getPath(),
-                               firstRevision, pegRevision);
+                               firstRevision, pegRevision));
             wc.addItem("A/B/F/" + fileName,
                        wc.getItemContent("A/B/E/" + fileName));
             wc.setItemWorkingCopyRevision("A/B/F/" + fileName, 2);
@@ -921,9 +920,10 @@
         assertExpectedSuggestion(thisTest.getUrl() + "/A/B/E/alpha", "A/B/F/alpha", thisTest);
 
         // Now test a WC to URL copy
-        CopySource wcSource[] = new CopySource[1];
-        wcSource[0] = new CopySource(new File(thisTest.getWorkingCopy(),
-                                        "A/B").getPath(), Revision.WORKING, Revision.WORKING);
+        List<CopySource> wcSource = new ArrayList<CopySource>(1);
+        wcSource.add(new CopySource(new File(thisTest.getWorkingCopy(),
+                                        "A/B").getPath(), Revision.WORKING,
+                                    Revision.WORKING));
         client.commitMessageHandler(null);
         client.copy(wcSource,
                     thisTest.getUrl() + "/parent/A/B",
@@ -2757,9 +2757,10 @@
         // copy A to branches (r3)
         addExpectedCommitItem(null, thisTest.getUrl(), "branches/A",
                               NodeKind.none, CommitItemStateFlags.Add);
-        client.copy(new CopySource[] { new CopySource(thisTest.getUrl() + "/A",
-                                       Revision.HEAD, Revision.HEAD) },
-                    thisTest.getUrl() + "/branches/A",
+        List<CopySource> srcs = new ArrayList<CopySource>(1);
+        srcs.add(new CopySource(thisTest.getUrl() + "/A", Revision.HEAD,
+                                Revision.HEAD));
+        client.copy(srcs, thisTest.getUrl() + "/branches/A",
                     "create A branch", true, false, false, null);
 
         // update the WC (to r3) so that it has the branches folder