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/03/09 20:31:41 UTC

svn commit: r921075 - in /subversion/trunk/subversion/bindings/javahl: native/org_apache_subversion_javahl_SVNClient.cpp src/org/apache/subversion/javahl/SVNClient.java

Author: hwright
Date: Tue Mar  9 19:31:41 2010
New Revision: 921075

URL: http://svn.apache.org/viewvc?rev=921075&view=rev
Log:
JavaHL: Following up to r921058, allow the JNI code to natively handle *all*
changelist String collections.

[ in subversion/bindings/javahl/ ]
* native/org_apache_subversion_javahl_SVNClient.cpp
  (Java_org_apache_subversion_javahl_SVNClient_status,
   Java_org_apache_subversion_javahl_SVNClient_revert,
   Java_org_apache_subversion_javahl_SVNClient_commit,
   Java_org_apache_subversion_javahl_SVNClient_properties,
   Java_org_apache_subversion_javahl_SVNClient_propertySet,
   Java_org_apache_subversion_javahl_SVNClient_diff__Ljava_lang_String_2Lorg_apache_subversion_javahl_Revision_2Ljava_lang_String_2Lorg_apache_subversion_javahl_Revision_2Ljava_lang_String_2Ljava_lang_String_2ILjava_util_Collection_2ZZZZ,
   Java_org_apache_subversion_javahl_SVNClient_diff__Ljava_lang_String_2Lorg_apache_subversion_javahl_Revision_2Lorg_apache_subversion_javahl_Revision_2Lorg_apache_subversion_javahl_Revision_2Ljava_lang_String_2Ljava_lang_String_2ILjava_util_Collection_2ZZZZ,
   Java_org_apache_subversion_javahl_SVNClient_diffSummarize__Ljava_lang_String_2Lorg_apache_subversion_javahl_Revision_2Ljava_lang_String_2Lorg_apache_subversion_javahl_Revision_2ILjava_util_Collection_2ZLorg_apache_subversion_javahl_callback_DiffSummaryCallback_2,
   Java_org_apache_subversion_javahl_SVNClient_diffSummarize__Ljava_lang_String_2Lorg_apache_subversion_javahl_Revision_2Lorg_apache_subversion_javahl_Revision_2Lorg_apache_subversion_javahl_Revision_2ILjava_util_Collection_2ZLorg_apache_subversion_javahl_callback_DiffSummaryCallback_2,
   Java_org_apache_subversion_javahl_SVNClient_addToChangelist,
   Java_org_apache_subversion_javahl_SVNClient_removeFromChangelists,
   Java_org_apache_subversion_javahl_SVNClient_info2):
    Change the jchangelist arguments to simply jobject from jobjectArray.

* src/org/apache/subversion/javahl/SVNClient.java
  (status, revert, commit, diff, diff, diffSummarize, diffSummarize,
   properties, propertySet, propertyRemove, propertyCreate,
   addToChangelist, removeFromChangelists, info2):
    Make the native methods take the String collectiof of changelists, and,
    in some cases, remove the now-defunct wrapper.

Modified:
    subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
    subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java

Modified: subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp?rev=921075&r1=921074&r2=921075&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp Tue Mar  9 19:31:41 2010
@@ -169,7 +169,7 @@ JNIEXPORT void JNICALL
 Java_org_apache_subversion_javahl_SVNClient_status
 (JNIEnv *env, jobject jthis, jstring jpath, jint jdepth,
  jboolean jonServer, jboolean jgetAll, jboolean jnoIgnore,
- jboolean jignoreExternals, jobjectArray jchangelists,
+ jboolean jignoreExternals, jobject jchangelists,
  jobject jstatusCallback)
 {
   JNIEntry(SVNClient, status);
@@ -471,7 +471,7 @@ Java_org_apache_subversion_javahl_SVNCli
 JNIEXPORT void JNICALL
 Java_org_apache_subversion_javahl_SVNClient_revert
 (JNIEnv *env, jobject jthis, jstring jpath, jint jdepth,
- jobjectArray jchangelists)
+ jobject jchangelists)
 {
   JNIEntry(SVNClient, revert);
   SVNClient *cl = SVNClient::getCppObject(jthis);
@@ -542,7 +542,7 @@ JNIEXPORT jlong JNICALL
 Java_org_apache_subversion_javahl_SVNClient_commit
 (JNIEnv *env, jobject jthis, jobjectArray jtargets, jstring jmessage,
  jint jdepth, jboolean jnoUnlock, jboolean jkeepChangelist,
- jobjectArray jchangelists, jobject jrevpropTable)
+ jobject jchangelists, jobject jrevpropTable)
 {
   JNIEntry(SVNClient, commit);
   SVNClient *cl = SVNClient::getCppObject(jthis);
@@ -952,7 +952,7 @@ Java_org_apache_subversion_javahl_SVNCli
 JNIEXPORT void JNICALL
 Java_org_apache_subversion_javahl_SVNClient_properties
 (JNIEnv *env, jobject jthis, jstring jpath, jobject jrevision,
- jobject jpegRevision, jint jdepth, jobjectArray jchangelists,
+ jobject jpegRevision, jint jdepth, jobject jchangelists,
  jobject jproplistCallback)
 {
   JNIEntry(SVNClient, properties);
@@ -986,8 +986,7 @@ Java_org_apache_subversion_javahl_SVNCli
 JNIEXPORT void JNICALL
 Java_org_apache_subversion_javahl_SVNClient_propertySet
 (JNIEnv *env, jobject jthis, jstring jpath, jstring jname, jstring jvalue,
- jint jdepth, jobjectArray jchangelists, jboolean jforce,
- jobject jrevpropTable)
+ jint jdepth, jobject jchangelists, jboolean jforce, jobject jrevpropTable)
 {
   JNIEntry(SVNClient, propertySet);
   SVNClient *cl = SVNClient::getCppObject(jthis);
@@ -1197,10 +1196,10 @@ JNIEXPORT void JNICALL Java_org_apache_s
 }
 
 JNIEXPORT void JNICALL
-Java_org_apache_subversion_javahl_SVNClient_diff__Ljava_lang_String_2Lorg_apache_subversion_javahl_Revision_2Ljava_lang_String_2Lorg_apache_subversion_javahl_Revision_2Ljava_lang_String_2Ljava_lang_String_2I_3Ljava_lang_String_2ZZZZ
+Java_org_apache_subversion_javahl_SVNClient_diff__Ljava_lang_String_2Lorg_apache_subversion_javahl_Revision_2Ljava_lang_String_2Lorg_apache_subversion_javahl_Revision_2Ljava_lang_String_2Ljava_lang_String_2ILjava_util_Collection_2ZZZZ
 (JNIEnv *env, jobject jthis, jstring jtarget1, jobject jrevision1,
  jstring jtarget2, jobject jrevision2, jstring jrelativeToDir,
- jstring joutfileName, jint jdepth, jobjectArray jchangelists,
+ jstring joutfileName, jint jdepth, jobject jchangelists,
  jboolean jignoreAncestry, jboolean jnoDiffDeleted, jboolean jforce,
  jboolean jcopiesAsAdds)
 {
@@ -1247,10 +1246,10 @@ Java_org_apache_subversion_javahl_SVNCli
 }
 
 JNIEXPORT void JNICALL
-Java_org_apache_subversion_javahl_SVNClient_diff__Ljava_lang_String_2Lorg_apache_subversion_javahl_Revision_2Lorg_apache_subversion_javahl_Revision_2Lorg_apache_subversion_javahl_Revision_2Ljava_lang_String_2Ljava_lang_String_2I_3Ljava_lang_String_2ZZZZ
+Java_org_apache_subversion_javahl_SVNClient_diff__Ljava_lang_String_2Lorg_apache_subversion_javahl_Revision_2Lorg_apache_subversion_javahl_Revision_2Lorg_apache_subversion_javahl_Revision_2Ljava_lang_String_2Ljava_lang_String_2ILjava_util_Collection_2ZZZZ
 (JNIEnv *env, jobject jthis, jstring jtarget, jobject jpegRevision,
  jobject jstartRevision, jobject jendRevision, jstring jrelativeToDir,
- jstring joutfileName, jint jdepth, jobjectArray jchangelists,
+ jstring joutfileName, jint jdepth, jobject jchangelists,
  jboolean jignoreAncestry, jboolean jnoDiffDeleted, jboolean jforce,
  jboolean jcopiesAsAdds)
 {
@@ -1297,9 +1296,9 @@ Java_org_apache_subversion_javahl_SVNCli
 }
 
 JNIEXPORT void JNICALL
-Java_org_apache_subversion_javahl_SVNClient_diffSummarize__Ljava_lang_String_2Lorg_apache_subversion_javahl_Revision_2Ljava_lang_String_2Lorg_apache_subversion_javahl_Revision_2I_3Ljava_lang_String_2ZLorg_apache_subversion_javahl_callback_DiffSummaryCallback_2
+Java_org_apache_subversion_javahl_SVNClient_diffSummarize__Ljava_lang_String_2Lorg_apache_subversion_javahl_Revision_2Ljava_lang_String_2Lorg_apache_subversion_javahl_Revision_2ILjava_util_Collection_2ZLorg_apache_subversion_javahl_callback_DiffSummaryCallback_2
 (JNIEnv *env, jobject jthis, jstring jtarget1, jobject jrevision1,
- jstring jtarget2, jobject jrevision2, jint jdepth, jobjectArray jchangelists,
+ jstring jtarget2, jobject jrevision2, jint jdepth, jobject jchangelists,
  jboolean jignoreAncestry, jobject jdiffSummaryReceiver)
 {
   JNIEntry(SVNClient, diffSummarize);
@@ -1340,10 +1339,10 @@ Java_org_apache_subversion_javahl_SVNCli
 }
 
 JNIEXPORT void JNICALL
-Java_org_apache_subversion_javahl_SVNClient_diffSummarize__Ljava_lang_String_2Lorg_apache_subversion_javahl_Revision_2Lorg_apache_subversion_javahl_Revision_2Lorg_apache_subversion_javahl_Revision_2I_3Ljava_lang_String_2ZLorg_apache_subversion_javahl_callback_DiffSummaryCallback_2
+Java_org_apache_subversion_javahl_SVNClient_diffSummarize__Ljava_lang_String_2Lorg_apache_subversion_javahl_Revision_2Lorg_apache_subversion_javahl_Revision_2Lorg_apache_subversion_javahl_Revision_2ILjava_util_Collection_2ZLorg_apache_subversion_javahl_callback_DiffSummaryCallback_2
 (JNIEnv *env, jobject jthis, jstring jtarget, jobject jPegRevision,
  jobject jStartRevision, jobject jEndRevision, jint jdepth,
- jobjectArray jchangelists, jboolean jignoreAncestry,
+ jobject jchangelists, jboolean jignoreAncestry,
  jobject jdiffSummaryReceiver)
 {
   JNIEntry(SVNClient, diffSummarize);
@@ -1662,7 +1661,7 @@ Java_org_apache_subversion_javahl_SVNCli
 JNIEXPORT void JNICALL
 Java_org_apache_subversion_javahl_SVNClient_addToChangelist
 (JNIEnv *env, jobject jthis, jobjectArray jtargets, jstring jchangelist,
- jint jdepth, jobjectArray jchangelists)
+ jint jdepth, jobject jchangelists)
 {
   JNIEntry(SVNClient, addToChangelist);
   SVNClient *cl = SVNClient::getCppObject(jthis);
@@ -1690,7 +1689,7 @@ Java_org_apache_subversion_javahl_SVNCli
 JNIEXPORT void JNICALL
 Java_org_apache_subversion_javahl_SVNClient_removeFromChangelists
 (JNIEnv *env, jobject jthis, jobjectArray jtargets, jint jdepth,
- jobjectArray jchangelists)
+ jobject jchangelists)
 {
   JNIEntry(SVNClient, removeFromChangelist);
   SVNClient *cl = SVNClient::getCppObject(jthis);
@@ -1781,7 +1780,7 @@ Java_org_apache_subversion_javahl_SVNCli
 JNIEXPORT void JNICALL
 Java_org_apache_subversion_javahl_SVNClient_info2
 (JNIEnv *env, jobject jthis, jstring jpath, jobject jrevision,
- jobject jpegRevision, jint jdepth, jobjectArray jchangelists,
+ jobject jpegRevision, jint jdepth, jobject jchangelists,
  jobject jinfoCallback)
 {
   JNIEntry(SVNClient, info2);

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=921075&r1=921074&r2=921075&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 Tue Mar  9 19:31:41 2010
@@ -121,21 +121,11 @@ public class SVNClient implements ISVNCl
     /**
      * @since 1.5
      */
-    public void status(String path, int depth, boolean onServer, boolean getAll,
-                       boolean noIgnore, boolean ignoreExternals,
-                       Collection<String> changelists, StatusCallback callback)
-            throws ClientException
-    {
-        this.status(path, depth, onServer, getAll, noIgnore, ignoreExternals,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    callback);
-    }
-
-    private native void status(String path, int depth, boolean onServer,
-                               boolean getAll, boolean noIgnore,
-                               boolean ignoreExternals, String[] changelists,
-                               StatusCallback callback)
+    public native void status(String path, int depth, boolean onServer,
+                              boolean getAll, boolean noIgnore,
+                              boolean ignoreExternals,
+                              Collection<String> changelists,
+                              StatusCallback callback)
             throws ClientException;
 
     /**
@@ -249,15 +239,8 @@ public class SVNClient implements ISVNCl
     /**
      * @since 1.5
      */
-    public void revert(String path, int depth, Collection<String> changelists)
-            throws ClientException
-    {
-        this.revert(path, depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]));
-    }
-
-    private native void revert(String path, int depth, String[] changelists)
+    public native void revert(String path, int depth,
+                              Collection<String> changelists)
             throws ClientException;
 
     /**
@@ -297,14 +280,12 @@ public class SVNClient implements ISVNCl
     {
         return this.commit(paths.toArray(new String[paths.size()]),
                     message, depth, noUnlock, keepChangelist,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    revpropTable);
+                    changelists, revpropTable);
     }
 
     private native long commit(String[] paths, String message, int depth,
                                boolean noUnlock, boolean keepChangelist,
-                               String[] changelists,
+                               Collection<String> changelists,
                                Map<String, String> revpropTable)
             throws ClientException;
 
@@ -487,144 +468,62 @@ public class SVNClient implements ISVNCl
     /**
      * @since 1.7
      */
-    public void diff(String target1, Revision revision1, String target2,
-                     Revision revision2, String relativeToDir,
-                     String outFileName, int depth,
-                     Collection<String> changelists, boolean ignoreAncestry,
-                     boolean noDiffDeleted, boolean force,
-                     boolean copiesAsAdds)
-            throws ClientException
-    {
-        this.diff(target1, revision1, target2, revision2, relativeToDir,
-                    outFileName, depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    ignoreAncestry, noDiffDeleted, force, copiesAsAdds);
-
-    }
-
-    private native void diff(String target1, Revision revision1, String target2,
-                             Revision revision2, String relativeToDir,
-                             String outFileName, int depth,
-                             String[] changelists, boolean ignoreAncestry,
-                             boolean noDiffDeleted, boolean force,
-                             boolean copiesAsAdds)
+    public native void diff(String target1, Revision revision1, String target2,
+                            Revision revision2, String relativeToDir,
+                            String outFileName, int depth,
+                            Collection<String> changelists,
+                            boolean ignoreAncestry, boolean noDiffDeleted,
+                            boolean force, boolean copiesAsAdds)
             throws ClientException;
 
     /**
      * @since 1.7
      */
-    public void diff(String target, Revision pegRevision,
-                     Revision startRevision, Revision endRevision,
-                     String relativeToDir, String outFileName,
-                     int depth, Collection<String> changelists,
-                     boolean ignoreAncestry, boolean noDiffDeleted,
-                     boolean force, boolean copiesAsAdds)
-            throws ClientException
-    {
-        this.diff(target, pegRevision, startRevision, endRevision,
-                    relativeToDir, outFileName, depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    ignoreAncestry, noDiffDeleted, force, copiesAsAdds);
-    }
-
-    private native void diff(String target, Revision pegRevision,
-                             Revision startRevision, Revision endRevision,
-                             String relativeToDir, String outFileName,
-                             int depth, String[] changelists,
-                             boolean ignoreAncestry, boolean noDiffDeleted,
-                             boolean force, boolean copiesAsAdds)
+    public native void diff(String target, Revision pegRevision,
+                            Revision startRevision, Revision endRevision,
+                            String relativeToDir, String outFileName,
+                            int depth, Collection<String> changelists,
+                            boolean ignoreAncestry, boolean noDiffDeleted,
+                            boolean force, boolean copiesAsAdds)
             throws ClientException;
 
     /**
      * @since 1.5
      */
-    public void diffSummarize(String target1, Revision revision1,
-                              String target2, Revision revision2,
-                              int depth, Collection<String> changelists,
-                              boolean ignoreAncestry,
-                              DiffSummaryCallback receiver)
-            throws ClientException
-    {
-        this.diffSummarize(target1, revision1, target2, revision2, depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    ignoreAncestry, receiver);
-    }
-
-    private native void diffSummarize(String target1, Revision revision1,
-                                      String target2, Revision revision2,
-                                      int depth, String[] changelists,
-                                      boolean ignoreAncestry,
-                                      DiffSummaryCallback receiver)
+    public native void diffSummarize(String target1, Revision revision1,
+                                     String target2, Revision revision2,
+                                     int depth, Collection<String> changelists,
+                                     boolean ignoreAncestry,
+                                     DiffSummaryCallback receiver)
             throws ClientException;
 
     /**
      * @since 1.5
      */
-    public void diffSummarize(String target, Revision pegRevision,
-                              Revision startRevision,
-                              Revision endRevision,
-                              int depth, Collection<String> changelists,
-                              boolean ignoreAncestry,
-                              DiffSummaryCallback receiver)
-            throws ClientException
-    {
-        this.diffSummarize(target, pegRevision, startRevision, endRevision,
-                    depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    ignoreAncestry, receiver);
-    }
-
-    private native void diffSummarize(String target, Revision pegRevision,
-                                      Revision startRevision,
-                                      Revision endRevision,
-                                      int depth, String[] changelists,
-                                      boolean ignoreAncestry,
-                                      DiffSummaryCallback receiver)
+    public native void diffSummarize(String target, Revision pegRevision,
+                                     Revision startRevision,
+                                     Revision endRevision, int depth,
+                                     Collection<String> changelists,
+                                     boolean ignoreAncestry,
+                                     DiffSummaryCallback receiver)
             throws ClientException;
 
     /**
      * @since 1.5
      */
-    public void properties(String path, Revision revision,
-                           Revision pegRevision, int depth,
-                           Collection<String> changelists,
-                           ProplistCallback callback)
-            throws ClientException
-    {
-        this.properties(path, revision, pegRevision, depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    callback);
-    }
-
-    private native void properties(String path, Revision revision,
-                                   Revision pegRevision, int depth,
-                                   String[] changelists,
-                                   ProplistCallback callback)
+    public native void properties(String path, Revision revision,
+                                  Revision pegRevision, int depth,
+                                  Collection<String> changelists,
+                                  ProplistCallback callback)
             throws ClientException;
 
     /**
      * @since 1.5
      */
-    public void propertySet(String path, String name, String value,
-                            int depth, Collection<String> changelists,
-                            boolean force, Map<String, String> revpropTable)
-            throws ClientException
-    {
-        this.propertySet(path, name, value, depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    force, revpropTable);
-    }
-
-    private native void propertySet(String path, String name, String value,
-                                    int depth, String[] changelists,
-                                    boolean force,
-                                    Map<String, String> revpropTable)
+    public native void propertySet(String path, String name, String value,
+                                   int depth, Collection<String> changelists,
+                                   boolean force,
+                                   Map<String, String> revpropTable)
             throws ClientException;
 
     /**
@@ -634,10 +533,7 @@ public class SVNClient implements ISVNCl
                                Collection<String> changelists)
             throws ClientException
     {
-        propertySet(path, name, null, depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    false, null);
+        propertySet(path, name, null, depth, changelists, false, null);
     }
 
     /**
@@ -648,10 +544,7 @@ public class SVNClient implements ISVNCl
                                boolean force)
             throws ClientException
     {
-        propertySet(path, name, value, depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    force, null);
+        propertySet(path, name, value, depth, changelists, force, null);
     }
 
     /**
@@ -747,13 +640,12 @@ public class SVNClient implements ISVNCl
             throws ClientException
     {
         this.addToChangelist(paths.toArray(new String[paths.size()]),
-                    changelist, depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]));
+                             changelist, depth, changelists);
     }
 
     private native void addToChangelist(String[] paths, String changelist,
-                                        int depth, String[] changelists)
+                                        int depth,
+                                        Collection<String> changelists)
             throws ClientException;
 
     /**
@@ -764,13 +656,11 @@ public class SVNClient implements ISVNCl
             throws ClientException
     {
         this.removeFromChangelists(paths.toArray(new String[paths.size()]),
-                    depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]));
+                                   depth, changelists);
     }
 
     private native void removeFromChangelists(String[] paths, int depth,
-                                              String[] changelists)
+                                              Collection<String> changelists)
             throws ClientException;
 
     /**
@@ -865,19 +755,9 @@ public class SVNClient implements ISVNCl
     /**
      * @since 1.5
      */
-    public void info2(String pathOrUrl, Revision revision,
-                      Revision pegRevision, int depth,
-                      Collection<String> changelists, InfoCallback callback)
-            throws ClientException
-    {
-        this.info2(pathOrUrl, revision, pegRevision, depth,
-                   changelists == null ? null :
-                     changelists.toArray(new String[changelists.size()]),
-                   callback);
-    }
-
-    private native void info2(String pathOrUrl, Revision revision,
-                              Revision pegRevision, int depth,
-                              String[] changelists, InfoCallback callback)
+    public native void info2(String pathOrUrl, Revision revision,
+                             Revision pegRevision, int depth,
+                             Collection<String> changelists,
+                             InfoCallback callback)
             throws ClientException;
 }